--- name: council description: "4-perspective decision evaluation for architecture choices. Triggers: council, evaluate decision, pros cons, multi-angle, alternatives." user-invocable: true effort: high argument-hint: "[decision question or proposal to evaluate]" agent: orchestrator context: fork allowed-tools: Read, Grep, Glob, Bash, Agent --- # Decision Council $ARGUMENTS Evaluate a decision from 4 distinct perspectives using parallel sub-agents, then synthesize a weighted recommendation. ## Usage ``` /council [decision question or proposal to evaluate] ``` ## What This Command Does 1. **Parses** the decision question from user input 2. **Gathers** codebase context relevant to the decision 3. **Spawns** 4 parallel sub-agents — each analyzing from a different perspective 4. **Synthesizes** all perspectives into a structured recommendation with decision matrix ## MANDATORY: You MUST use the Agent tool **DO NOT analyze the decision yourself.** Your job is to parse the question, spawn 4 sub-agents in parallel via the `Agent` tool, and synthesize their outputs. If you attempt to provide all perspectives inline, you have failed. ## Process ### 1. Parse the Decision Extract from the user's input: - **The proposal** — what is being considered - **The alternatives** — what the options are (if not stated, infer the implicit alternative: status quo) - **The context** — what project/codebase/situation this applies to If the question is too vague to evaluate, ask ONE clarifying question before proceeding. ### 2. Gather Context Before spawning agents, quickly scan the codebase for relevant context: - Current tech stack, dependencies, patterns in use - Existing code related to the decision area - Configuration, infrastructure, or architectural choices already made Include this context in each sub-agent prompt so perspectives are grounded in reality. ### 3. Spawn 4 Sub-Agents in Parallel (REQUIRED) Call the `Agent` tool **4 times in a single response** — all agents MUST launch in the same message to run in parallel. | Agent | Role | Directive | |-------|------|-----------| | **Advocate** | Case FOR | Present the strongest case FOR the proposal. Find evidence, benefits, success stories. Reference relevant code/patterns in the codebase. Be persuasive but honest. | | **Critic** | Case AGAINST | Present the strongest case AGAINST. Find risks, hidden costs, failure modes, alternatives that might be better. Be thorough but fair. | | **Pragmatist** | Trade-offs | Evaluate practical trade-offs: implementation cost, timeline, team capacity, maintenance burden, migration risk, operational complexity. Ground estimates in the actual codebase size and patterns. | | **User-Proxy** | User impact | Consider end-user and customer impact: UX changes, downtime during migration, performance implications, breaking changes, adoption friction, documentation needs. | Each agent prompt MUST include: 1. The original decision question 2. The codebase context gathered in step 2 3. The specific perspective this agent owns 4. Instruction to search the codebase for supporting evidence 5. Constraint: 200-400 words, concrete evidence over abstract arguments ### 4. Synthesize After all 4 agents complete, combine their outputs into the structured format below. Do NOT simply concatenate — identify agreements, contradictions, and conditional factors across perspectives. ## Output Format ```markdown ## Decision Council: [Question] ### Advocate (FOR) [Summary of arguments for — key benefits and evidence] ### Critic (AGAINST) [Summary of arguments against — key risks and alternatives] ### Pragmatist (TRADE-OFFS) [Practical considerations — cost, timeline, complexity] ### User-Proxy (USER IMPACT) [End-user perspective — UX, performance, breaking changes] ### Synthesis **Recommendation:** [FOR / AGAINST / CONDITIONAL] **Confidence:** [HIGH / MEDIUM / LOW] **Key condition:** [Primary factor that would change the recommendation] **Where perspectives agree:** [Common ground across agents] **Where perspectives conflict:** [Key disagreements and why] ### Decision Matrix | Factor | Weight | FOR score (1-5) | AGAINST score (1-5) | |--------|--------|-----------------|---------------------| | Technical merit | [H/M/L] | [score] | [score] | | Risk | [H/M/L] | [score] | [score] | | Cost | [H/M/L] | [score] | [score] | | Timeline | [H/M/L] | [score] | [score] | | User impact | [H/M/L] | [score] | [score] | | **Weighted total** | | **[total]** | **[total]** | ``` ## Rules - Each sub-agent must search the codebase for relevant evidence — no purely abstract arguments - Sub-agents must be honest within their role — the Advocate should acknowledge weaknesses, the Critic should acknowledge strengths - Keep each perspective to 200-400 words — density over length - The synthesis must add value beyond summarizing — identify the decisive factor - If the decision is clearly one-sided after analysis, say so — don't manufacture false balance ## Anti-Patterns - Don't skip the codebase scan — ungrounded opinions are worthless - Don't let all 4 perspectives say the same thing — enforce distinct angles - Don't give a wishy-washy "it depends" synthesis — commit to a recommendation with conditions - Don't ignore the status quo — "do nothing" is always an alternative ## READ-ONLY This skill evaluates decisions. It does NOT implement changes.