| name | caucus |
| description | Multi-LLM consensus engine. Queries multiple AI models and synthesizes a single answer using strategies like voting, judge synthesis, and multi-round debate. Use when the user wants to query multiple LLMs, compare model outputs, get a consensus answer, or needs a synthesized response from several AI models. |
| allowed-tools | ["Bash(caucus:*)","Bash(cat:*)","Bash(mktemp:*)","Read","Write","Grep","Glob"] |
| user-invocable | true |
| argument-hint | [prompt to send to multiple models] |
| metadata | {"author":"bradleydwyer","version":"1.0.3","status":"experimental"} |
Caucus -- Multi-LLM Consensus Engine
Queries multiple LLM models on a single prompt, then produces one consensus result. Strategies range from simple majority vote to multi-round debate with a judge synthesizing the final answer.
When to Use This Skill
- User wants to ask multiple LLMs the same question
- User wants a consensus or synthesized answer across models
- User wants to compare how different models respond
- User needs higher confidence on a tricky question
- User asks to "debate" or "vote" on something across models
Prerequisites
API keys as env vars: OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, XAI_API_KEY. Only keys for models you want to query are required.
If caucus --help fails, tell the user to install it before proceeding.
Workflow
1. Determine Intent
| User Says | Action |
|---|
| "ask multiple models", "get consensus" | Standard consensus query |
| "compare models", "how do different models answer" | Strategy comparison via compare |
| "debate this", "have models argue about" | Debate strategy (-s debate) |
| specific model names mentioned | Select with -m |
2. Run the Query
Always use -f json for parseable output.
caucus "prompt" -f json
caucus "prompt" -m gpt-5.2,claude-opus-4-6 -f json
caucus "prompt" -s debate -f json
caucus debate "prompt" --rounds 3 --live --format plain
caucus "prompt" --profile deep -f json
caucus "prompt" --auto -f json
caucus compare "prompt" --strategies majority-vote,judge -f json
caucus "prompt" -v -f json
caucus "prompt" -f supreme-court
Strategies: majority-vote, weighted-vote, judge (default), debate, debate-then-vote
Output formats: plain (default), json, supreme-court, detailed
2a. Review Code or Diffs
For adjudicated code/text review (independent reviews → anonymized blind peer
votes → judged verdicts with a provenance receipt):
caucus review --file src/main.rs --format json
caucus review --git-diff
caucus review --staged --profile deep
git diff | caucus review --format json
caucus review --staged --manifest run.json --resume
Receipts are Markdown (default) or JSON (--format), with deterministic run
ids, raw votes/dissent, adjudications, and unanimous/majority/disputed
classifications. --max-requests is a hard cap; --budget-usd is advisory.
2b. Inspect Councils
caucus doctor
caucus profiles
Adapters are labeled stable (claude, codex, ollama, lmstudio) or
experimental (kimi, opencode, gemini, grok, acp). The built-in deep
profile: claude:opus@xhigh, claude:claude-fable-5@xhigh,
codex:default@xhigh, opencode:zai-coding-plan/glm-5.2@xhigh,
kimi:kimi-code/k3@high, grok:grok-4.5@high.
Profile deadline_secs is a whole-run wall-clock limit;
request_timeout_secs bounds each provider request independently. Adapter
timeout_secs can impose a stricter process limit.
3. Present Results
Parse the JSON and present:
- The consensus answer -- lead with this, prominently
- Strategy used and model agreement/divergence
- Individual model positions -- summarize briefly if there was disagreement
- Confidence level -- how strong was the consensus?
For compare runs, present each strategy's result and which produced the strongest consensus.
Use -v to re-run if the user wants full reasoning or individual model responses.
Tips
- Judge is the default for good reason. It synthesizes rather than counting votes -- better for nuanced questions.
- Debate works best for controversial or ambiguous topics where models should challenge each other.
- Majority vote is fastest but loses nuance. Use for factual questions with clear answers.
- Use
compare when unsure which strategy fits.
- Fewer models = faster. Use
-m to pick 2-3 when speed matters.