Agent Council
한국어 버전 (Korean)
A skill that gathers opinions from multiple AI CLIs (Codex, Gemini, ...) and lets a configurable Chairman synthesize a conclusion.
Inspired by Karpathy's LLM Council
Key Difference from LLM Council
No additional API costs!
Unlike Karpathy's LLM Council which directly calls each LLM's API (incurring costs), Agent Council uses your installed AI CLIs (Claude Code, Codex CLI, Gemini CLI, ...). This is especially useful if you mainly use one host CLI and occasionally consult others via subscriptions.
Skills are much simpler and more reproducible than MCP. We recommend installing via npx and customizing it yourself!
Demo
https://github.com/user-attachments/assets/c550c473-00d2-4def-b7ba-654cc7643e9b
How it Works
Agent Council implements a 3-stage process for gathering AI consensus:
Stage 1: Initial Opinions
All configured AI agents receive your question simultaneously and respond independently.
Stage 2: Response Collection
Responses from each agent are collected and displayed to you in a formatted view.
Stage 3: Chairman Synthesis
Your host agent (Claude Code / Codex CLI / etc.) acts as the Chairman by default (role: auto), synthesizing all opinions into a final recommendation. Optionally, you can configure a Chairman CLI command to run synthesis inside council.sh.
Setup
Option A: Install via npx (Recommended)
npx github:team-attention/agent-council
This copies the skill files to your current project directory.
If you upgrade Agent Council and hit a runtime error like Missing runtime dependency: yaml, re-run the installer command above to refresh your installed skill files.
By default, the installer auto-detects whether to install for Claude Code (.claude/) and/or Codex CLI (.codex/) based on what’s available on your machine and in the repo.
Installed paths:
.claude/skills/agent-council/ (Claude Code)
.codex/skills/agent-council/ (Codex CLI)
Optional (Codex repo skill):
npx github:team-attention/agent-council --target codex
Other targets:
npx github:team-attention/agent-council --target claude
npx github:team-attention/agent-council --target both
The generated council.config.yaml includes only detected member CLIs (e.g. claude, codex, gemini) and avoids adding the host target as a member. This filtering happens only at initial generation; later edits will not auto-remove missing CLIs.
Option B: Install via Claude Code Plugin (Claude Code only)
# Add the marketplace
/plugin marketplace add team-attention/agent-council
# Install the plugin
/plugin install agent-council@team-attention-plugins
Note (Plugin installs): Agent Council requires Node.js, and Claude Code plugins can’t bundle or auto-install Node for you. Install Node separately (e.g. brew install node on macOS).
2. Install Agent CLIs
Install the CLIs listed under council.members in your council.config.yaml (template includes claude, codex, gemini):
# Anthropic Claude Code
# https://claude.ai/code
# OpenAI Codex CLI
# https://github.com/openai/codex
# Google Gemini CLI
# https://github.com/google-gemini/gemini-cli
Verify each member CLI:
command -v claude
command -v codex
command -v gemini
3. Configure Council Members (Optional)
Edit the generated config in your installed skill directory:
.claude/skills/agent-council/council.config.yaml
.codex/skills/agent-council/council.config.yaml
council:
chairman:
role: "auto" # auto|claude|codex|gemini|...
# command: "codex exec" # optional: run Stage 3 inside council.sh
members:
- name: codex
command: "codex exec"
emoji: "🤖"
color: "BLUE"
- name: gemini
command: "gemini"
emoji: "💎"
color: "GREEN"
# Add more agents as needed
# - name: grok
# command: "grok"
# emoji: "🚀"
# color: "MAGENTA"
Usage
Via your host agent (Claude Code / Codex CLI)
Ask your host agent to summon the council:
"Let's hear opinions from other AIs"
"Summon the council"
"Review this from multiple perspectives"
"Ask codex and gemini for their opinions"
Direct Script Execution
JOB_DIR=$(.codex/skills/agent-council/scripts/council.sh start "Your question here")
.codex/skills/agent-council/scripts/council.sh status --text "$JOB_DIR"
.codex/skills/agent-council/scripts/council.sh results "$JOB_DIR"
.codex/skills/agent-council/scripts/council.sh clean "$JOB_DIR"