--- name: fusion description: >- Answer a hard question by fanning it out to a PANEL of models running in parallel — each answering independently, none seeing the others' work — then having the judge model evaluate every response into a structured analysis (consensus, contradictions, partial coverage, unique insights, blind spots) and write a final answer grounded in it. Panel options: opus4.8-4.8 — two independent Opus 4.8 runs (no external CLI needed) opus4.8-gpt5.5 — Opus 4.8 + GPT-5.5 via codex CLI opus4.8-gpt5.5-gemini — Opus 4.8 + GPT-5.5 + Gemini 3.1 Pro sonnet-haiku-opus — Sonnet 4.6 drafts, Haiku checks, Opus fuses openrouter-fusion — single call to OpenRouter Fusion API free-gemini-mistral — fi-gemini + fi-mistral via proxy (free) free-gemini-deepseek — fi-gemini + fi-cerebras via proxy (free) free-omni — fi-gemini + fi-mistral + fi-openrouter via proxy (free) The judge (Opus 4.8 or panel default) writes the final answer. Free panels use the local proxy at 127.0.0.1:18901. The pipeline cannot be reversed: panelists cannot call back out to spawn the judge. Best for: high-stakes research, architectural decisions, debugging, and any question where being confidently wrong is expensive. --- # Fusion Skill ## Mechanism Fusion turns one prompt into a panel. The question goes to several models **at the same time**, each answering independently — with full tool access and no knowledge of the others. Then the judge reads every answer, extracts the structure of the panel's reasoning (what they agree on, where they conflict, what only one saw, what they all missed), and writes a final answer grounded in that analysis. The core principle is **independence, then synthesis**. Every panelist gets the task verbatim. No assigned "lenses" or personas — the diversity comes naturally from independent execution. ## Procedure ### Step 1: Fan Out Panel Dispatch the task to N panelists in parallel: ``` for each panelist in parallel: spawn sub-agent with clean context panelist receives: task (verbatim) panelist executes: research, tool calls, analysis panelist returns: full answer ``` ### Step 2: Judge Analysis The judge (Opus 4.8) evaluates every panelist answer and produces a structured analysis: ``` Consensus: what all/most panelists agree on Contradictions: where panelists disagree (with resolution or flag) Partial: aspects only some panelists addressed Unique Insights: things only one panelist found Blind Spots: what no panelist addressed ``` ### Step 3: Grounded Final Answer The judge writes the final answer, grounded in the analysis: ``` Synthesis of consensus into a coherent position Resolution of contradictions Incorporation of unique insights Acknowledgment of blind spots Actionable conclusion ``` ## Panel Configurations | Slug | Panelists | Cost Savings vs Fable 5 | |------|-----------|------------------------| | opus4.8-4.8 | 2× Opus 4.8 (~$0.09) | ~40% cheaper | | opus4.8-gpt5.5 | Opus 4.8 + GPT-5.5 (~$0.12) | ~20% cheaper | | sonnet-haiku-opus | Sonnet + Haiku + Opus (~$0.06) | ~60% cheaper | | openrouter-fusion | OpenRouter Fusion compound (~$0.08) | ~50% cheaper | | free-gemini-mistral | fi-gemini + fi-mistral | Free (proxy) | | free-gemini-deepseek | fi-gemini + fi-cerebras | Free (proxy) | | free-omni | fi-gemini + fi-mistral + fi-openrouter | Free (proxy) | ## CLI Usage ```bash # Default panel (free-omni — 3 free models via proxy) node dist/index.js fusion run "Complex research question" # Specific free panel node dist/index.js fusion run "Design review" --panel free-gemini-mistral # OpenRouter Fusion API (requires OPENROUTER_API_KEY) node dist/index.js fusion run "Architecture analysis" --openrouter # List available panels node dist/index.js fusion panels ``` ## Integration with fable-agent This skill integrates with: - **FusionExecutor** (`src/examples/executors/fusion-executor.ts`) — PhaseExecutor-compatible, calls proxy - **ProxyCaller** (`src/core/proxy-caller.ts`) — HTTP client for `http://127.0.0.1:18901/v1/responses` - **OpenRouterFusionExecutor** (`src/examples/executors/openrouter-fusion-executor.ts`) — API-based fusion - **DynamicWorkflows.fusionPanel()** — workflow-level fusion dispatch - **CompoundStack** — fusion as a stakable layer - **Fable5PromptEngine** — tone/citation/refusal rules from leaked Fable 5 prompt ## Failure Modes - Preserve panel order separately from completion order. A concurrency limiter that pushes results as promises resolve can swap panelist positions and confuse the judge; write results into their original index. ## References - [fusion-fable](https://github.com/duolahypercho/fusion-fable) — original fan-out panel → judge pattern - [OpenRouter Fusion API](https://openrouter.ai) — compound model API - [Fable 5 leaked system prompt](https://github.com/elder-plinius/CL4R1T4S) — tone, citation, refusal patterns