Debate Workflow Skill Purpose
Implement structured multi-perspective debate for important architectural decisions, design trade-offs, and complex problems where multiple valid approaches exist.
When to Use This Skill
USE FOR:
Major architectural decisions (framework selection, system design) Complex trade-offs with no clear winner Controversial changes affecting multiple teams High-impact decisions requiring buy-in When perspectives genuinely conflict
AVOID FOR:
Simple implementation choices Decisions with obvious correct answer Time-sensitive hot fixes Minor refactoring Routine feature additions Configuration Core Parameters
Number of Perspectives:
3 - Default (security, performance, simplicity) 5 - Extended (add: maintainability, user-experience) 7 - Comprehensive (add: scalability, cost)
Debate Rounds:
2 - Quick (position + challenge) 3 - Standard (position + challenge + synthesis) 4-5 - Deep (multiple challenge/response cycles)
Convergence Criteria:
100% - Strong consensus (all perspectives agree) 2/3 - Majority rule (two-thirds agreement) synthesis - Facilitator synthesizes best hybrid evidence - Follow strongest evidence/arguments Standard Perspective Profiles
Security Perspective:
Focus: Vulnerabilities, attack vectors, data protection Questions: "What could go wrong? How do we prevent breaches?" Agent: security agent
Performance Perspective:
Focus: Speed, scalability, resource efficiency Questions: "Will this scale? What are the bottlenecks?" Agent: optimizer agent
Simplicity Perspective:
Focus: Minimal complexity, ruthless simplification Questions: "Is this the simplest solution? Can we remove abstractions?" Agent: cleanup agent + reviewer agent
Maintainability Perspective:
Focus: Long-term evolution, technical debt Questions: "Can future developers understand this? How hard to change?" Agent: reviewer agent + architect agent
User Experience Perspective:
Focus: API design, usability, developer experience Questions: "Is this intuitive? How will users interact with this?" Agent: api-designer agent
Scalability Perspective:
Focus: Growth capacity, distributed systems Questions: "What happens at 10x load? 100x?" Agent: optimizer agent + architect agent
Cost Perspective:
Focus: Resource usage, infrastructure costs, development time Questions: "What's the ROI? Are we over-engineering?" Agent: analyzer agent Execution Process Step 1: Frame the Decision Use ambiguity agent to clarify the decision to be made Use prompt-writer agent to create clear decision prompt Define decision scope and constraints Identify stakeholder concerns List evaluation criteria Document explicit user requirements that constrain options CRITICAL: Frame decision as question, not predetermined answer
Decision Framing Template:
Decision: [Brief Title]
Question
[One-sentence question to be debated]
Context
[Why this decision matters, background information]
Constraints
[Non-negotiable requirements, technical limitations]
Evaluation Criteria
[How we'll judge proposed solutions]
Perspectives to Include
[Which viewpoints are most relevant]
Example:
Decision: Data Storage Strategy for User Analytics
Question
Should we use PostgreSQL with JSONB, MongoDB, or ClickHouse for storing and querying user analytics events?
Context
- 10M events/day expected at launch
- 100M events/day within 2 years
- Complex queries for dashboard analytics
- Real-time and historical reporting needed
Constraints
- Must handle 10M events/day minimum
- Query latency < 200ms for dashboards
- Budget: $5K/month infrastructure
- Team familiar with PostgreSQL, not ClickHouse
Evaluation Criteria
- Performance at scale
- Query flexibility
- Operational complexity
- Cost at scale
- Team learning curve
Perspectives to Include
Performance, Cost, Maintainability, Scalability
Step 2: Initialize Perspectives Select N perspectives relevant to decision Spawn Claude subprocess for each perspective Each subprocess receives decision framing doc Each subprocess assigned perspective profile No context sharing between perspectives yet Each forms initial position independently
Initial Position Requirements:
State recommended approach Provide 3-5 supporting arguments Identify risks of alternative approaches Quantify claims where possible Step 3: Debate Round 1 - Initial Positions Collect initial positions from all perspectives Use analyzer agent to synthesize positions Document each perspective's recommendation Identify areas of agreement Identify areas of conflict Surface assumptions made by each perspective
Round 1 Output Structure:
Security Perspective: [Recommendation]
Arguments For:
- [Argument with evidence]
- [Argument with evidence]
- [Argument with evidence]
Concerns About Alternatives:
- [Alternative A]: [Specific concern]
- [Alternative B]: [Specific concern]
Assumptions:
- [Assumption 1]
- [Assumption 2]
Step 4: Debate Round 2 - Challenge and Respond Share all Round 1 positions with all perspectives Each perspective challenges other perspectives' arguments Each perspective defends their position against challenges Use analyzer agent to track argument strength Identify which arguments withstand scrutiny Document concessions and refinements
Challenge Format:
[Perspective A] challenges [Perspective B]
Challenge: [Question or counter-argument] Evidence: [Supporting data or examples] Request: [What would change your position?]
Response Format:
[Perspective B] responds to [Perspective A]
Response: [Address the challenge] Concession: [Points where you agree or adjust] Counter: [Additional evidence or reasoning]
Step 5: Debate Round 3 - Find Common Ground Identify points of consensus across perspectives Surface remaining disagreements explicitly Explore hybrid approaches combining insights Use architect agent to design synthesis options Validate hybrid approaches against all perspectives Document convergence or divergence
Convergence Analysis:
Areas of Agreement
- [Consensus point 1]
- [Consensus point 2]
Remaining Disagreements
- [Disagreement 1]
- Security says: [position]
- Performance says: [position]
- Potential resolution: [hybrid approach]
Hybrid Approaches Identified
- [Hybrid Option 1]
- Combines: [which perspectives]
- Trade-offs: [explicit costs/benefits]
Step 6: Facilitator Synthesis Use architect agent as neutral facilitator Use analyzer agent to evaluate all arguments Review all debate rounds systematically Identify strongest evidence-based arguments Make recommendation with confidence level Document decision rationale thoroughly Include dissenting views explicitly
Synthesis Structure:
Facilitator Synthesis
Recommendation
[Clear statement of recommended approach]
Confidence Level
[High/Medium/Low] confidence based on:
- Consensus level: [X% of perspectives agree]
- Evidence quality: [Strong/Moderate/Weak]
- Risk level: [Low/Medium/High if wrong]
Rationale
[Explanation of why this recommendation]
Key Arguments That Won
- [Argument that swayed decision]
- [Argument that swayed decision]
- [Argument that swayed decision]
Key Arguments Against (Dissenting Views)
- [Strongest counter-argument]
- [Remaining concern]
Implementation Guidance
[How to execute this decision]
Success Metrics
[How we'll know if this was the right choice]
Revisit Triggers
[Conditions that would require reconsidering this decision]
Step 7: Decision Documentation Create decision record: decisions/YYYY-MM-DD-decision-name.md Document full debate transcript Include all perspective arguments Record synthesis and final decision Store in memory using store_discovery() from amplihack.memory.discoveries Update relevant architecture docs
Decision Record Template:
Decision Record: [Title]
Date: [YYYY-MM-DD] Status: Accepted Decision Makers: [List perspectives included]
Context
[What decision was needed and why]
Decision
[What was decided]
Consequences
[What happens because of this decision]
Alternatives Considered
[What other options were debated]
Debate Summary
[Key arguments from each perspective]
Dissenting Opinions
[Perspectives that disagreed and why]
Review Date
[When to revisit this decision]
Full Debate Transcript
Round 1: Initial Positions
[Complete positions from all perspectives]
Round 2: Challenges and Responses
[All challenge/response exchanges]
Round 3: Convergence Analysis
[Common ground and hybrid approaches]
Facilitator Synthesis
[Complete synthesis document]
Step 8: Implement Decision Use builder agent to implement chosen approach Follow the decided path from synthesis Implement monitoring for success metrics Set up alerts for revisit triggers Document decision in code comments Create runbook if operational complexity added Trade-Offs
Cost: Multiple agent cycles, longer decision time Benefit: Well-reasoned decisions, surface hidden risks Best For: Decisions that are expensive to reverse
Examples Example 1: API Design - REST vs GraphQL
Configuration:
Perspectives: 5 (Simplicity, Performance, User-Experience, Maintainability, Cost) Rounds: 3 Convergence: Synthesis
Debate Summary:
Simplicity: REST is straightforward, well-understood Performance: GraphQL reduces over-fetching, fewer round trips UX: GraphQL gives frontend flexibility, better DX Maintainability: REST easier to version and evolve Cost: GraphQL higher learning curve, more complex infrastructure
Result: REST for initial MVP, GraphQL for v2
Rationale: Team knows REST, faster to ship Migration path: Add GraphQL layer in 6 months Trigger: When frontend requests 3+ endpoints per view Example 2: Testing Strategy - Unit vs Integration Heavy
Configuration:
Perspectives: 3 (Simplicity, Maintainability, Performance) Rounds: 2 Convergence: 2/3 majority
Debate Summary:
Simplicity: Unit tests, mock all dependencies Maintainability: Integration tests, test real interactions Performance: Mix, optimize for feedback speed
Result: 70% unit, 30% integration (Majority agreed)
Rationale: Unit tests faster feedback, integration tests catch real issues Dissent: Simplicity wanted 90% unit tests (overruled by maintainability concerns) Example 3: Deployment Strategy - Kubernetes vs Serverless
Configuration:
Perspectives: 5 (Cost, Simplicity, Scalability, Performance, Maintainability) Rounds: 4 Convergence: Synthesis (no majority)
Debate Summary:
Long, contentious debate with no clear winner Cost and Simplicity favored serverless Scalability and Performance favored Kubernetes Maintainability split (serverless simpler, k8s more control)
Result: Serverless with k8s option researched
Rationale: Start simple, team small, serverless faster Hybrid: Evaluate k8s at 10x scale or complex networking needs Strong dissent documented: Performance perspective believes this will need revisiting soon Philosophy Alignment
This workflow enforces:
Perspective Diversity: Multiple viewpoints surface hidden trade-offs Evidence-Based: Arguments must be supported, not just opinions Transparent Trade-offs: Dissent is documented, not hidden Structured Exploration: Debate format prevents premature convergence Decision Quality: Better decisions through rigorous analysis Learning: Debate transcripts become organizational knowledge Integration with Default Workflow
This workflow replaces Step 4 (Research and Design) of the DEFAULT_WORKFLOW when complex decisions require multi-perspective analysis. Implementation (Step 5) proceeds with the consensus decision.