Install
openclaw skills install consiliumYour personal board of AI advisors — the only skill that uses truly different AI models (not one model role-playing). Get better answers to hard questions by...
openclaw skills install consiliumAsk a hard question → 3-5 AI models from different providers analyze it independently → you get a synthesis with consensus, disagreements, action items, and minority opinions.
Unlike other council skills: this uses genuinely different models (Anthropic + OpenAI + Google + others), not one model playing multiple roles. Different training data = different blind spots = better coverage.
Always respond in the same language as the user's question.
/council Should we migrate from monolith to microservices given our 4-person team?/council --profile fast Evaluate the risks of this investment strategy/council How to resolve a complex equity dispute with my co-founder?agents.defaults.models allowlistsessions_spawn, subagents, sessions_history (enabled by default)council-panel.json (saved to workspace root) contains only model names and slot assignments, not queries or responses.On first use, check available models and ask the user to confirm the panel. Save to workspace root as council-panel.json for reuse. User can re-run panel selection anytime with --models.
| Slot | Role | Good candidates |
|---|---|---|
| Deep thinker | Nuance, system thinking | Claude Opus, GPT-5, Gemini Pro |
| Pragmatist | Concise, actionable | Claude Sonnet, GPT-mini, Gemini Flash |
| Broad analyst | Wide knowledge, structure | GPT-5, Gemini Pro, Claude Opus |
| Technical | Rigor, edge cases | Gemini Pro, Claude Sonnet, GLM |
| Contrarian | Challenge assumptions | GLM, any model with contrarian lens |
Rules: Each slot = different model. Prefer different providers. Min 3 models to run. If fewer than 3 available, inform user.
council-panel.json{
"panel": [
{ "slot": "deep_thinker", "model": "anthropic/claude-opus-4-6", "lens": "Deep analysis" },
{ "slot": "pragmatist", "model": "anthropic/claude-sonnet-4-5", "lens": "Pragmatic" },
{ "slot": "broad_analyst", "model": "github-copilot/gpt-5.2", "lens": "Broad knowledge" }
],
"confirmed": "2026-02-24"
}
sessions_spawn, mode=run, timeout 120s). Assign unique lens per slot. Detect question language, hardcode in prompt. Tell user: "Panel dispatched, ~60s. Send a follow-up when ready."subagents list → sessions_history. Synthesize when quorum met.--rounds 2) — anonymized digest → rebuttals. See references/PROTOCOL.md.## Council of Experts
**Question:** ... | **Panel:** ... | **Profile:** ...
---
### Positions
**{Model}** ({lens}) — {2-3 sentence summary}
### ✅ Consensus
### ⚡ Disagreements
### 🗣️ Minority opinions
### 🎯 Synthesis
Agreement: 🟢 strong (4-5) | 🟡 mixed (3) | 🔴 split
### 📋 Action Items
1. **{Highest priority}** — {effort/time estimate}
2. **{Next action}** — {estimate}
3. **{Next action}** — {estimate}
Randomize position order. Quote with attribution. Preserve minority views. Never fabricate consensus. Section headers and content in user's language.
After synthesis, the user can drill deeper with a specific panelist:
Use sessions_history to retrieve that panelist's full response, then expand on the specific point in that model's perspective.
--profile thorough|balanced|fast · --models <list> · --skip <model> · --rounds 2 · --quorum N · --timeout N · --lens "..." · --lenses "a,b,c"
Prompt templates, debate mechanics, error handling → references/PROTOCOL.md