Claude Code Plugins

Community-maintained marketplace

Feedback

Structured multi-perspective deliberation through adversarial dialogue

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name debate
description Structured multi-perspective deliberation through adversarial dialogue
license MIT
tier 1
allowed-tools read_file, write_file, list_dir
related adversarial-committee, roberts-rules, rubric, evaluator, card, speed-of-light, soul-chat
templates [object Object], [object Object], [object Object]

Debate

"No single story is true β€” but the ensemble approximates actionable wisdom."

Structured deliberation that forces genuine exploration through adversarial dialogue.


Why Debate?

Traditional LLM chat gives you the statistical center β€” the most likely answer averaged across all training data. This misses:

  • Outlier perspectives that might matter most
  • Hidden assumptions embedded in the "obvious" answer
  • Genuine trade-offs between competing values
  • The shape of the possibility space

Debate fixes this by simulating multiple perspectives that must defend their positions against cross-examination.


The Debate Card

# debate.card β€” the master ensemble card
card:
  name: "Structured Debate"
  type: ensemble
  emoji: "🎭"
  
  # Data flow components
  components:
    generators:
      CREATE_TOPIC:
        description: "Define what we're debating"
        params:
          question: required
          context: optional
          stakes: optional
        outputs: [topic_stream]
        
      CREATE_SIDE:
        description: "Create a position with advocates"
        params:
          name: required
          position: required
          advocates: "1-3 personas"
        outputs: [arguments, rebuttals]
        
    transformers:
      CREATE_MODERATOR:
        description: "Facilitate fair debate"
        params:
          style: ["roberts_rules", "oxford", "informal"]
          strictness: ["strict", "moderate", "loose"]
        inputs: [arguments, rebuttals, motions]
        outputs: [moderated_stream]
        behavior: |
          Enforce turn-taking
          Recognize speakers
          Time contributions
          Call votes when appropriate
          
      CREATE_CLOCK:
        description: "Control timing"
        params:
          round_duration: "time expression"
          rebuttal_duration: "time expression"
        inputs: [any]
        outputs: [timed_stream]
        
    consumers:
      CREATE_AUDIENCE:
        description: "Observers who react and score"
        params:
          count: number
          expertise: list
          scoring: ["rubric", "impression", "vote"]
        inputs: [moderated_stream]
        outputs: [reactions, scores, verdict]
        
      CREATE_TRANSCRIPT:
        description: "Record everything"
        inputs: [all_streams]
        outputs: [TRANSCRIPT.md]
        
      CREATE_EVALUATOR:
        description: "Independent assessment (no debate context)"
        params:
          rubric: required
        inputs: [final_positions]
        outputs: [evaluation.yml]
        
  # Wiring instructions (natural language)
  wiring: |
    Topic feeds context to all Sides.
    Sides produce Arguments that flow to Moderator.
    Moderator interleaves fairly and routes to Audience.
    Clock controls round transitions via Moderator.
    Transcript captures the full moderated stream.
    Evaluator receives only final positions, not debate process.
    
  # Activation advertisements
  advertisements:
    SETUP:
      description: "Configure a new debate"
      score: 80
      
    START:
      description: "Begin the debate"
      score_if: "topic AND sides.length >= 2"
      score: 90
      
    PAUSE:
      description: "Pause for reflection or recess"
      score: 50
      
    CONCLUDE:
      description: "End debate, call for verdict"
      score_if: "rounds_completed >= min_rounds"
      score: 70

Debate Session State

# debates/microservices-001/DEBATE.yml
debate:
  id: microservices-001
  topic:
    question: "Should we migrate to microservices?"
    context: "Legacy monolith, 50 engineers, growing pains"
    stakes: "Architecture decision affects next 5 years"
    
  sides:
    pro:
      position: "Microservices enable team autonomy and scaling"
      advocates:
        - maya: "Focus on organizational benefits"
        - frankie: "Emphasize future flexibility"
      arguments_made: 7
      
    con:
      position: "Monolith is simpler, faster, cheaper"
      advocates:
        - vic: "Demand evidence of problems"
        - tammy: "Trace second-order effects"
      arguments_made: 6
      
    pragmatic:
      position: "Modular monolith as middle path"
      advocates:
        - joe: "Preserve what works"
      arguments_made: 4
      
  moderator:
    style: roberts_rules
    current_speaker: maya
    queue: [vic, frankie, tammy]
    
  clock:
    round: 2
    total_rounds: 3
    round_time_remaining: "4:30"
    
  audience:
    - id: architect-1
      expertise: system_design
      leaning: pragmatic
      confidence: 0.7
    - id: ops-1
      expertise: deployment
      leaning: con
      confidence: 0.8
    - id: dev-1
      expertise: implementation
      leaning: pro
      confidence: 0.5
      
  status: in_progress
  
  # Verdict (populated after conclusion)
  verdict: null

