A 5-advisor LLM Council for Claude Code that pressure-tests your decisions from independent angles, peer-reviews itself anonymously, and ships you a chairman's verdict with one concrete next step.
Adapted from Andrej Karpathy's LLM Council methodology, packaged as Claude Code skills.
Single-model answers tend to converge. Ask the same question twice and you get the same kind of reasoning, the same blind spots, the same tasteful hedging. That is fine for lookups. It is bad for decisions with stakes.
The Council fixes that with three structural choices:
- Five advisors with hard-coded, contradictory worldviews. Each one is constrained to lean fully into a single lens — find the fatal flaw, find the bigger play, ignore the framing, ignore the context, ship the smallest version. No "on the other hand." That is the orchestrator's job.
- Strict parallel dispatch. All five advisors run in a single message — never sequentially — so earlier responses cannot bleed into later ones. Independence is methodological, not cosmetic.
- Anonymous peer review. The five responses are randomly relabeled A–E and handed to five fresh reviewers who do not know who said what. They answer one question that matters more than the others: "What did all five responses miss?" That gap-between-perspectives is where most of the value lives. Most council runs surface at least one blind spot that no individual advisor caught.
A chairman synthesizes everything into a verdict — including the option to side with a dissenting advisor when the dissenting reasoning is stronger — and you get a self-contained HTML report plus a full Markdown transcript saved to your workspace.
| Advisor | Lens | Ends with |
|---|---|---|
| The Contrarian | Assumes the idea has a fatal flaw and hunts for it | The question you are avoiding |
| The First Principles Thinker | Ignores the question you asked and figures out whether it is the right question | A redrawn version of the decision |
| The Expansionist | Treats your framing as the floor, hunts for "and" where you assumed "or" | A line that reopens the ceiling |
| The Outsider | Reads with zero context, like a target customer would | The confused-customer question |
| The Executor | Ignores strategy, translates options into weeks-to-ship and weeks-to-signal | One Monday-morning action |
Each advisor is bounded to 150–300 words, no hedging, grounded in your specifics. They are not balanced — they are deliberately one-sided. The synthesis is the chairman's problem, not theirs.
A single /council invocation runs five stages:
- Frame. The orchestrator scans your workspace (CLAUDE.md, memory/, prior transcripts, files you reference) and writes a single neutral prompt that includes the decision, the context, and what is at stake. If the question is genuinely too vague, it asks one clarifying question — never a list.
- Dispatch 5 advisors in parallel. A single message with five Agent tool calls, one per advisor. The Outsider gets only user-facing copy and product names — never the enriched briefing — so the curse-of-knowledge lens stays intact.
- Anonymize, then dispatch 5 peer reviewers in parallel. Responses are randomly relabeled A–E. Five reviewers each answer: which is strongest, which has the biggest blind spot, and what did all five miss?
- Chairman synthesis. One sub-agent receives everything de-anonymized and produces the verdict: where the council agrees, where it clashes, blind spots peer review caught, the recommendation, and the one thing to do first.
- Reports. Two timestamped files land in your workspace — a self-contained HTML report (
council-report-YYYYMMDD-HHMM.html) and a full Markdown transcript (council-transcript-YYYYMMDD-HHMM.md).
Total cost: 11 sub-agent calls on Opus at max effort. Council runs are not cheap — that is by design. They are for decisions where being wrong is more expensive than 11 calls.
Good council questions:
- "Should I launch a $97 workshop or a $497 course?"
- "Which of these three positioning angles is strongest?"
- "I'm thinking of pivoting from X to Y. Am I crazy?"
- "Here's my landing page copy. What's weak?"
- "Should I hire a VA or build the automation first?"
Bad council questions:
- Factual lookups ("what is the capital of France") — one right answer, no perspectives needed
- Pure creation tasks ("write me a tweet") — not a decision
- Pure processing tasks ("summarize this article") — no judgment call
- Trivial "should I" questions with no real tradeoff ("should I use markdown for this README")
If you already know the answer and just want validation, the council will tell you things you do not want to hear. That is the point. Run it anyway.
The skill auto-fires on council this, run the council, war room this, pressure-test this, stress-test this, debate this, and on real decision phrasings like "should I X or Y", "which option", "I'm torn between", "is this the right move" when paired with genuine context and stakes.
Each council* folder is an independent skill. Claude Code discovers user-level skills in ~/.claude/skills/<skill-name>/SKILL.md (or %USERPROFILE%\.claude\skills\ on Windows). All six folders need to live there as direct children — not nested inside a parent repo folder.
git clone https://github.com/evisoft/council.git /tmp/council
mkdir -p ~/.claude/skills
cp -R /tmp/council/council* ~/.claude/skills/
rm -rf /tmp/councilgit clone https://github.com/evisoft/council.git $env:TEMP\council
New-Item -ItemType Directory -Force -Path $env:USERPROFILE\.claude\skills | Out-Null
Copy-Item -Recurse -Force $env:TEMP\council\council* $env:USERPROFILE\.claude\skills\
Remove-Item -Recurse -Force $env:TEMP\councilIf you only want the council inside a single project, place the folders under .claude/skills/ in the project root instead of ~/.claude/skills/.
Restart Claude Code, then in a session:
/council should we ship Friday or wait until next sprint?
The orchestrator discovers the five advisor SKILL.md files via Glob at runtime — no path configuration needed. If it reports it cannot find an advisor, confirm all six folders landed directly under ~/.claude/skills/ (or .claude/skills/ for project-scoped installs).
Once installed, just talk to Claude Code:
/council Should I launch a $97 workshop next month or a $497 course in Q3?
Workshop is faster but I'm worried it cannibalizes the course audience.
Or trigger by phrasing:
council this: I'm torn between hiring a VA at $25/hr or building Zapier
automations. We have 8 hrs/week of repetitive ops work right now.
The orchestrator will scan your workspace, frame the question, run the five-stage council, and drop the report and transcript into your current folder. You will see a one-line summary in chat with links to both files — open the HTML for the readable verdict, keep the transcript for re-councilling later.
- The 5 advisors run in parallel, period. Sequential dispatch defeats the independence the council relies on. The orchestrator enforces a single-message dispatch for both stage 2 (advisors) and stage 3 (peer reviewers).
- The Outsider gets less context than the others. The orchestrator deliberately withholds your enriched workspace briefing from the Outsider and passes only user-facing copy. Without that asymmetry the curse-of-knowledge lens dies.
- Anonymization is randomized per run. A different A–E mapping every council, so reviewers cannot pattern-match "always B is the Contrarian" and start deferring to thinking styles instead of evaluating on merit.
- The chairman is allowed to disagree with the majority. If 4 of 5 advisors agree and 1 dissents with stronger reasoning, the chairman is instructed to side with the dissenter and explain why. Consensus is not the chairman's job; clarity is.
- The advisor sub-skills have
disable-model-invocation: true. They are not callable on their own — a single advisor in isolation has no value, and the router will not auto-trigger them on user messages. They exist only as prompt templates the orchestrator reads from disk.
council/ The orchestrator skill. Auto-triggers on council phrases.
council-contrarian/ Sub-skill: fatal-flaw lens.
council-first-principles/ Sub-skill: reframe lens.
council-expansionist/ Sub-skill: upside lens.
council-outsider/ Sub-skill: zero-context lens.
council-executor/ Sub-skill: time-to-ship lens.
Each folder contains a single SKILL.md with the prompt template and frontmatter for that role.
Adapted from Andrej Karpathy's LLM Council methodology. The packaging as Claude Code skills, the five-advisor cast, the anonymous peer-review protocol, and the chairman-with-dissent rule are this project's contribution.