本文へ移動
cccskills
無料GitHub で公開

fusion

Answer 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 coverage, unique insights, blind spots) and write a final answer grounded in it. The panel is two independent Opus 4.8 runs (slug opus4.8-4.8), Opus 4.8 + GPT-5.5 via codex (opus4.8-gpt5.5), Opus 4.8 + Gemini 3.1 Pro via agy (opus4.8-gemini3.1pro), or all three (opus4.8-gpt5.5-gemini3.1pro). Opus always judges and writes the final answer — the pipeline can't be reversed. Runs on local CLI subscriptions (no metered API), and saves a timestamped provenance .md per run. Use this whenever the user asks to "run it through Fusion", says /fusion, wants a multi-model / panel / ensemble answer, wants a question cross-checked across models, or wants a higher-confidence answer with consensus and blind spots surfaced — even if they don't say "fusion". General-purpose: any topic (research, law, strategy, technical, personal). Best for high-stakes research, design calls, and debugging where being confidently wrong is expensive.

インストール方法を見る

含まれるファイル(11)

  • SKILL.md11.3 KB
  • references/judge_rubric.md6.4 KB
  • references/panel.md2.6 KB
  • scripts/_fusion_lib.sh1.4 KB
  • scripts/_pty_run.py2.1 KB
  • scripts/agy_capture.py4.6 KB
  • scripts/detect_panel.sh1.4 KB
  • scripts/preflight.sh1.6 KB
  • scripts/run_codex.sh3.7 KB
  • scripts/run_gemini.sh6.4 KB
  • scripts/save_run.sh2.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Fusion

Fusion turns one prompt into a panel. The question goes to several models at the same time, each answering independently — with web search and bash, and with no knowledge of the others. Then Opus 4.8 (this very session — the orchestrator) 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 whole mechanism is independence, then synthesis. The diversity that makes a panel beat a single model is harvested, not manufactured: running the same prompt independently yields different reasoning paths, tool calls, and sources. So there are no assigned "lenses" or personas — every panelist gets the user's task verbatim and answers it straight. (See references/panel.md.)

One hard rule: Opus 4.8 always judges and writes the final answer — the pipeline can't be reversed. The panelist models can't call back out to spawn Opus, so Opus is always the driver. The slug reads driver-first for that reason.

Throughout, <skill_dir> is the directory containing this SKILL.md (when installed: ~/.claude/skills/fusion). Write the user's question verbatim to /tmp/fusion_question.txt first — several steps reuse it.

Step 0 — Pick the panel

bash <skill_dir>/scripts/detect_panel.sh

It prints a SLUG= line recommending the richest panel possible on this machine:

SlugPanelRequires
opus4.8-4.8the same prompt run twice as 2 independent Opus 4.8 panelistsnothing — always available
opus4.8-gpt5.5Opus 4.8 + GPT-5.5 in parallelcodex CLI
opus4.8-gemini3.1proOpus 4.8 + Gemini 3.1 Pro in parallelagy CLI
opus4.8-gpt5.5-gemini3.1proOpus 4.8 + GPT-5.5 + Gemini 3.1 Pro in parallelcodex + agy CLIs

If the user named a slug (or used a pinned /fusion-* command), honor it — but if a required CLI is missing, say so, drop that panelist, and fall back to the next-richest panel rather than failing. Otherwise use the detector's recommendation.

Step 1 — Preflight (informational, never a gate)

bash <skill_dir>/scripts/preflight.sh <SLUG> /tmp/fusion_question.txt

Show its output to the user (rough token/call estimate + Codex cap reminder), then proceed. It never blocks. Each panelist is bounded by a per-panelist timeout (FUSION_TIMEOUT, default 300s) baked into the runners; raise it for heavy deep-research questions (FUSION_TIMEOUT=600 bash <skill_dir>/scripts/...).

Step 2 — Fan out, in parallel and blind

