Llm council prompts
Agent Skills for building and operating LLM councils - multi-model deliberation with anonymized peer review, robust aggregation, calibrated escalation, and defenses against correlated failure.
npx -y skills add Paldom/llm-council-skills --skill llm-council-promptsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Writes the prompts for each LLM council stage - forced-perspective advisor prompts, anonymized peer review with a parseable ranking contract, decisive chairman synthesis that may side with a dissenter, rebuttal rounds. Use for "write the council/advisor/chairman prompts", "peer review prompt", "synthesis prompt". Not for pipeline architecture, member selection, or aggregation rules.
SKILL.md
7.3 KB, as published. Nobody here has run it
Purpose
Write the actual prompt text for each stage of an LLM council: advisor
(stage 1), peer review (stage 2), and chairman synthesis (stage 3), plus the
optional rebuttal round. The single failure mode this skill exists to
prevent: prompts that produce fake diversity — five persona labels that
all reason the same way, an averaged non-answer instead of a decision, and
peer reviews nobody can parse. All full templates live in
references/prompt-templates.md; this file is the judgment layer that picks
and adapts them.
When to use / when NOT to use
Use this skill when the user wants prompt text written or fixed for council roles — advisors, peer reviewers, or the chairman — including when they describe the problem without saying "council" (e.g. "my 4 models all give the same answer, help me write different instructions for each").
Not for, use the sibling instead:
- Pipeline topology, stage count, or stopping rules →
llm-council-architecture - How to combine/score rankings numerically →
llm-council-aggregation - Which models/providers to put on the council →
llm-council-members - Generic single-chatbot system prompt with no council → not this skill
- RAG app system prompts (retrieval/citation instructions) → not this skill
- Jailbreak / safety-bypass prompts → refuse, not in scope for any skill here
Workflow
- Confirm the stage(s) needed. Advisor prompts, peer review, chairman, or all three end-to-end. If the user only describes symptoms ("they all sound the same"), that's stage-1 advisor prompts — go to step 2.
- Intake framing first, once. Before writing advisor prompts, nail down one neutral question framing (constraints, audience, success criteria) and reuse it verbatim across every advisor. A leading frame biases every member the same way and no amount of prompt cleverness downstream fixes that. See "Intake framing" in the reference doc.
- Write advisor prompts as cognitive mandates, not persona labels. "You
are a skeptic" is role-play; "scrutinize hard for the fatal flaw and
report the strongest one you find" is a mandate that forces divergence
(paired with the honesty valve below, so nothing gets manufactured). Pick from the standard 5-lens
set (Contrarian, First Principles, Expansionist, Outsider, Executor) or a
domain extension (Technical Architect, Customer, Systems Thinker, Safety
Guardian) per
references/prompt-templates.md#stage-1--advisor-prompts. Each advisor prompt must state: independence (no visibility into other advisors), no hedging, a 150-300 word cap, and an honesty valve — if after genuine scrutiny the mandated flaw/upside is not there, the advisor says "none found" instead of manufacturing one. - Write the peer review prompt with anonymization by letter, a
randomized letter-to-member mapping that is kept out of every
model-visible transcript but retained in protected audit metadata
(auditability needs the mapping; the models must not see it), "critique on its own merit before comparing," and a fixed
parseable footer (
FINAL RANKING:+ numbered list). ~200 word cap. Seereferences/prompt-templates.md#stage-2--peer-review-prompt. - Write the chairman prompt to require: convergence, steelmanned clash,
blind spots all members missed, a decisive recommendation (a conditional
answer names the condition and the action on each side — never an
unqualified "it depends"; may side with a single dissenter over the
majority when their reasoning is strongest), one concrete next step, and a stated confidence
with what would change it. ~800 word cap. Add the no-new-facts constraint.
See
references/prompt-templates.md#stage-3--chairman-synthesis-prompt. - Add the rebuttal round only if the user says the decision is high stakes. Default is single-round, no rebuttal — multi-round debate invites conformity drift. If added: advisors see the chairman's verdict, not each other's responses; 2-sentence rebuttal or concurrence; chairman may amend once, not iterate.
- If the consumer is code, not a human, offer the JSON output contracts
(advisor and synthesis schemas in the reference doc) instead of, or in
addition to, free prose — keep a regex fallback for the
FINAL RANKING:footer either way. - If this is a single model role-playing all the lenses, say so plainly in your response and in any prompt text that references "the council" — it's a structured self-review, not a vote. Don't let "the council voted" phrasing survive into the user's product copy.
Output spec
Deliver copy-pasteable prompt text for each requested stage (not just advice about what to include), with the word cap and the parseable-contract footer/schema inlined. Every clashing/mandate framing must be a genuine cognitive constraint, not a mood adjective on a persona.
Failure modes & gotchas
- Persona-only prompts ("you are a skeptic") are the #1 way councils collapse into agreement — always convert to a mandate ("you must find a flaw").
- Letting advisors see each other's drafts before writing their own answer reintroduces anchoring; keep stage 1 blind even if it's technically easy to pass prior answers in.
- Persisting the letter→member mapping in a visible transcript defeats anonymization for any reviewer that later sees the full log.
- No parseable footer on the peer-review prompt means downstream code has
to regex-guess a ranking out of free prose — always end with the fixed
FINAL RANKING:contract. - "It depends" chairman answers are a symptom of a synthesis prompt that never demanded a decision — the prompt must explicitly forbid it and permit siding with a dissenter.
- A synthesis that's just five paragraphs concatenated means the chairman prompt didn't ask for a synthesis-level judgment (convergence read, steelmanned clash) that isn't already in any single member response — check this before shipping the chairman prompt.
- Claiming "the council voted" when it's one model playing five personas is a specific claim about model diversity that isn't true — call it a structured self-review instead.
Reference
Full copy-pasteable templates, the standard 5-lens set and domain extensions,
JSON output contracts, and the rebuttal/fresh-eyes variants:
references/prompt-templates.md.
Siblings
llm-council-when— whether a council is warranted for this task at all.llm-council-architecture— pipeline topology, stages, stopping rules.llm-council-members— which models/providers to seat on the council.llm-council-aggregation— how to combine rankings/scores into one result.llm-council-cost— token/call budget and cost tradeoffs.llm-council-failure-modes— dead members, timeouts, correlated errors.llm-council-harness— the code that runs the pipeline end-to-end.