Claude Code Plugins

Community-maintained marketplace

Feedback

adversarial-committee

@SimHacker/moollm
4
0

Committee of personas with opposing propensities forcing genuine debate

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 adversarial-committee
description Committee of personas with opposing propensities forcing genuine debate
allowed-tools read_file, write_file
tier 1
protocol ADVERSARIAL-COMMITTEE
tags debate, decision, ensemble, storytelling
credits Mike Gallaher — core methodology
related roberts-rules, rubric, evaluator, soul-chat, speed-of-light, card

Adversarial Committee

"Ensemble inference over the latent space of possible framings."

Multiple personas with incompatible values debate to surface blind spots.

The Roster

committee:
  maya:
    propensity: paranoid_realism
    risk_tolerance: low
    epistemology: assume_bad_faith
    surfaces: "Political dynamics, hidden agendas, traps"
    voice: "What aren't they telling us?"
    
  frankie:
    propensity: idealism
    risk_tolerance: high
    epistemology: assume_good_faith
    surfaces: "Value conflicts, missed opportunities"
    voice: "What if this is exactly what it seems?"
    
  joe:
    propensity: continuity_guardian
    risk_tolerance: medium
    epistemology: trust_precedent
    surfaces: "Institutional memory, what worked before"
    voice: "We tried this in 2019..."
    
  vic:
    propensity: evidence_prosecutor
    risk_tolerance: medium
    epistemology: prove_it
    surfaces: "Data gaps, unverified claims"
    voice: "Show me the numbers."
    
  tammy:
    propensity: systems_thinking
    risk_tolerance: varies
    epistemology: trace_feedback_loops
    surfaces: "Unintended consequences, emergent effects"
    voice: "If we do X, then Y will respond by..."

Formation

# committee/COMMITTEE.yml
committee:
  name: "Strategy Review Board"
  purpose: "Evaluate client engagement decision"
  
  members:
    - card: maya
      role: devil's_advocate
    - card: frankie
      role: opportunity_scout
    - card: joe
      role: historian
    - card: vic
      role: evidence_checker
    - card: tammy
      role: systems_analyst
      
  protocol: roberts-rules
  evaluation: independent
  rubric: client-evaluation-rubric.yml

Debate Protocol

debate:
  rounds:
    - opening_statements:
        each_member: "State position in 2-3 sentences"
        
    - cross_examination:
        pattern: "Maya challenges Frankie, Vic challenges Maya..."
        goal: "Surface hidden assumptions"
        
    - evidence_phase:
        vic_leads: "What do we actually know?"
        others_contribute: "Supporting/contradicting data"
        
    - synthesis:
        tammy_maps: "Feedback loops and consequences"
        all_contribute: "Refined positions"
        
    - final_positions:
        each_member: "Updated stance with confidence"

Speed of Light Simulation

Within ONE LLM call:

simulation:
  - maya: "This client's reputation for scope creep concerns me."
  - frankie: "But their budget is aligned and they're excited!"
  - vic: "What's our data on scope creep? Past projects?"
  - joe: "We had a similar client in 2022. It went badly."
  - tammy: "If we take them on, our capacity for other work drops. If they creep, we can't serve existing clients..."
  - maya: "See? Trap."
  - frankie: "Unless we build in explicit scope boundaries..."

All personas speak authentically. No entity knows more than it should.

Calibration

2-3 iterations tuning character behavior:

calibration:
  problems:
    excessive_conflict: "Reduce Maya's paranoia from 9 to 7"
    premature_consensus: "Increase Frankie's risk tolerance"
    dead_air: "Give Tammy more initiative"
    
  goal: "Stable equilibrium where genuine exploration happens"

Output Format

deliberation:
  question: "Should we take Client X?"
  
  positions:
    maya: { stance: oppose, confidence: 0.8 }
    frankie: { stance: support, confidence: 0.7 }
    joe: { stance: defer, confidence: 0.6 }
    vic: { stance: need_data, confidence: 0.5 }
    tammy: { stance: conditional, confidence: 0.7 }
    
  key_tensions:
    - "Revenue opportunity vs. capacity risk"
    - "Good faith assumption vs. scope creep history"
    
  evidence_gaps:
    - "No data on this client's actual scope creep rate"
    - "Unknown: their internal approval process"
    
  recommendation: "Conditional engagement with explicit scope boundaries"
  confidence: 0.65
  
  for_evaluator: true  # Goes to independent assessment

Commands

Command Action
CONVENE [committee] Activate committee for deliberation
PRESENT [question] Introduce topic for debate
DEBATE Run structured debate rounds
CALIBRATE [member] [adjustment] Tune persona behavior
SYNTHESIZE Generate collective output
EVALUATE Send to independent evaluator

Integration

graph LR
    Q[Question] --> C[Committee Room]
    C -->|SPEED-OF-LIGHT| D[Debate]
    D --> O[Output]
    O -->|THROW| E[Evaluator Room]
    E -->|RUBRIC| S[Score]
    S -->|if fail| C
    S -->|if pass| R[Recommendation]