Moiz-I/council-of-claude

1

stars

1

commits

Python

primary language

Jun 25, 2026

updated

README

council-of-claude

Multi-model structured deliberation. Queries 4 frontier LLMs in parallel with distinct personas, cross-pollinates anonymously, synthesises a recommendation.

Setup

One-command (paste into your AI agent)

Install the council-of-claude skill: clone https://github.com/moiz-i/council-of-claude
to ~/.claude/skills/council-of-claude, run ./scripts/setup.sh, and add my OpenRouter
API key to ~/.council-of-claude/.env, invoke via /council

Manual

git clone https://github.com/moiz-i/council-of-claude
cd council-of-claude
./scripts/setup.sh
export OPENROUTER_API_KEY="sk-or-v1-..."

Usage

python3 scripts/council.py "Should we use Postgres or DynamoDB for our event store?" \
  --context "Event sourcing, 10k events/sec, need ACID" \
  --mode council

Invoke skill via /council.

How it works

  1. Stage 1 — Each model gets a persona and responds independently. No crosstalk.
  2. Stage 2 — Responses are anonymized (Response A/B/C) and shown to all models. Each tags peers: ADOPT / MERGE / DEFEND / CHALLENGE.
  3. Stage 3 — Chairman synthesises a recommendation with confidence score, consensus, dissent, and preserved gems.

Anonymization in Stage 2 prevents brand bias. Convergence tags force genuine engagement instead of polite agreement.

Modes

ModeSeatsUse for
councilReframer, Devil's Advocate, Dreamer, OperatorStrategic decisions
braintrustBuilder, Skeptic, Dreamer, OperatorBuild/ship decisions
researcherMethodologist, Domain Expert, Critical Reviewer, StatisticianResearch questions
generalPragmatist, Skeptic, Strategist, ArchitectGeneral problems

Configuration

export OPENROUTER_API_KEY="sk-or-v1-..."       # required
export COUNCIL_MODELS="anthropic/claude-sonnet-4.6,openai/gpt-5.4,google/gemini-3.1-pro-preview,x-ai/grok-4.20"
export COUNCIL_CHAIRMAN="google/gemini-3.1-pro-preview"
export COUNCIL_CHRONICLE_PATH="~/.council-of-claude/chronicle.md"

Default uses 4 frontier models via OpenRouter. Override with any models OpenRouter supports.

Cost

ComplexityTimeCost
full (frontier)30-60s$0.50-2.00
simple (lightweight)20-40s$0.10-0.50

Chronicle

Every deliberation appends to ~/.council-of-claude/chronicle.md. Architectural decision records that write themselves.

Requirements

  • Python 3.10+
  • OpenRouter API key
  • httpx, python-dotenv (installed by setup.sh)

License

Built by moiz | Version 1.0.0 | 2026-06-25

MIT

Contributors

Moiz-I

1 commits

Moiz-I/council-of-claude

1

stars

1

commits

Python

primary language

Jun 25, 2026

updated

README

council-of-claude

Multi-model structured deliberation. Queries 4 frontier LLMs in parallel with distinct personas, cross-pollinates anonymously, synthesises a recommendation.

Setup

One-command (paste into your AI agent)

Install the council-of-claude skill: clone https://github.com/moiz-i/council-of-claude
to ~/.claude/skills/council-of-claude, run ./scripts/setup.sh, and add my OpenRouter
API key to ~/.council-of-claude/.env, invoke via /council

Manual

git clone https://github.com/moiz-i/council-of-claude
cd council-of-claude
./scripts/setup.sh
export OPENROUTER_API_KEY="sk-or-v1-..."

Usage

python3 scripts/council.py "Should we use Postgres or DynamoDB for our event store?" \
  --context "Event sourcing, 10k events/sec, need ACID" \
  --mode council

Invoke skill via /council.

How it works

  1. Stage 1 — Each model gets a persona and responds independently. No crosstalk.
  2. Stage 2 — Responses are anonymized (Response A/B/C) and shown to all models. Each tags peers: ADOPT / MERGE / DEFEND / CHALLENGE.
  3. Stage 3 — Chairman synthesises a recommendation with confidence score, consensus, dissent, and preserved gems.

Anonymization in Stage 2 prevents brand bias. Convergence tags force genuine engagement instead of polite agreement.

Modes

ModeSeatsUse for
councilReframer, Devil's Advocate, Dreamer, OperatorStrategic decisions
braintrustBuilder, Skeptic, Dreamer, OperatorBuild/ship decisions
researcherMethodologist, Domain Expert, Critical Reviewer, StatisticianResearch questions
generalPragmatist, Skeptic, Strategist, ArchitectGeneral problems

Configuration

export OPENROUTER_API_KEY="sk-or-v1-..."       # required
export COUNCIL_MODELS="anthropic/claude-sonnet-4.6,openai/gpt-5.4,google/gemini-3.1-pro-preview,x-ai/grok-4.20"
export COUNCIL_CHAIRMAN="google/gemini-3.1-pro-preview"
export COUNCIL_CHRONICLE_PATH="~/.council-of-claude/chronicle.md"

Default uses 4 frontier models via OpenRouter. Override with any models OpenRouter supports.

Cost

ComplexityTimeCost
full (frontier)30-60s$0.50-2.00
simple (lightweight)20-40s$0.10-0.50

Chronicle

Every deliberation appends to ~/.council-of-claude/chronicle.md. Architectural decision records that write themselves.

Requirements

  • Python 3.10+
  • OpenRouter API key
  • httpx, python-dotenv (installed by setup.sh)

License

Built by moiz | Version 1.0.0 | 2026-06-25

MIT

Contributors

Moiz-I

1 commits

Languages

Python

90.8%

Shell

9.2%