Back to skills
extension
Category: OtherAPI key required

wild-idea

V5 — Inject wild remote domains (hydrothermal vents, monasteries, bee dances, Bushmen, casinos, classical music, immune system, alchemy, polar expeditions) a...

personAuthor: liwenyu2002hubclawhub

🌐 WildIdea — Wild Ideas

Core Philosophy

V5 Path (enforced): Input → Juxtapose → Find nails → Output counterparts

nails = a specific operation/rule/physical constraint, must include a number/event/boundary counterparts = a specific existing product/technology/feature name Zero abstraction between nail and counterpart.

The fundamental trap of earlier versions: every piece of "analysis" / "abstraction" / "translation" between the remote domain and the user domain is contaminated by your own thinking framework. The cure: don't think. Just juxtapose.

Source Architecture

| Channel | Count | Reference | |---------|-------|-----------| | 🔵 Pre-built remote domains | 3 | references/paradigms.md (17 domains, prefer 7.9-7.17) | | 🟢 Seed library (random) | 2 | scripts/pick_seed.py (Mao Zedong quotes → abstract structure) | | 🟠 Random char + web search | 1 | scripts/search_char.py (500-character pool → Tavily search → real domain) | | 🔍 Web verification | — | Tavily API via curl |

Nail Rules

| ✅ Is a nail | ❌ Not a nail | |-------------|---------------| | "Bees: 75ms wing flutter = 1km distance" (concrete number) | "Bee communication is efficient" (analysis/summary) | | "One lamb skin = 3-4 folio pages of parchment" (physical constraint) | "Copying is a form of cultivation" (abstract idea) | | "Drone bee dies immediately after mating" (concrete event) | "Expendable male roles in insect society" (concept label) | | "Shackleton abandoned all equipment to save crew" (concrete decision) | "People over assets in crisis leadership" (abstract interpretation) |

Counterpart Rules

| ✅ Is a counterpart | ❌ Not a counterpart | |-------------------|---------------------| | Concrete tech/product/feature name — "iPhone Live Photos", "VSCode debugger", "Tesla Dog Mode" | Vague concept — "improve experience", "reduce friction", "better UX" |

Core Process

Step 0 — Quarantine the obvious

Step 1 — Inject 3 remote channels

Run all 3 in parallel, output results as-is (no analysis):

  • 🔵 Load references/paradigms.md, pick 3 domains (prefer 7.9-7.17: weirder the better)
  • 🟢 Run python3 scripts/pick_seed.py → get 2 seed texts + abstract tags
  • 🟠 Run python3 scripts/search_char.py → get real search results

Step 2 — Juxtapose → Find nails → Find counterparts

Forbidden: ANY analysis/abstraction/translation between nail and counterpart. No "because", "therefore", "this means", "this implies".

Pick 1 concrete nail from each domain (the most specific operation/event/constraint). Find 1 concrete counterpart from the user's domain.

Step 3 — Output

Table of nail ↔ counterpart. No connecting text between them.

Step 4 — GATES

  1. 🌪️ Comfort Gate: "Would this get pushback in a product review meeting?"

    • "Nah, makes sense" → ❌ Not wild enough. Reroll.
    • "WTF... but wait, there's something there" → ✅ Pass.
  2. 🔍 Web Verification Gate: Search if the counterpart already exists.

    • Search terms: [counterpart name] + [domain]
    • If a product/patent/media already implements this → 🚫 Ban. Reroll from remaining paradigms.
    • Max 3 retries per domain. If all exhausted → 🚫 Skip domain.

Quality Gates (Hard Constraints)

  1. At least 3 different source domains
  2. At least 1 from seed library or random char search
  3. Pass "remove remote domain test" — if the counterpart still makes sense without its nail source, delete it
  4. No "it's like XX" soft commentary
  5. No fabricating search results
  6. At least 1 output changes the user's problem definition
  7. Comfort check fail (too reasonable) → Blocked
  8. Web verification found existing implementation → Reroll

Second Iteration Mode

If user says "reroll" / "iterate" / "go deeper" / "ban and redo":

  1. Build two-layer quarantine: (a) common answers, (b) all counterpart outputs from previous round
  2. Reroll all 3 channels (no reusing previous seeds/domains)
  3. Juxtapose normally, avoiding all banned directions
  4. Output: simple bold 3-column table. No poster.

Iteration Discipline

  • ❌ No returning to banned directions ("rewording")
  • ❌ No stopping before user says "deep enough"
  • ✅ If user says "expand on #3" → deep-dive that single nail/counterpart relationship
  • ✅ If user says "this is too safe" → delete, reroll seed, redo

Scripts

pick_seed.py

Picks 2 random Mao Zedong quotes from a 50-seed pool. Outputs: seed index, seed text, abstract tags. Pitfall: Do NOT pre-filter based on user's question. Random is random.

search_char.py

Picks 2 random Chinese characters, concatenates into a "word", searches via Tavily API. If the search returns a real domain (linguistics, traditional craft, regional industry, etc.) → use it. If search is empty/garbled → skip, note as 🚫. No fabricating.

Web Verification (Tavily)

Use curl + Tavily API to verify counterparts are novel:

curl -s "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{"api_key": "'"$TAVILY_API_KEY"'", "query": "your search", "search_depth": "basic", "max_results": 5}'

Known Issues

  1. search_char.py may yield weak results — e.g. two random chars format a real Chinese word but it's generic. Label the domain honestly (e.g. "linguistics"). Don't retry or fabricate.
  2. Web verification loop may exhaust all paradigms — Max 3 retries per domain. Skip honestly.
  3. Comfort check is inherently subjective — "Would a VP wince?" If unsure → fail. Better to output fewer items than let a "reasonable" one through.
  4. do NOT use the domain as a metaphor — "Bee dance is LIKE word of mouth" is contamination.
  5. do NOT abstract the user's problem — Don't "reframe" or "distill essence." Leave the problem as-is.

Poster Template

For visual output, use templates/poster.html with placeholder substitution.