council
Multi-perspective deliberation using Agent Teams. Spawn 3-5 teammates with different viewpoints and optionally different models to debate decisions, evaluate specs, or explore trade-offs. Inspired by karpathy/llm-council.
What this skill does
# Council Deliberation Pattern When facing decisions where multiple valid perspectives exist, spawn a deliberation team rather than relying on a single viewpoint. Council is a premium tool — use it rarely, for decisions that warrant deep thought from multiple angles. ## When to Use - Architecture decisions with trade-offs (e.g., WebSockets vs SSE vs polling) - Evaluating a spec or design for completeness - Choosing between implementation approaches - Any "should we X or Y?" decision with non-obvious trade-offs - Post-mortem analysis of what went wrong ## Council Structure | Role | Purpose | Model | |------|---------|-------| | Advocate | Argues for the most promising approach | opus | | Skeptic | Finds flaws, challenges assumptions | opus | | Pragmatist | Focuses on practical constraints (time, complexity, maintenance) | opus | | Domain Expert | Brings specialized knowledge relevant to the topic | opus | | Lead (you) | Frames the question, moderates, synthesizes | opus | 3 perspectives minimum, 5 maximum. Tailor roles to the specific decision. All councilors use opus for maximum depth of reasoning. The council is designed for quality over speed — for fast iteration, talk to a single subagent instead. ## Debate Protocol ### Phase 1 — Framing (lead) - State the question clearly - Provide relevant context (files, constraints, prior decisions) - Assign perspectives and initial positions to teammates ### Phase 2 — Opening Statements (teammates) - Each teammate states their position with evidence - 200-400 words per opening statement ### Phase 3 — Challenge Round (teammates message each other) - Teammates directly challenge each other's positions - Key mechanism: teammates should address specific claims, not general disagreement - Lead monitors for convergence or stalemate - 1-2 rounds of challenges typically sufficient ### Phase 4 — Synthesis (lead) - Summarize points of agreement and disagreement - Identify the strongest arguments from each perspective - Make a recommendation with reasoning - Note dissenting views that have merit ### Phase 5 — Persist (lead, mandatory) Write the synthesis to `history/` so it survives context loss: ```bash # Ensure history/ exists and is gitignored mkdir -p history grep -qx 'history/' .gitignore 2>/dev/null || echo 'history/' >> .gitignore ``` **File:** `history/council-<topic-slug>-<YYYY-MM-DD>.md` **Contents:** The full output format (see below) — question, perspectives, key debates, recommendation, dissenting views, confidence. **Why this is mandatory:** Council deliberations are expensive (3-5 opus subagents). If the session runs out of context or crashes, the recommendation is lost and must be re-run. Writing to `history/` makes recovery trivial — a fresh session reads the file and has the full council output. **Recovery:** If a session finds `history/council-*.md` files, it can read them to recover prior deliberation results without re-running the council. ### Phase 6 — Rotate (lead, recommended) Council deliberations consume ~25-35k tokens of conversation history (subagent prompts + responses). If the session needs to act on the council's recommendation (implementation work), **strongly recommend rotating first**: 1. Run `/rotate` to snapshot the session 2. `/copy` → `/clear` → paste snapshot into new session 3. Read `history/council-<topic>.md` for the full recommendation (~2k tokens vs 25-35k in conversation) This prevents the #1 cause of council-related context overflow: running deliberation AND implementation in the same session. **Exception:** If the council result is small and the follow-up work is trivial, skip the rotate. ## Model & Perspective Strategy Epistemic diversity comes from **different analytical frames**, not different models. All councilors run on opus for maximum reasoning depth. Diversity is achieved through: - Distinct system prompts that enforce different analytical lenses (e.g., advocate vs. skeptic) - Role-specific constraints (e.g., "you must find at least 2 flaws" for the skeptic) - Different information emphasis (same context, different focus areas) Future option: cross-model councils (e.g., Codex, Gemini) via driver plugins could add genuine model diversity. Not yet implemented. ## Output Format ```markdown ## Council Deliberation: [Topic] ### Question [The specific question debated] ### Perspectives - **[Role A]** ([model]): [1-2 sentence position summary] - **[Role B]** ([model]): [1-2 sentence position summary] - **[Role C]** ([model]): [1-2 sentence position summary] ### Key Debates 1. [Debate point] — [who argued what, resolution or ongoing disagreement] 2. [Debate point] — [...] ### Recommendation [Lead's synthesized recommendation with reasoning] ### Dissenting Views [Positions that lost but have merit — record for future reference] ### Confidence [High/Medium/Low] — [why] ``` ## Anti-patterns - Spawning a council for trivial decisions (use a single subagent or decide directly) - All teammates agreeing immediately (reframe perspectives to create genuine tension) - Council as delay tactic (set time/round limits) - Ignoring dissent (always record minority positions) ## Related Skills - **dm-team:lead** — team coordination protocol; spawn councilors as teammates - **dm-work:advice** — single-agent second-opinion brief (cheaper alternative)
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.