Multi-agent AI deliberation tool. Get multiple perspectives, iterate toward consensus.
Council queries multiple AI agents in parallel, shares their responses with each other, and iterates until they reach consensus (or max rounds). Perfect for:
- Architecture decisions - "Should we use Rust or Go?"
- Code reviews - Get diverse perspectives on a design
- Strategic planning - Explore options with different viewpoints
- Second opinions - Never rely on a single AI's take
Round 1: All agents respond independently (parallel)
↓
Round 2: Each agent sees OTHER agents' responses
"Here's what Gemini said... do you agree?"
All respond in parallel
↓
Round 3: Same pattern, positions refine
↓
Check: Did they converge on the same option?
↓
Output: Consensus reached, or final vote tally
Key insight: each agent sees all others but not their own prior response to avoid echo chambers.
# Clone
git clone https://github.com/yourusername/council.git
cd council
# Make executable
chmod +x council.py
# Add to PATH (optional)
ln -s $(pwd)/council.py ~/.local/bin/council- Python 3.10+
- At least one of these AI CLIs:
gemini- Gemini CLIclaude- Claude Codecodex- Codex CLI
council "What's the best database for a real-time analytics app?"council -d "Should we use Rust or Go for this backend service?"council [options] "Your question"
Options:
-d, --deliberate Enable multi-round deliberation
-r, --rounds N Max deliberation rounds (default: 3)
-a, --agents LIST Comma-separated agents (default: gemini,claude)
-c, --context TEXT Additional context
-l, --list List available agents
-v, --version Show version
# Quick parallel query
council "What's the best way to handle authentication?"
# Full deliberation with 3 rounds
council -d -r 3 "For a CAD app: A) Web Three.js, B) Rust/Tauri, or C) Rust WASM + Web?"
# Specific agents
council -d -a gemini,codex "Review this API design..."
# With context
council -d -c "We have 2 developers, 3 month timeline" "Monolith or microservices?"| Agent | CLI | Strengths |
|---|---|---|
gemini |
gemini |
Research, broad knowledge, up-to-date info |
claude |
claude |
Architecture, reasoning, documentation |
codex |
codex |
Heavy engineering, complex systems |
All deliberations are saved to ~/.council/ as JSON:
{
"timestamp": "2026-01-29T12:30:00",
"question": "Your question",
"agents": ["gemini", "claude"],
"rounds": [...],
"consensus": true,
"consensus_choice": "C"
}Adding a new agent is simple - just add an entry to the AGENTS dict:
AGENTS["myagent"] = {
"name": "My Agent",
"cmd": ["myagent", "--flag"],
"description": "What it's good at",
}MIT
Built for the Clawdbot agentic engineering ecosystem.