Structured adversarial debate between AI councillors using Agent Teams to evaluate ideas, plans, or decisions. ALWAYS use when the user says "council", "debate this", "evaluate this idea", "challenge my plan", "stress-test", "devil's advocate", "multiple perspectives", "évaluer cette idée", "débattre", "challenger mon plan", "tester cette décision", or when the user wants rigorous multi-perspective analysis of a proposal, architecture decision, or strategic choice. Each councillor (visionary, critic, pragmatist, innovator, ethicist, domain expert) represents a distinct perspective and they challenge each other through cross-examination and peer exchange, producing a nuanced verdict (PROCEED / PROCEED WITH CONDITIONS / RECONSIDER / DO NOT PROCEED). Do NOT use for divergent brainstorming or idea generation — use workflow-brainstorm instead.
Research backing: MIT studies show multi-perspective AI deliberation improves decision accuracy by 7-45%. The AI Council Framework and Debate-Based Consensus patterns demonstrate that structured disagreement surfaces blind spots that single-perspective analysis misses. </objective>
<prerequisites> For standard mode (Agent Teams): requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in settings.json env. Verify: check `~/.claude/settings.json` for this variable before proceeding.Economy mode (-e): no prerequisites, uses sequential subagents instead of Agent Teams.
</prerequisites>
<quick_start>
Minimal council (3 steps):
1. /council Should we migrate our monolith to microservices?
2. Councillors debate across 2 rounds (default)
3. Receive structured verdict: PROCEED / PROCEED WITH CONDITIONS / RECONSIDER / DO NOT PROCEED
<parameters>
</parameters>
<roles>
For detailed councillor role descriptions, prompts, and protocols, see [references/roles.md](references/roles.md).
</roles>
<workflow>
</workflow>
/council -c 5 -r 3 -s -f security Our plan to store PII in a third-party service
</quick_start>
Flags:
| Flag | Default | Description |
|---|---|---|
-r N | 2 | Number of debate rounds (1-4) |
-c N | 4 | Number of councillors (3-6) |
-s | false | Save transcript to .claude/output/council/ |
-e | false | Economy mode: sequential subagents instead of Agent Teams |
-f X | none | Focus domain: technical, business, UX, security, ethics, custom |
Councillor assignment by -c N:
| Count | Councillors |
|---|---|
| 3 | visionary, critic, pragmatist |
| 4 | + innovator (default) |
| 5 | + ethicist |
| 6 | + domain-expert (requires -f) |
Parse at start:
-r N → set {rounds} (default 2, clamp 1-4)-c N → set {councillor_count} (default 4, clamp 3-6)-s → set {save_mode} = true-e → set {economy_mode} = true-f X → set {focus} = X-c 6 without -f → warn and reduce to 5-e and Agent Teams env var set → note economy override{topic}<state_variables> Capture at start and persist throughout all steps:
{topic} - The idea/plan to evaluate (flags removed){rounds} - Number of debate rounds (1-4, default 2){councillor_count} - Number of councillors (3-6, default 4){save_mode} - true if -s flag passed{economy_mode} - true if -e flag passed{focus} - Domain focus if -f passed (technical/business/UX/security/ethics/custom){councillors} - List of active councillor roles{team_name} - Team name (if Agent Teams mode){output_dir} - Path to output directory (if save_mode){opening_statements} - Collected opening positions from step-02{debate_log} - Accumulated debate exchanges from step-03{position_evolution} - How each councillor's position changed across rounds
</state_variables>Summary:
| Role | Perspective | Agent Type |
|---|---|---|
| Moderator | Neutral orchestrator, synthesizer | Team lead (you) |
| Visionary | Potential, opportunities, best-case scenarios | Plan (read-only) |
| Critic | Flaws, risks, failure modes, worst-case | Plan (read-only) |
| Pragmatist | Feasibility, constraints, execution reality | Plan (read-only) |
| Innovator | Alternatives, creative reframings | Plan (read-only) |
| Ethicist | Human impact, moral implications, stakeholders | Plan (read-only, 5th) |
| Domain Expert | Specialized expertise per -f focus | Plan (read-only, 6th) |
-c N{rounds} rounds-s) and cleanup team<step_files> Each step is a separate file for progressive context loading:
steps/step-01-setup.md - Parse flags, create team, spawn councillorssteps/step-02-opening.md - Independent opening statements (no cross-contamination)steps/step-03-debate.md - Cross-examination rounds + peer exchangesteps/step-04-verdict.md - Synthesis, verdict, cleanup
</step_files><entry_point> <step_0 name="Initialize">
FIRST ACTION - Parse flags:
-r N → set {rounds} (default 2, validate 1-4)-c N → set {councillor_count} (default 4, validate 3-6)-s → set {save_mode} = true-e → set {economy_mode} = true-f X → set {focus} = X{topic}THEN: Load steps/step-01-setup.md to begin council setup.
</step_0>
</entry_point>
<execution_rules>
Plan instead of Agent Teams</execution_rules>
<success_criteria>
{rounds} rounds of cross-examination completed-s flag)</success_criteria>