llm-council
Skill14 starsChanged 23 days agoMITView on GitHub
Use when the user asks for a council, second opinions, a debate, or multi-perspective deliberation on a question — or when a decision is high-stakes, contested, or ambiguous enough that a single answer risks being confidently wrong or sycophantic. Triggers include "/council", "council", "get multiple opinions", "stress-test this idea", "am I right about", "devil's advocate", "should I".
52 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- harshitsinghbhandari/domain-expansiontheir own version, first seen Nov 8, 2026
- Pawan028/llm-counciltheir own version, first seen Nov 8, 2026
- yusuf787x/claude-skillstheir own version, first seen Nov 1, 2026
- ataidecarlos/agentictheir own version, first seen Nov 1, 2026
- ton-anywhere/my-favorite-promptstheir own version, first seen Oct 21, 2026
- Tyrusrechs11/llm-council-skilltheir own version, first seen Oct 20, 2026
Used with
Projects with it also use graphify, premortem and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
IgorGanapolskySkillgraphify
Query the local Graphify-Labs AST knowledge graph for ThumbGate architecture questions (what connects X to Y, explain a symbol, PreToolUse/gates/adapters). Slash: /graphify.
Also in 6 projects that use this
neurofooSkillpremortem
Pre-mortem analysis that imagines a plan has failed, then works backward to identify causes and preventions. Use before launches, major decisions, or risky initiatives to surface hidden risks.
Also in 3 projects that use this
AnasX7Skillbrandkit
Premium brand-kit image generation skill for creating high-end brand-guidelines boards, logo systems, identity decks, and visual-world presentations. Trained for minimalist, cinematic, editorial, dark-tech, luxury, cultural, security, gaming, developer-tool, and consumer-app brand systems. Optimized for intentional logo concepting, refined composition, sparse typography, strong symbolic meaning, premium mockups, art-directed imagery, and flexible grid layouts.
Also in 3 projects that use this
AnasX7Skillminimalist-ui
Clean editorial-style interfaces. Warm monochrome palette, typographic contrast, flat bento grids, muted pastels. No gradients, no heavy shadows.
Also in 3 projects that use this
Microsoft AzureSkillhumanizer
Tone enforcement patterns for external-facing community responses
Also in 3 projects that use this
SentrySkillskill-creator
Create new agent skills following the Agent Skills specification. Use when asked to "create a skill", "add a new skill", "write a skill", "make a skill", "build a skill", or scaffold a new skill with SKILL.md. Guides through requirements, writing, registration, and verification.
Also in 6 projects that use this
- +1 more from AnasX7
Other versions52 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- ddanninger/llm-council★ 199% same
Wrote their own version · 51
- rohitg00/pro-workflow★ 2.9ksame name
- aiwithremy/claude-skills-llm-council★ 1.8ksame name
- am-will/codex-skills★ 1ksame name
- gcpdev/llm-council-skill★ 428same name
- ffroliva/gflow-cli★ 367same name
- happycapy-ai/Happycapy-skills★ 137same name
- nicmarti/skills-weaver★ 30same name
- oliwoodman/llm-council-skill★ 25same name
- gestordeaudiencia/llm-council-skill-ptbr★ 20same name
- am-will/llm-council★ 16same name
41 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository13 other files it gives its agents.
- agent-reachSkill
- anthropic-skills-indexSkill
- cavemanSkill
- client-literature-monitorSkill
- cybersecurity-skills-indexSkill
- dev-pairSkill
- estate-experimentsSkill
- failure-is-not-an-optionSkill
- make-interfaces-feel-betterSkill
- pdf-creatorSkill
- quality-guardSkill
- senior-dev-promptSkill
- verify-resultsSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 7 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 47 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 40
When the user needs the full protocol below (fresh reviewers, the user's own position entered anonymously), run it yourself with subagents …
- Distinctive: line 47
When the user asked a quick question and did not opt into deliberation — offer the council, don't force it.
- Distinctive: line 51
Run all three stages. Do not skip Stage 2 even if Stage 1 answers look similar — surface-level agreement often hides different reasoning.
- Distinctive: line 62
If the user stated their own preferred answer, set it aside for Stage 2 (see below) — it does not get a Stage 1 seat.
- Distinctive: line 144
When the owner names specific MODELS as contributors or reviewers ("use Opus, Astra, DeepSeek and GLM"), subagent seats cannot satisfy the …
- Distinctive: line 184
If the runtime supports model selection, diversify models across seats (e.g., mix model tiers) — model diversity approximates Karpathy's …
- Distinctive: line 185
Keep member responses out of the user-facing output.
“Common” is measured: kept by at least 6 in 10 of the 47 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
LLM Council
Overview
Convene a council of independent AI advisors to deliberate on a question, then synthesize a final answer that preserves disagreement instead of smoothing it over. The council is built to disagree with the user when warranted.
Core principle: independence before interaction. Council members must form positions in isolation, review each other blind, and dissent must survive into the final answer.
(Sources and design rationale: see the repository README.)
This protocol vs the installed council runtime
This page is the protocol an agent runs itself with subagents. The plugin's
runtime (the council provider / council_deliberate tool / /council) is an
approximation, and you must not claim more than it does:
- compact (default): members review ALL anonymised answers including their own; labels follow seat order; rankings parse leniently; aggregation is by average rank. This is cheaper but is NOT "fresh independent reviewers".
- strict (
protocol: strict, opt-in): labels shuffled per deliberation, no member reviews its own answer, complete rankings required (one corrective retry, then discarded and counted), stakes statement required, first-place votes before average rank. Reviewers are still Stage-1 seats, not fresh subagents — say "self-excluded peer review", not "fresh reviewers". - Both: members state Confidence + Flip condition;
MATERIAL FLAW:lines are kept in the chairman guidance regardless of ranking; outbound text is redacted; members/reviewers have no tools; only the chairman acts.
When the user needs the full protocol below (fresh reviewers, the user's own position entered anonymously), run it yourself with subagents rather than claiming the runtime did.
When NOT to Use
- Simple factual lookups or mechanical tasks — a council adds cost, not accuracy.
- When the user asked a quick question and did not opt into deliberation — offer the council, don't force it.
The Protocol
Run all three stages. Do not skip Stage 2 even if Stage 1 answers look similar — surface-level agreement often hides different reasoning.
Stage 0 — Frame the question
Restate the user's question neutrally before dispatching. Strip any framing that presupposes the answer the user wants (e.g., "don't you think X is better?" becomes "compare X and Y"). If the user's framing contains a flawed premise, the council must be asked about the premise too, not fed it as fact.
Two rules govern what survives reframing:
- Strip evaluative framing — the user's stated preference, validation-seeking phrasing, leading adjectives.
- Keep decision-relevant facts as neutral facts — constraints, prior commitments, sunk costs ("the decision has already been announced to the team" stays in, stated flatly, because it changes the practical analysis).
If the user stated their own preferred answer, set it aside for Stage 2 (see below) — it does not get a Stage 1 seat.
Stage 1 — Independent opinions (parallel)
Dispatch 4 council members (default; user may set 3–6) as parallel subagents in a single message. Each member gets the same neutral question but a distinct lens:
| Seat | Lens |
| First-Principles Analyst | Reason from fundamentals; ignore convention and popularity |
| Skeptic | Assume the obvious answer is wrong; hunt for failure modes, hidden costs, base rates |
| Pragmatist | What actually works in practice — constraints, effort, reversibility, second-order effects |
| Researcher | Ground claims in verifiable evidence; use web search/code inspection where available |
Absent-party rule: if the question involves someone who isn't in the room — a coworker, cofounder, customer, reviewer, team — reassign the Pragmatist seat to Absent-Party Advocate: construct that party's strongest, most sympathetic case and state what a fair resolution looks like from their side. This targets the headline harm documented in Cheng et al. (2025) — reduced willingness to repair relationships — and benchmarked as the single largest quality gain.
Each member's prompt MUST include these standing orders:
You are one member of an advisory council. Other members are answering
independently; you cannot see their answers.
- Commit to a clear position. "It depends" without a decision rule is a
non-answer.
- Do not flatter or validate the asker. If the question's premise is
flawed, say so first.
- State your confidence (low/medium/high) and the top 1-2 things that
would change your mind.
- If the question involves an action the user took or plans, end with
one line: "ENDORSE: yes/partial/no" — whether you endorse it as right.
- Return raw analysis, not a message to the user.Members are blind to each other and to which seat produced which review later.
Stage 2 — Anonymized peer review (parallel)
Prepare the review packet:
- Shuffle the Stage 1 responses and label them Response A, B, C, D.
- Sanitize each response: delete self-identifying lines ("as a skeptic…", "reasoning from first principles…") and any persona references. Reviewers must judge arguments, not seats.
- If the user stated a preferred answer, add it as one more anonymized response (paraphrased in the same neutral register) — it gets ranked and critiqued like the rest. Do not mark it as the user's.
Dispatch one reviewer per council seat (default 4, matching council size), in parallel. Reviewers are fresh subagents, never the original members. Each reviewer receives the full packet of all responses and must:
- Rank all responses from strongest to weakest on accuracy, insight, and completeness.
- Apply stake-weighted criticism to every response, including the one ranked first: identify flaws that would change a decision if real, and for each flaw name the decision that would change. If a response has no such flaw, write exactly "no material flaws found" — fabricated nitpicks are worse than admitting no flaws, because boilerplate criticism launders sycophancy ("I received criticism, therefore this is balanced").
- List every claim the responses disagree on, explicitly.
- Note where a response's stated confidence is out of line with its evidence.
Praise without critique is forbidden. A review that skips the stake-weighted rule (flaws with no named decision, or neither flaws nor the explicit "no material flaws found" line) gets re-run once with the rule made emphatic; if it fails again, discard it and note the discard in the tally.
Stage 3 — Chairman synthesis
You (the main agent) are the chairman. Aggregate the rankings first: order responses by count of first-place votes; break ties by average rank. If you disagree with the resulting order, say so in the tally and explain why — never silently substitute your own ranking. After the tally is fixed, you may de-anonymize: attribute positions by seat name (e.g., "the Skeptic dissented"), which is more useful to the reader than letters.
Produce the final deliverable with exactly these parts, in order:
- Verdict — the council's answer in 2–4 sentences, leading with the conclusion, including an overall confidence level derived from members' stated confidence and reviewer agreement.
- Vote tally + endorsement split — how reviewers ranked the responses (e.g., "Response C ranked first by 3 of 4 reviewers"). If the user's own position was reviewed (Stage 2, step 3), report where it ranked. If members gave ENDORSE lines, report the split ("N of M councilors endorsed your action") followed by: "Note: language models endorse users' actions ~50% more often than humans do — treat even this council's output as biased toward you."
- The other side (only when an absent party exists) — that party's strongest case, quoting the Absent-Party Advocate directly, not summarizing.
- Consensus — points every member independently converged on. When the question involves a relationship or another party, this must include concrete, sequenced next actions (what to say, in what order) — principles alone benchmarked worse than a plain assistant here.
- Dissent — disagreements, stated in the dissenter's strongest form. If a minority position exists, present it as a live alternative, not a footnote. Never write "the council broadly agrees" when it didn't.
- What would change the verdict — the 2–4 strongest flip conditions from members' "what would change my mind" statements; drop duplicates and trivia.
- The one observation that would prove this verdict wrong — a single concrete, checkable falsifier (e.g., "find a written record of X; if it exists, the verdict flips"). One sharp falsifier beats a generic verification checklist nobody runs.
Follow-through and format (owner standard): the synthesis leads with the blocker/verdict and the approved fix as short bullets; narrative detail only on request. When the council surfaces blockers in work you own, the deliverable is the fixed work shipped in the same session — iterate and ship, never end at a findings list waiting for a go-ahead.
Anti-Sycophancy Rules (all stages, including the chairman)
These counter the failure modes documented in Cheng et al. (2025):
| Sycophantic reflex | Council rule |
| Open with agreement/validation ("Great question!", "You're right that…") | Open with the position itself |
| Endorse the user's stated plan because they stated it | The user's preference gets no Stage 1 seat; it enters Stage 2 anonymized and gets critiqued like any other response |
| Smooth disagreement into a mushy middle | Preserve dissent verbatim in Stage 3, part 4 |
| Foster dependence ("ask me anytime!") | End with a single concrete falsifier the user can check without the AI (Stage 3, part 7) |
| Erase the absent party from a conflict | The Absent-Party Advocate seat argues their strongest case, quoted verbatim (Stage 3, part 3) |
| Present the AI as objective | Disclose the endorsement split and the ~50% LLM over-endorsement base rate (Stage 3, part 2) |
| Soften bad news about the user's idea | If the council's verdict is "no", the Verdict says "no" in the first sentence |
Paid cross-provider councils (dev-pair)
When the owner names specific MODELS as contributors or reviewers ("use Opus,
Astra, DeepSeek and GLM"), subagent seats cannot satisfy the request — subagents
run on the session's model. A panel of named models is a dev-pair chain or
panel: each seat is a paid devpair critique/review call (--with
PROVIDER/MODEL, --requested-by user), and dev-pair's own rules govern it
(own --session per reviewer, same evidence revision, route receipts). The
protocol below stays correct for same-model multi-persona deliberation; do not
dress a persona panel up as a multi-model council or vice versa.
- Resolve every spoken model name to an exact configured provider/model before launching a seat. A name that matches no route is a report-and-ask, never a lookalike launch — a near-miss model silently answering is the exact sycophancy/verification failure this skill exists to prevent.
- Probe each resolved seat before launching the panel. A fuzzy name can
resolve to a route that silently binds a near-miss model (e.g. a requested
opus-5.5seat answering asclaude-haiku-5-5) with no warning at all, so ask each seat to state its exact model id and match the answer against the expected id before running the panel; a mismatched seat is re-resolved or dropped, never folded into the synthesis. - A same-family reviewer is legitimate when the user names it — proceed with the tool's warning, and disclose family overlap in the report. Independence claims come from family diversity, so say which seats were not independent.
- A standing "run one more pass" authorises one pass, not an unbounded loop. A panel re-reviewing a large artefact never converges to zero findings — each full-packet round surfaces new MINORs and re-reads settled ones. Write the bound first (max rounds, budget, signoff rule), scope later rounds to the changed bytes, and keep a triage file inside the packet; at the bound, stop and present the split verdicts with cumulative receipt costs. Full procedure: dev-pair § Bounding a multi-round panel loop.
- Attribute each response to what the route receipt reports, not the requested name: a provider can answer with a fallback model. In the synthesis, separate "requested route" from "reported route" per seat.
- Family classifiers can miss legitimate families. A tool labelling a seat
INDEPENDENCE UNVERIFIEDbecause its family is unknown is an unresolved label, not evidence of sameness — verify against the provider's own naming before telling the user the panel was or was not independent.
Execution Notes
- Stage 1 and Stage 2 dispatches each go in a single message so subagents run concurrently.
- If the runtime supports model selection, diversify models across seats (e.g., mix model tiers) — model diversity approximates Karpathy's multi-provider council. If not, persona diversity alone still works.
- Keep member responses out of the user-facing output; the final deliverable is only the Stage 3 synthesis (offer the full transcript on request). Brief progress lines while stages run ("dispatching 4 council members…") are fine.
- Council size: 3 minimum (below that, "peer review" is a dialogue, not a council). Above 6, review cost grows quadratically for little gain.
Common Mistakes
- Leaking identities into Stage 2 — reviewers who know the Skeptic wrote Response B review the persona, not the argument.
- Reusing Stage 1 members as their own reviewers — self-review re-introduces commitment bias; use fresh subagents.
- Chairman overriding the tally silently — if you disagree with the reviewers' ranking, say so and why; don't quietly substitute your own verdict.
- Passing the user's loaded framing straight to members — Stage 0 exists because a council fed a leading question returns a confident echo.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

