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. See
references/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.
1---2name: llm-council-prompts3description: 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.4---56## Purpose78Write the actual prompt text for each stage of an LLM council: advisor9(stage 1), peer review (stage 2), and chairman synthesis (stage 3), plus the10optional rebuttal round. The single failure mode this skill exists to11prevent: prompts that produce **fake diversity** — five persona labels that12all reason the same way, an averaged non-answer instead of a decision, and13peer reviews nobody can parse. All full templates live in14`references/prompt-templates.md`; this file is the judgment layer that picks15and adapts them.1617## When to use / when NOT to use1819Use this skill when the user wants prompt **text** written or fixed for20council roles — advisors, peer reviewers, or the chairman — including when21they describe the problem without saying "council" (e.g. "my 4 models all22give the same answer, help me write different instructions for each").2324Not for, use the sibling instead:25- Pipeline topology, stage count, or stopping rules → `llm-council-architecture`26- How to combine/score rankings numerically → `llm-council-aggregation`27- Which models/providers to put on the council → `llm-council-members`28- Generic single-chatbot system prompt with no council → not this skill29- RAG app system prompts (retrieval/citation instructions) → not this skill30- Jailbreak / safety-bypass prompts → refuse, not in scope for any skill here3132## Workflow33341. **Confirm the stage(s) needed.** Advisor prompts, peer review, chairman,35 or all three end-to-end. If the user only describes symptoms ("they all36 sound the same"), that's stage-1 advisor prompts — go to step 2.372. **Intake framing first, once.** Before writing advisor prompts, nail down38 one neutral question framing (constraints, audience, success criteria) and39 reuse it verbatim across every advisor. A leading frame biases every40 member the same way and no amount of prompt cleverness downstream fixes41 that. See "Intake framing" in the reference doc.423. **Write advisor prompts as cognitive mandates, not persona labels.** "You43 are a skeptic" is role-play; "scrutinize hard for the fatal flaw and44 report the strongest one you find" is a mandate that forces divergence45 (paired with the honesty valve below, so nothing gets manufactured). Pick from the standard 5-lens46 set (Contrarian, First Principles, Expansionist, Outsider, Executor) or a47 domain extension (Technical Architect, Customer, Systems Thinker, Safety48 Guardian) per `references/prompt-templates.md#stage-1--advisor-prompts`.49 Each advisor prompt must state: independence (no visibility into other50 advisors), no hedging, a 150-300 word cap, and an honesty valve — if after51 genuine scrutiny the mandated flaw/upside is not there, the advisor says52 "none found" instead of manufacturing one.534. **Write the peer review prompt** with anonymization by letter, a54 randomized letter-to-member mapping that is kept out of every55 model-visible transcript but retained in protected audit metadata56 (auditability needs the mapping; the models must not see it), "critique on its own merit before comparing," and a fixed57 parseable footer (`FINAL RANKING:` + numbered list). ~200 word cap. See58 `references/prompt-templates.md#stage-2--peer-review-prompt`.595. **Write the chairman prompt** to require: convergence, steelmanned clash,60 blind spots all members missed, a decisive recommendation (a conditional61 answer names the condition and the action on each side — never an62 unqualified "it depends"; may side with a single dissenter over the63 majority when their reasoning is strongest), one concrete next step, and a stated confidence64 with what would change it. ~800 word cap. Add the no-new-facts constraint.65 See `references/prompt-templates.md#stage-3--chairman-synthesis-prompt`.666. **Add the rebuttal round only if the user says the decision is high67 stakes.** Default is single-round, no rebuttal — multi-round debate invites68 conformity drift. If added: advisors see the chairman's verdict, not each69 other's responses; 2-sentence rebuttal or concurrence; chairman may amend70 once, not iterate.717. **If the consumer is code, not a human**, offer the JSON output contracts72 (advisor and synthesis schemas in the reference doc) instead of, or in73 addition to, free prose — keep a regex fallback for the `FINAL RANKING:`74 footer either way.758. **If this is a single model role-playing all the lenses**, say so plainly76 in your response and in any prompt text that references "the council" —77 it's a structured self-review, not a vote. Don't let "the council voted"78 phrasing survive into the user's product copy.7980## Output spec8182Deliver copy-pasteable prompt text for each requested stage (not just advice83about what to include), with the word cap and the parseable-contract84footer/schema inlined. Every clashing/mandate framing must be a genuine85cognitive constraint, not a mood adjective on a persona.8687## Failure modes & gotchas8889- **Persona-only prompts** ("you are a skeptic") are the #1 way councils90 collapse into agreement — always convert to a mandate ("you must find a91 flaw").92- **Letting advisors see each other's drafts** before writing their own93 answer reintroduces anchoring; keep stage 1 blind even if it's technically94 easy to pass prior answers in.95- **Persisting the letter→member mapping** in a visible transcript defeats96 anonymization for any reviewer that later sees the full log.97- **No parseable footer** on the peer-review prompt means downstream code has98 to regex-guess a ranking out of free prose — always end with the fixed99 `FINAL RANKING:` contract.100- **"It depends" chairman answers** are a symptom of a synthesis prompt that101 never demanded a decision — the prompt must explicitly forbid it and permit102 siding with a dissenter.103- **A synthesis that's just five paragraphs concatenated** means the chairman104 prompt didn't ask for a synthesis-level judgment (convergence read,105 steelmanned clash) that isn't already in any single member response — check106 this before shipping the chairman prompt.107- **Claiming "the council voted"** when it's one model playing five personas108 is a specific claim about model diversity that isn't true — call it a109 structured self-review instead.110111## Reference112113Full copy-pasteable templates, the standard 5-lens set and domain extensions,114JSON output contracts, and the rebuttal/fresh-eyes variants:115`references/prompt-templates.md`.116117## Siblings118119- `llm-council-when` — whether a council is warranted for this task at all.120- `llm-council-architecture` — pipeline topology, stages, stopping rules.121- `llm-council-members` — which models/providers to seat on the council.122- `llm-council-aggregation` — how to combine rankings/scores into one result.123- `llm-council-cost` — token/call budget and cost tradeoffs.124- `llm-council-failure-modes` — dead members, timeouts, correlated errors.125- `llm-council-harness` — the code that runs the pipeline end-to-end.