Debate Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    DEBATE SESSION                            β”‚
β”‚                                                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                               β”‚
β”‚  β”‚  TOPIC   β”‚ "Should we adopt microservices?"              β”‚
β”‚  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜                                               β”‚
β”‚       β”‚                                                      β”‚
β”‚       β–Ό                                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”                     β”‚
β”‚  β”‚  PRO    β”‚  β”‚   CON   β”‚  β”‚PRAGMATICβ”‚  ← SIDES            β”‚
β”‚  β”‚ Maya    β”‚  β”‚  Vic    β”‚  β”‚  Joe    β”‚                      β”‚
β”‚  β”‚ Frankie β”‚  β”‚ Tammy   β”‚  β”‚         β”‚                      β”‚
β”‚  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜                     β”‚
β”‚       β”‚            β”‚            β”‚                           β”‚
β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                          β”‚
β”‚                    β–Ό                                        β”‚
β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                  β”‚
β”‚              β”‚ MODERATOR β”‚ ← Robert's Rules                 β”‚
β”‚              β”‚  + CLOCK  β”‚   Turn-taking, timing            β”‚
β”‚              β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜                                  β”‚
β”‚                    β”‚                                        β”‚
β”‚       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                          β”‚
β”‚       β–Ό            β–Ό            β–Ό                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                    β”‚
β”‚  β”‚AUDIENCE β”‚ β”‚TRANSCRIPTβ”‚ β”‚ EVALUATOR β”‚ ← Independent      β”‚
β”‚  β”‚ scores  β”‚ β”‚ records  β”‚ β”‚ (no ctx)  β”‚                    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                    β”‚
β”‚                                                             β”‚
β”‚  VERDICT: pragmatic (modular monolith) β€” 60% confidence    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Commands

Setup Commands

Command Effect
DEBATE [topic] Quick-start: creates topic, 2 sides, moderator
CREATE_TOPIC [question] Define what we're debating
CREATE_SIDE [name] position="..." Add a position
CREATE_MODERATOR style=[style] Add facilitation
CREATE_AUDIENCE count=[n] Add observers
START_DEBATE rounds=[n] Begin

Robert's Rules Commands

Command Effect
MOTION [text] Propose something for vote
SECOND Second a motion
DEBATE Open floor for discussion
CALL_QUESTION End debate, move to vote
VOTE [yea/nay/abstain] Cast vote
POINT_OF_ORDER Challenge procedure
YIELD Give up remaining time

Flow Commands

Command Effect
ARGUMENT [text] Make an argument for your side
REBUTTAL [text] Counter an argument
EVIDENCE [citation] Introduce supporting evidence
QUESTION [target] Direct question to opponent
CONCEDE [point] Acknowledge opponent's point
CONCLUDE End debate, generate verdict

Side Definition

# Each side is a generator with advocates
side:
  name: pro
  position: "Microservices enable team autonomy and independent deployment"
  
  advocates:
    maya:
      persona: "Paranoid realist"
      focus: "What could go wrong with NOT changing"
      style: "Surface hidden risks of status quo"
      
    frankie:
      persona: "Optimistic idealist"  
      focus: "Future possibilities"
      style: "Paint vision of success"
      
  strategy: |
    Lead with organizational benefits (Maya).
    Follow with technical flexibility (Frankie).
    Anticipate complexity objections.
    Have concrete migration plan ready.
    
  constraints:
    - "Must acknowledge operational complexity"
    - "Cannot dismiss monitoring challenges"
    
  arguments:
    - id: arg-001
      claim: "Team autonomy increases velocity"
      evidence: "Case studies from Amazon, Netflix"
      rebuttals_received: [reb-001, reb-003]
      
    - id: arg-002
      claim: "Independent deployment reduces coordination"
      evidence: "Current deploy queue is 2 weeks"
      rebuttals_received: []

