{"slug": "show-hn-llm-council-survival-of-the-fittest-multi-modal-deliberation", "title": "Show HN: LLM Council: survival-of-the-fittest multi-modal deliberation", "summary": "Developer moiz released LLM Council 1.0.0, an open-source tool that queries four frontier LLMs in parallel with distinct personas, anonymizes their responses, and uses a chairman model to synthesize a recommendation with a confidence score. The tool, available on GitHub under the MIT license, supports modes such as council, braintrust, researcher, and general, and costs $0.50–2.00 per full deliberation via OpenRouter.", "body_md": "Multi-model structured deliberation. Queries 4 frontier LLMs in parallel with distinct personas, cross-pollinates anonymously, synthesises a recommendation.\n\n```\nInstall the council-of-claude skill: clone https://github.com/moiz-i/council-of-claude\nto ~/.claude/skills/council-of-claude, run ./scripts/setup.sh, and add my OpenRouter\nAPI key to ~/.council-of-claude/.env, invoke via /council\ngit clone https://github.com/moiz-i/council-of-claude\ncd council-of-claude\n./scripts/setup.sh\nexport OPENROUTER_API_KEY=\"sk-or-v1-...\"\npython3 scripts/council.py \"Should we use Postgres or DynamoDB for our event store?\" \\\n  --context \"Event sourcing, 10k events/sec, need ACID\" \\\n  --mode council\n```\n\nInvoke skill via `/council`.\n\n1. **Stage 1** — Each model gets a persona and responds independently. No crosstalk.\n2. **Stage 2** — Responses are anonymized (Response A/B/C) and shown to all models. Each tags peers: ADOPT / MERGE / DEFEND / CHALLENGE.\n3. **Stage 3** — Chairman synthesises a recommendation with confidence score, consensus, dissent, and preserved gems.\n\nAnonymization in Stage 2 prevents brand bias. Convergence tags force genuine engagement instead of polite agreement.\n\n| Mode | Seats | Use for | \n|---|---|---|\n| `council` | Reframer, Devil's Advocate, Dreamer, Operator | Strategic decisions | \n| `braintrust` | Builder, Skeptic, Dreamer, Operator | Build/ship decisions | \n| `researcher` | Methodologist, Domain Expert, Critical Reviewer, Statistician | Research questions | \n| `general` | Pragmatist, Skeptic, Strategist, Architect | General problems | \n\n```\nexport OPENROUTER_API_KEY=\"sk-or-v1-...\"       # required\nexport COUNCIL_MODELS=\"anthropic/claude-sonnet-4.6,openai/gpt-5.4,google/gemini-3.1-pro-preview,x-ai/grok-4.20\"\nexport COUNCIL_CHAIRMAN=\"google/gemini-3.1-pro-preview\"\nexport COUNCIL_CHRONICLE_PATH=\"~/.council-of-claude/chronicle.md\"\n```\n\nDefault uses 4 frontier models via OpenRouter. Override with any models OpenRouter supports.\n\n| Complexity | Time | Cost | \n|---|---|---|\n| `full` (frontier) | 30-60s | $0.50-2.00 | \n| `simple` (lightweight) | 20-40s | $0.10-0.50 | \n\nEvery deliberation appends to `~/.council-of-claude/chronicle.md`. Architectural decision records that write themselves.\n\n- Python 3.10+\n- OpenRouter API key\n- `httpx` ,`python-dotenv` (installed by setup.sh)\n\n**Built by [moiz](https://github.com/moiz-i)** | Version 1.0.0 | 2026-06-25\n\nMIT", "url": "https://wpnews.pro/news/show-hn-llm-council-survival-of-the-fittest-multi-modal-deliberation", "canonical_source": "https://github.com/Moiz-I/council-of-claude", "published_at": "2026-09-07 16:15:58+00:00", "updated_at": "2026-09-07 16:26:46.483953+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-tools", "ai-agents"], "entities": ["moiz", "LLM Council", "OpenRouter", "GitHub", "Claude", "GPT", "Gemini", "Grok"], "alternates": {"html": "https://wpnews.pro/news/show-hn-llm-council-survival-of-the-fittest-multi-modal-deliberation", "markdown": "https://wpnews.pro/news/show-hn-llm-council-survival-of-the-fittest-multi-modal-deliberation.md", "text": "https://wpnews.pro/news/show-hn-llm-council-survival-of-the-fittest-multi-modal-deliberation.txt", "jsonld": "https://wpnews.pro/news/show-hn-llm-council-survival-of-the-fittest-multi-modal-deliberation.jsonld"}}