brainstorm · git:20260608.deabf34 · 2026-06-08 · sha256 9f564e7a68d00aed
brainstorm git:20260608.deabf34A
Immutable. This exact content is served forever at /api/v1/blob/9f564e7a68d00aed.
--- name: brainstorm description: Send a topic to multiple LLM providers in parallel while Claude Opus performs its own independent research in parallel, then synthesize all findings. Usage /brainstorm [providers] <topic>. External providers default to antigravity,codex. Example /brainstorm antigravity,codex,ollama "review this architecture" user_invocable: true --- # Multi-LLM Brainstorm Consult multiple external LLM providers simultaneously on a topic while Claude Opus performs its own independent research in parallel, then synthesize the findings from all participants. ## Instructions ### Phase 1: Parse arguments - If the first argument looks like a comma-separated provider list (e.g., `antigravity,codex` or `gemini,codex,ollama`), use those as the external providers - If no provider list is given, default to `antigravity,codex` - Valid external providers: `gemini`, `codex`, `ollama`, `antigravity` - `antigravity` requires `agy` installed + logged in; if it's unavailable the coordinator surfaces that and continues with the other providers - Everything after the provider list (or all args if no list) is the topic - Claude Opus is always a participant — it's not in the provider list because it runs inside the coordinator ### Phase 2: Determine and prepare the brainstorm topic - If the user provided a topic directly, use it - If the context is about code changes, gather the relevant diff: - `git status --short` first to see what's modified/added/deleted - `git add -N <new-files>` for untracked files the user wants included - `git diff` + `git diff --cached` combined - **Filter noise**: exclude `:!docs/` `:!apps/docs/` `:!*.md` `:!yarn.lock` `:!*.lock` `:!*.png` from the pathspec — providers don't need to review your ADR/doc additions - **Size-check**: if combined diff > 150KB, ask the user before sending (the providers will take 5–15 min on payloads that large) - If the context is a design/plan, gather the relevant documentation or conversation context - If no topic is clear, ask the user what they'd like to brainstorm about - Create a compact **Context Brief** before launching the coordinator. Keep it tiny for simple topics; add detail when the request is architecture/design/security/concurrency/migration related, spans packages, references external specs, or depends on conversation context external providers cannot see. ```markdown ## Context Brief Intent: - User request: - Brainstorm mode: - Providers: <list the selected providers for this run> Scope: - Changed/referenced files: - Included files/docs: - Excluded files/docs and reason: - Diff bytes: Repository signals: - Relevant package/workspace: - CLAUDE.md files read: - ADRs/docs read: Risk focus: - Security: - Data loss: - Concurrency/state: - API/contract: - Tests/build: Open questions: - Items not verified before dispatch: ``` ### Phase 3: Launch the brainstorm-coordinator agent Launch with: the topic, the selected external providers list, the Context Brief, and any gathered context (diff/files/docs). The coordinator handles: - Phase 3B: its own Claude Opus research (reads actual files, traces code, uses WebFetch/WebSearch on referenced external docs) — runs FIRST so Claude doesn't anchor on external responses - Context Brief update: after Phase 3B, records verified files/docs and unverified assumptions before external dispatch - Phase 3A: external provider dispatch via a single blocking foreground Bash call (ADR-050 dispatch pattern) - Phase 4: synthesis — consensus, unique insights, contradictions across all participants - Verified findings (backed by Claude's file reads) are weighted higher than inferred ones - Failed providers are surfaced inline with their stderr, not silently dropped ### Phase 4: Present the coordinator's synthesis Pass through the coordinator's structured output. If the coordinator returned a partial result (some providers failed), present what landed and explicitly note what's missing — don't paraphrase or hide compromises. ## Important — verification matters Confidence scores are not an oracle. The coordinator's Phase 3B exists specifically because external LLMs can return high-confidence findings that turn out to be factually wrong (a real example from 2026-04-17: Gemini returned 95/100-confidence claims that were contradicted by the actual `.d.ts` file). Claude's "Verified" findings carry more weight than external "Inferred" findings precisely for this reason. If you want a code-review-specific version of this with explicit per-finding source verification, use `/multi-review` instead.