$npx -y skills add duolahypercho/fusion-fable --skill fusionAnswer a hard question by fanning it out to a PANEL of models running in parallel — each answering independently with web search and bash, none seeing the others' work — then having Opus 4.8 judge every response into a structured analysis (consensus, contradictions, partial cover
| 1 | # Fusion |
| 2 | |
| 3 | Fusion turns one prompt into a panel. The question goes to several models **at the same time**, each |
| 4 | answering independently — with web search and bash, and with no knowledge of the others. Then Opus 4.8 |
| 5 | (this very session — the orchestrator) reads every answer, extracts the structure of the panel's reasoning |
| 6 | (what they agree on, where they conflict, what only one saw, what they all missed), and writes a final |
| 7 | answer grounded in that analysis. |
| 8 | |
| 9 | The whole mechanism is **independence, then synthesis**. The diversity that makes a panel beat a single |
| 10 | model is harvested, not manufactured: running the same prompt independently yields different reasoning |
| 11 | paths, tool calls, and sources. So there are **no assigned "lenses" or personas** — every panelist gets the |
| 12 | user's task **verbatim** and answers it straight. (See `references/panel.md`.) |
| 13 | |
| 14 | **One hard rule: Opus 4.8 always judges and writes the final answer — the pipeline can't be reversed.** The |
| 15 | panelist models can't call back out to spawn Opus, so Opus is always the driver. The slug reads |
| 16 | driver-first for that reason. |
| 17 | |
| 18 | Throughout, `<skill_dir>` is the directory containing this SKILL.md (when installed: |
| 19 | `~/.claude/skills/fusion`). Write the user's question **verbatim** to `/tmp/fusion_question.txt` first — |
| 20 | several steps reuse it. |
| 21 | |
| 22 | ## Step 0 — Pick the panel |
| 23 | |
| 24 | ```bash |
| 25 | bash <skill_dir>/scripts/detect_panel.sh |
| 26 | ``` |
| 27 | |
| 28 | It prints a `SLUG=` line recommending the richest panel possible on this machine: |
| 29 | |
| 30 | | Slug | Panel | Requires | |
| 31 | | --- | --- | --- | |
| 32 | | `opus4.8-4.8` | the same prompt run twice as 2 independent Opus 4.8 panelists | nothing — always available | |
| 33 | | `opus4.8-gpt5.5` | Opus 4.8 + GPT-5.5 in parallel | `codex` CLI | |
| 34 | | `opus4.8-gemini3.1pro` | Opus 4.8 + Gemini 3.1 Pro in parallel | `agy` CLI | |
| 35 | | `opus4.8-gpt5.5-gemini3.1pro` | Opus 4.8 + GPT-5.5 + Gemini 3.1 Pro in parallel | `codex` + `agy` CLIs | |
| 36 | |
| 37 | If the user named a slug (or used a pinned `/fusion-*` command), honor it — but if a required CLI is |
| 38 | missing, say so, drop that panelist, and fall back to the next-richest panel rather than failing. Otherwise |
| 39 | use the detector's recommendation. |
| 40 | |
| 41 | ## Step 1 — Preflight (informational, never a gate) |
| 42 | |
| 43 | ```bash |
| 44 | bash <skill_dir>/scripts/preflight.sh <SLUG> /tmp/fusion_question.txt |
| 45 | ``` |
| 46 | |
| 47 | Show its output to the user (rough token/call estimate + Codex cap reminder), then proceed. It never |
| 48 | blocks. Each panelist is bounded by a per-panelist timeout (`FUSION_TIMEOUT`, default 300s) baked into the |
| 49 | runners; raise it for heavy deep-research questions (`FUSION_TIMEOUT=600 bash <skill_dir>/scripts/...`). |
| 50 | |
| 51 | ## Step 2 — Fan out, in parallel and blind |
| 52 | |
| 53 | Read `references/panel.md`. Build each panelist's prompt as the user's task **verbatim** plus the short |
| 54 | instruction to research with web + bash and return a complete, self-contained answer as one of several |
| 55 | independent experts who won't see the others' work. Do **not** assign lenses; do **not** pre-digest the |
| 56 | task. (Answer in the user's question language.) |
| 57 | |
| 58 | Launch **all panelists in a single turn** so they run concurrently: |
| 59 | |
| 60 | - **Opus 4.8 panelist(s)** → the `Agent` tool, `subagent_type: general-purpose` (web + bash built in). |
| 61 | For `opus4.8-4.8`, spawn **two** independent Opus subagents with the *same* prompt — two cold runs. |
| 62 | For every other slug (`opus4.8-gpt5.5`, `opus4.8-gemini3.1pro`, `opus4.8-gpt5.5-gemini3.1pro`) spawn |
| 63 | **exactly one** Opus panelist alongside the external panelist(s). |
| 64 | Spawn them in the same message so they run at once. When each returns, write its answer to a temp file |
| 65 | for provenance: `/tmp/fusion_opusA.md` (and `/tmp/fusion_opusB.md` for the second Opus run). |
| 66 | - **GPT-5.5 panelist** (if slug includes it) → write its prompt to a temp file, then run: |
| 67 | ```bash |
| 68 | fusion |