Read references/panel.md. Build each panelist's prompt as the user's task verbatim plus the short instruction to research with web + bash and return a complete, self-contained answer as one of several independent experts who won't see the others' work. Do not assign lenses; do not pre-digest the task. (Answer in the user's question language.)

Launch all panelists in a single turn so they run concurrently:

  • Opus 4.8 panelist(s) → the Agent tool, subagent_type: general-purpose (web + bash built in). For opus4.8-4.8, spawn two independent Opus subagents with the same prompt — two cold runs. For every other slug (opus4.8-gpt5.5, opus4.8-gemini3.1pro, opus4.8-gpt5.5-gemini3.1pro) spawn exactly one Opus panelist alongside the external panelist(s). Spawn them in the same message so they run at once. When each returns, write its answer to a temp file for provenance: /tmp/fusion_opusA.md (and /tmp/fusion_opusB.md for the second Opus run).
  • GPT-5.5 panelist (if slug includes it) → write its prompt to a temp file, then run:
    fusion_run_dir="$(mktemp -d "${TMPDIR:-/tmp}/fusion-panel.XXXXXX")"
    bash <skill_dir>/scripts/run_codex.sh "$fusion_run_dir/codex_prompt.md" "$fusion_run_dir/codex_out.md" xhigh
    
    Allocate one unique fusion_run_dir per Fusion invocation and put every prompt/output file for that invocation under it. Never use fixed paths like /tmp/fusion_codex_prompt.txt or /tmp/fusion_codex_out.md; multiple Claude Code sessions can run Fusion concurrently, and fixed names let one run read another run's prompt or answer. The runner copies the current repo/workdir to a throwaway directory, then launches codex exec with full local access against that copy. This preserves the live checkout while letting the GPT-5.5 panelist use the same local tools and keychain-backed credentials as a trusted terminal Codex run. -o makes codex write only its final answer to the out file; read it once it finishes. Exit 124 = timed out (FUSION_TIMEOUT); any other non-zero exit = drop GPT-5.5 and note the panel downgraded.
  • Gemini panelist (if slug includes it) →
    bash <skill_dir>/scripts/run_gemini.sh "$fusion_run_dir/gemini_prompt.md" "$fusion_run_dir/gemini_out.md"
    
    This calls agy under a pseudo-TTY (working around agy bug #76, which emits empty stdout with no TTY) with a transcript-JSONL fallback and a hard anti-empty guard, so it never returns a silently empty answer. Exit 127 = agy not installed; exit 1 = empty after both paths; exit 124 = timed out. On any non-zero exit, drop Gemini and note the panel downgraded.

Keep panelists isolated: never paste one panelist's output into another's prompt. The orchestrator (you) is the judge and must stay separate from the panelists — for opus4.8-4.8, both panelists are spawned subagents, not you, so your synthesis reads all answers fresh.

Graceful degradation. If an external panelist exits non-zero, remove it, record a one-line degradation note (e.g. gemini dropped: agy empty -> opus4.8-gpt5.5), and continue with what's left. Order of fallback: opus4.8-gpt5.5-gemini3.1pro → opus4.8-gpt5.5 → ultimate opus4.8-4.8 (two independent Opus runs, zero external CLI). For opus4.8-gemini3.1pro, dropping Gemini falls back to opus4.8-4.8 (spawn a second independent Opus panelist) so the judge still sees two blind answers. A degraded run still completes; never abort because one CLI failed.

Step 3 — Judge (pick the track that fits the task)

Once every panelist has returned, read references/judge_rubric.md and classify the deliverable first, because code and prose merge completely differently:

  • Artifact task (code, script, config, Minecraft mod/datapack, schema — the user wants a buildable thing) → Track A: run both, then merge. You are integrating two implementations into one working program, not writing a report. Run each candidate with bash first to see what actually works and what breaks in each, decide what to keep based on observed behavior (not on which looks better), graft the parts that worked onto the stronger base, then run the merged result and fix until it passes. The panel's value here is that two independent attempts expose each other's bugs — running both is how you find which one is actually right, so the merge ends up more correct than either input. (If it truly can't be executed here — needs the live game or an unavailable toolchain — fall back to seam-reasoning and mark it unverified.)
  • Research / analysis task (the user wants understanding or a recommendation) → Track B: structured synthesis — the five sections: Consensus, Contradictions, Partial coverage, Unique insights, Blind spots. Don't average or smooth over conflict; independent agreement is your highest-confidence signal, honest disagreement is the most useful thing the panel produces. Write this analysis to /tmp/fusion_analysis.md for the provenance record.

Either way: attribute decisions to each panelist (by model / run), and weight a panelist that actually ran the code or read a primary source over one reasoning from memory. If a panelist failed or was dropped, the judge treats it as absent — never as silent agreement.

Step 4 — Final deliverable

  • Track A (code/artifact): emit the complete, merged artifact — every file, ready to run as-is, not a diff or "take A's X and B's Y." Per judge_rubric.md, you got here by running both candidates and keeping what worked, and you run the merged result and fix it until it passes before presenting. Follow with a tight merge rationale: what each candidate did when run, what you took from each, and what you verified.
  • Track B (research): write the answer grounded in the structured analysis — lead with high-confidence consensus, fold in unique insights, flag what stays uncertain. It must follow from the synthesis, not be one panelist's answer lightly edited. Write it to /tmp/fusion_final.md for the provenance record.

Step 5 — Save provenance

Save the run to an internal provenance file under ~/.claude/fusion-runs/ (raw panelist answers + the analysis + the final answer, timestamped, for auditing):

FUSION_PANEL_NOTE="<degradation note, or empty>" \
FUSION_ESTIMATE="<the preflight one-liner, optional>" \
bash <skill_dir>/scripts/save_run.sh <SLUG> /tmp/fusion_question.txt /tmp/fusion_analysis.md /tmp/fusion_final.md \
  "opus-A=/tmp/fusion_opusA.md" "gpt5.5=$fusion_run_dir/codex_out.md" "gemini=$fusion_run_dir/gemini_out.md"

(save_run.sh substitutes a placeholder for any answer file that is missing or empty, so a degraded panel still produces a complete record.)

Step 6 — Present

Lead with the final deliverable — the merged working artifact (Track A) or the grounded answer (Track B) — then the audit trail beneath it: for code, what each candidate did when run + the merge rationale + what you verified; for research, the five-section analysis. Name the panel slug you ran and which panelists participated. If the panel downgraded because a CLI was missing, say so and how to enable the fuller panel (install the missing CLI).

Cost & latency note

A panel costs roughly N× a single answer in tokens and runs as slow as its slowest panelist. That's the deliberate trade: you spend more to stop being confidently wrong where that's expensive. For quick or low-stakes questions, a single direct answer is the right call — don't reach for Fusion when one model would obviously do.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Produce a high-confidence, CONCISE implementation / architecture / strategy PLAN that follows the OMC plan system end to end. It first runs OMC's real requirements interview (auto-chains the `omc-plan` skill: one question at a time, explore-first, Analyst consult) to produce an initial plan in `.omc/plans/`, then DEEPENS that plan with a 3-round ITERATIVE fusion loop — each round an Opus 4.8 panelist (Agent subagent) and a GPT-5.5 panelist (via codex) critique/improve it IN PARALLEL and BLIND, then Opus 4.8 (the orchestrator) judges and synthesizes one tighter plan that seeds the next round, stopping early on convergence. Writes the final dense plan back to the same `.omc/plans/<slug>.md`, then offers the OMC handoff (`/omc-plan --review` → `/team` or `/ralph`). Use for high-stakes planning, architecture decisions, strategy calls, and hard debugging — especially when the user runs /plan or asks how to approach a non-trivial build. Reuses the `fusion` skill's run_codex.sh + judge rubric. NOT for trivial tasks (single pass is enough).

日本語の概要は準備中です。原文の説明を表示しています。

duolahypercho/fusion-fable4702026年7月20日 更新

duolahypercho のスキルをすべて見る

このスキルの問題を報告する