# Adversarial Debate

> Run an Advocate/Critic/Judge debate over any decision with real tradeoffs. Use when the user asks whether to merge a PR, pick an architecture, hire a candidate, ship a feature, or make any judgment where both sides have valid points and a single-model answer would be too confident.

- **Type:** Skill
- **Install:** `agentstack add skill-alex-jb-claude-debate-adversarial-debate`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [alex-jb](https://agentstack.voostack.com/s/alex-jb)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [alex-jb](https://github.com/alex-jb)
- **Source:** https://github.com/alex-jb/claude-debate/tree/main/.claude/skills/adversarial-debate

## Install

```sh
agentstack add skill-alex-jb-claude-debate-adversarial-debate
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Adversarial Debate

Three-stage debate pattern for high-stakes decisions:

1. **Advocate** (Haiku) — strongest case FOR the proposal
2. **Critic** (Haiku) — strongest case AGAINST, rebutting the advocate
3. **Judge** (Sonnet) — synthesize and return a structured verdict

Cost ~$0.003 per debate. Takes ~10-15 seconds.

## When to use

**Good fits:**
- Should we merge this PR given tests, blast radius, author tenure?
- Postgres vs DynamoDB for this workload?
- Hire or pass after the last round?
- Ship this feature now or wait a week?
- Trading / investment: enter or stay out?
- Any decision with a defensible case on both sides

**Bad fits:**
- Questions with one right answer (use a regular call)
- Pure factual extraction (use a cheap single call)
- Open-ended brainstorming (debate narrows, not expands)
- Low-stakes decisions where $0.003 + 15s isn't worth it

## Usage

```python
from anthropic import Anthropic
from claude_debate import run_debate, DebateConfig

verdict = run_debate(
    proposal="Merge PR #42: adds Redis cache to auth middleware",
    client=Anthropic(),
    context={
        "diff_size": 340,
        "coverage": "85%",
        "author_tenure": "3 weeks",
        "prod_qps": 2400,
    },
    config=DebateConfig(
        decision_options=("APPROVE", "REQUEST_CHANGES", "DEFER"),
        criteria=["correctness", "rollback cost", "perf under load"],
    ),
)

print(verdict.decision)                    # "APPROVE"
print(verdict.confidence)                  # 72.0
print(verdict.reasoning_summary)           # one sentence
print(verdict.strongest_advocate_point)    # what was most convincing for
print(verdict.strongest_critic_point)      # what was most convincing against
```

## Design choices worth knowing

- **Critic sees the advocate's case** — so the critic's points are specific rebuttals, not independent arguments. This is what makes the debate adversarial instead of two parallel monologues.
- **Judge is explicitly asked for its tipping condition** — "what evidence would flip you?" — so the verdict is falsifiable, not just assertive.
- **`decision_options` are bounded** — the judge can't invent a new option. Forces a commit.
- **Confidence is calibrated in the prompt** — 80+ = would bet on it, 50 = genuinely uncertain. Not a vibe.
- **Cost asymmetry matches reasoning asymmetry** — advocate and critic are structured argument generation (Haiku is fine); judge is reasoning over conflicting evidence (Sonnet).

## Anti-patterns

- **Don't run debates on questions where one side is obviously right.** The advocate/critic will manufacture weak arguments and the verdict is noise.
- **Don't skip the `context` dict on non-trivial decisions.** Without facts, both sides speculate and the judge has nothing to weigh.
- **Don't treat the verdict as binding.** It's a structured second opinion — use it to pressure-test your own instinct, not replace it.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [alex-jb](https://github.com/alex-jb)
- **Source:** [alex-jb/claude-debate](https://github.com/alex-jb/claude-debate)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-alex-jb-claude-debate-adversarial-debate
- Seller: https://agentstack.voostack.com/s/alex-jb
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
