Council of LLMs
/install council-of-llms
Council of LLMs
Overview
A real council spawns 3 parallel subagents, each with a different model and perspective, then synthesizes their outputs into a unified verdict. This is NOT one model roleplaying 3 experts — it's genuinely different models providing independent analysis.
Models
Read from ~/.openclaw/council-config.json:
{
"council_models": [
"ollama/kimi-k2.6:cloud",
"ollama/deepseek-v3.2:cloud",
"ollama/gemma4:31b-cloud"
],
"default_timeout": 900,
"max_tokens": 8192
}
Perspectives
Each model gets a different lens:
| Model | Perspective | Role |
|---|---|---|
| kimi-k2.6 | Strategos | Big-picture strategy, business impact, feasibility |
| deepseek-v4-pro | Analyticos | Data quality, technical correctness, edge cases |
| gemma4:31b | Creativos | Creative alternatives, user experience, novel approaches |
How to Run a Council
Step 1: Prepare the Context
Gather all relevant data BEFORE spawning. Council agents cannot browse the web or access your conversation history. Paste everything they need inline.
Step 2: Spawn 3 Parallel Subagents
sessions_spawn(
runtime: "subagent",
mode: "run",
model: "ollama/kimi-k2.6:cloud",
label: "Council-Strategos",
lightContext: true,
runTimeoutSeconds: 900,
task: "You are Strategos, a strategic analyst. [PASTE CONTEXT HERE]
Analyze from a STRATEGIC perspective:
- Business impact and feasibility
- Market positioning and competitive advantage
- Resource requirements and ROI
- Strategic risks and opportunities
Return your analysis as a structured review with: verdict, conditions, risks, recommendations."
)
sessions_spawn(
runtime: "subagent",
mode: "run",
model: "ollama/deepseek-v4-pro:cloud",
label: "Council-Analyticos",
lightContext: true,
runTimeoutSeconds: 900,
task: "You are Analyticos, a data and logic analyst. [PASTE CONTEXT HERE]
Analyze from an ANALYTICAL perspective:
- Data quality and completeness
- Technical correctness and edge cases
- Statistical validity and sample sizes
- Logical consistency and contradictions
Return your analysis as a structured review with: verdict, conditions, risks, recommendations."
)
sessions_spawn(
runtime: "subagent",
mode: "run",
model: "ollama/gemma4:31b-cloud",
label: "Council-Creativos",
lightContext: true,
runTimeoutSeconds: 900,
task: "You are Creativos, a creative and UX thinker. [PASTE CONTEXT HERE]
Analyze from a CREATIVE perspective:
- User experience and usability
- Novel alternatives and unconventional approaches
- Design and presentation improvements
- What's missing that no one else would think of
Return your analysis as a structured review with: verdict, conditions, risks, recommendations."
)
Step 3: Synthesize
When all 3 return, merge their verdicts:
- Consensus points — where all 3 agree
- Disagreements — where they differ and why
- Blind spots — what none of them caught
- Final verdict — weighted synthesis with conditions
- Action items — concrete next steps
Write the synthesis to council-review-[topic].md.
Critical Rules
- Paste ALL context inline — agents have no conversation history
- Keep task descriptions under 2000 words — longer = context overflow = failure
- Use
lightContext: true— always, to prevent context bloat - Set
runTimeoutSeconds: 900— councils need time - Don't spawn with too much data — if pasting 10k+ words, summarize first
- Wait for ALL 3 to complete — don't synthesize with 2/3 results
- Never re-spawn — if one model times out, note it in the synthesis
Common Failure Modes
| Symptom | Cause | Fix |
|---|---|---|
| All 3 return empty | Gateway overload | Kill zombie subagents, wait, retry |
| One model times out | Slow model + complex task | Increase timeout or simplify task |
| Context overflow (300k+ tokens) | Too much data pasted | Summarize to \x3C2000 words |
| Shallow analysis | Vague task description | Be specific about what to analyze |
| All 3 say the same thing | Not enough perspective differentiation | Make perspective prompts more distinct |
Anti-Patterns
- ❌ Spawning one subagent and asking it to "be 3 experts" — that's roleplay, not a council
- ❌ Pasting 10k+ words of raw data — summarize first
- ❌ Using the same model for all 3 perspectives — defeats the purpose
- ❌ Synthesizing before all 3 complete — wait for everyone
- ❌ Ignoring disagreements — disagreements are the most valuable output
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install council-of-llms - After installation, invoke the skill by name or use
/council-of-llms - Provide required inputs per the skill's parameter spec and get structured output
What is Council of LLMs?
Multi-model deliberation for high-stakes decisions. Don't take one model's word for it. It is an AI Agent Skill for Claude Code / OpenClaw, with 119 downloads so far.
How do I install Council of LLMs?
Run "/install council-of-llms" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Council of LLMs free?
Yes, Council of LLMs is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Council of LLMs support?
Council of LLMs is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Council of LLMs?
It is built and maintained by Wahaj Ahmed (@wahajahmed010); the current version is v1.0.0.