Transcript Format

# Debate: Should We Adopt Microservices?

**Date:** 2026-01-05
**Moderator:** Roberts-Rules-Bot
**Rounds:** 3

---

## Opening Statements

### Pro (Maya)

> The question isn't whether microservices add complexity β€” they do.
> The question is whether our current monolith's hidden complexity
> is already killing us. Our deploy queue is 2 weeks. Our teams
> step on each other constantly. The pain is real and growing.

### Con (Vic)

> Show me the data. "Teams step on each other" β€” how often?
> What's the actual cost? I've seen microservice migrations
> that took 3 years and delivered negative value. The grass
> is always greener until you're debugging distributed traces
> at 3am.

### Pragmatic (Joe)

> What if we don't have to choose? A modular monolith gives us
> team boundaries without network calls. We can always extract
> services later when we have evidence they're needed.

---

## Round 1: Arguments

**Moderator:** Maya has the floor.

**Maya (Pro):** 
> I move that we consider deployment independence as the primary
> benefit. [MOTION]

**Tammy (Con):**
> Second, for purposes of debate. [SECOND]

**Moderator:** Motion seconded. Floor is open.

**Frankie (Pro):**
> ARGUMENT: Our current deploy process requires full regression
> because any change could affect any part of the system.
> With service boundaries, teams deploy independently.
> ```yaml
> evidence:
>   current_deploy_time: "2 weeks"
>   microservice_target: "< 1 day per service"
>   source: "internal metrics"
> ```

**Vic (Con):**
> REBUTTAL: You're trading deploy coordination for runtime
> coordination. Now every service call can fail. Your "1 day
> deploys" will be offset by distributed debugging.

---

## Verdict

**Audience Scores:**
| Audience | Leaning | Confidence |
|----------|---------|------------|
| architect-1 | pragmatic | 0.8 |
| ops-1 | con | 0.7 |
| dev-1 | pragmatic | 0.6 |

**Independent Evaluator:**
```yaml
evaluation:
  winner: pragmatic
  reasoning: |
    Pro made strong organizational arguments but didn't
    address operational complexity sufficiently.
    Con's evidence demands were valid but position
    was purely defensive.
    Pragmatic offered concrete middle path with
    lower risk and clear upgrade path.
  confidence: 0.7
  dissenting_view: "Pro's velocity argument deserves more weight"

Final Verdict: Modular monolith (pragmatic position)


---

## Integration with Other Skills

### With adversarial-committee

Debate IS an adversarial committee in action. The sides are the committee members with opposing propensities.

### With roberts-rules

The moderator can enforce full parliamentary procedure:

```yaml
moderator:
  style: roberts_rules
  enforces:
    - motions_require_second
    - debate_before_vote
    - point_of_order_interrupts
    - two_thirds_for_closure

With rubric

Audience and evaluator can use explicit rubrics:

rubric:
  criteria:
    - name: evidence_quality
      weight: 0.3
      levels: [anecdotal, case_study, systematic]
      
    - name: addresses_counterarguments
      weight: 0.25
      levels: [ignores, acknowledges, refutes]
      
    - name: practical_feasibility
      weight: 0.25
      levels: [theoretical, plausible, demonstrated]
      
    - name: risk_assessment
      weight: 0.2
      levels: [ignores, mentions, quantifies]

With speed-of-light

The entire debate can happen in ONE LLM call:

# One epoch simulates multiple rounds of debate
speed_of_light:
  characters: 5  # Maya, Frankie, Vic, Tammy, Joe
  rounds: 3
  arguments_per_round: 6
  total_simulated: 18 exchanges
  llm_calls: 1

Protocol Symbols

Symbol Meaning
DEBATE Invoke this skill
MOTION Propose for vote
SECOND Support a motion
REBUTTAL Counter an argument
VERDICT Final decision
ADVERSARIAL-COMMITTEE The underlying pattern

Dovetails With


"The map is not the territory. The story is not the reality. But the ensemble of stories, cross-examined, might just be useful."