Adversaria
Critical thinking platform for Claude Code
Usage · Agents · Skills · How It Works · Traditions · Install
Adversaria is a Claude Code plugin for structured adversarial analysis. Three specialized agents argue, stress-test, and judge any idea using a shared argument graph, 10 reasoning traditions, and persistent memory that accumulates insight across sessions.
The name comes from the Latin adversaria: a notebook of observations. It also evokes adversarial reasoning, the deliberate practice of challenging ideas to strengthen them.
Adversaria works through agents that Claude automatically delegates to based on what you ask. You don't need to manage the workflow yourself.
Natural language (Claude delegates automatically):
Steelman the case for rewriting our API in Go
What could go wrong with this migration plan?
Give me a verdict on this proposal
Play devil's advocate on this architecture decision
@-mention (guarantees a specific agent runs):
@advocate build the strongest case for microservices here
@adversary tear apart this launch plan
@judge what survives scrutiny in this proposal?
Slash commands (invoke a skill directly):
/adversaria:steelman the case for server-side rendering
/adversaria:crucible this database migration plan
/adversaria:verdict on the Q3 product roadmap
/adversaria:devils-advocate this entire investment thesis
Session-wide (run an entire session as one agent):
claude --agent adversaria:advocate
claude --agent adversaria:adversary
claude --agent adversaria:judgeThree agents with distinct roles, each with persistent project memory that accumulates knowledge across sessions.
Builds the strongest possible case for an idea with genuine conviction, then argues the complete opposite with equal force.
| Tradition | Steelmanning, Dissoi Logoi |
| Model | Sonnet |
| Skill | adversaria:steelman |
| Memory | Project-scoped, persistent |
| Triggers | "steelman", "make the best case", "argue both sides", "defend this idea" |
The advocate is not a summarizer and not a yes-man. A steelman that ignores obvious flaws is a straw man in disguise. The advocate addresses weaknesses by countering them, not hiding them.
Finds every weakness, flaw, and failure mode. An authentic dissenter, not assigned devil's advocacy.
| Tradition | Crucible, Red Team, Socratic Elenchus, Gadfly |
| Model | Sonnet |
| Skill | adversaria:crucible |
| Memory | Project-scoped, persistent |
| Triggers | "stress-test", "poke holes", "red team", "what could go wrong", "what am I missing" |
Note
Psychologist Charlan Nemeth proved that assigned devil's advocacy is less effective than authentic dissent and can make people more entrenched. The adversary is an authentic dissenter who genuinely looks for flaws, not a performer going through the motions.
Renders a dispassionate verdict from the argument graph evidence. No advocacy in either direction.
| Tradition | Roman Rota (appellate tribunal, est. 1171) |
| Model | Inherit |
| Skill | adversaria:verdict |
| Memory | Project-scoped, persistent |
| Triggers | "verdict", "bottom line", "final assessment", "what survives", "give it to me straight" |
The judge reads what the advocate built and what the adversary found, then determines what survives scrutiny, what does not, and what remains unresolved. Every claim in the verdict cites graph state, not opinion.
Skills are the structured workflows that agents execute internally. They are also available as standalone slash commands.
| Skill | What It Does | Used By |
|---|---|---|
/adversaria:steelman |
Build the strongest case for and against an idea. Register claims, assumptions, and evidence in the argument graph. | advocate |
/adversaria:crucible |
Socratic questioning, structural gap analysis, hostile review, and red team failure modes. Register weaknesses and mitigations. | adversary |
/adversaria:verdict |
Name the uncomfortable truth. Determine what survives scrutiny based on graph topology. Export the final verdict. | judge |
/adversaria:devils-advocate |
Orchestrate all three phases in sequence for a complete adversarial analysis. | all three |
Tip
Skills compose through a shared argument graph that persists between runs. The steelman skill builds the graph, the crucible skill adds weaknesses to it, and the verdict skill reads the final state. Use /adversaria:devils-advocate to run all three in one pass.
You ask a question
│
▼
┌───────────────┐
│ Claude Code │ Delegates based on what you asked
└───────┬───────┘
│
┌───────┼───────────────────┐
▼ ▼ ▼
┌────────┐ ┌──────────┐ ┌───────────┐
│Advocate│ │Adversary │ │ Judge │
│ │ │ │ │ │
│Steelman│ │Crucible │ │Verdict │
│skill │ │skill │ │skill │
└───┬────┘ └────┬─────┘ └─────┬────┘
│ │ │
└───────────┼──────────────┘
▼
┌────────────────┐
│ Argument Graph │
│ │
│ Shared state │
│ across all │
│ agents + skills │
└────────────────┘
- You describe what you need. Claude reads your request and delegates to the right agent based on its description.
- The agent invokes its skill. Each agent has a dedicated skill that defines its structured workflow: what to analyze, what to register in the graph, and what to produce.
- Skills read and write the argument graph. The graph is the shared state layer. Claims, assumptions, evidence, weaknesses, counters, and mitigations accumulate across agent runs.
- Results return to you. The agent summarizes its findings. The full graph state is available via
analyze,verdict, orexportcommands.
The argument graph is a knowledge graph that decomposes ideas into typed nodes connected by typed relations.
Node types: claim assumption evidence weakness counter precedent mitigation
Relation types: supports undermines assumes depends_on contradicts if_fails mitigates
The graph persists in /tmp between agent runs. This is by design: what the advocate builds, the adversary attacks, and the judge reads.
The thought chain tracks reasoning as numbered steps with revision and branching. Used by the /adversaria:devils-advocate orchestrator to sequence its seven-step analysis across all three phases.
Adversaria draws from 10 intellectual traditions of structured dissent and rigorous argument.
| # | Tradition | Origin |
|---|---|---|
| 1 | Devil's Advocate | Catholic canonization (est. 1587). Nemeth's warning: inauthentic dissent backfires. |
| 2 | Dissoi Logoi | Greek contrasting arguments (~400 BCE). "X can be Y and not-Y." |
| 3 | Lawsuits Against the Devil | Mayo v. Satan (1971), Chambers v. God (2008). Every argument deserves examination. |
| 4 | Crucible | Pentagon/NASA stress-test review. The board's goal is to break it on technical merit. |
| 5 | Polemic | Greek polemikos, "warlike." Constructive polemic exposes genuine errors. |
| 6 | Red Team | RAND Corporation, 1960s. Israel's Ipcha Mistabra. Three teams reviewed the bin Laden raid intel. |
| 7 | Roman Rota | Catholic appellate tribunal, records from 1171. Mandatory opposition. Different panel for appeals. |
| 8 | Social Gadfly | Plato's Apology. "If you kill a man like me, you will injure yourselves more than you will injure me." |
| 9 | Socratic Method | Elenchus: argument of disproof. "Life without examination is not worth living." |
| 10 | Steelmanning | Address the strongest form of an argument, not the weakest. Isaac Watts (1724). |
/plugin marketplace add damionrashford/Adversaria
/plugin install adversaria@damionrashford-adversaria
After installing, run /reload-plugins to activate.
claude --plugin-dir /path/to/Adversaria- Claude Code v1.0.33 or later
- uv (Python scripts use
uv run)
Adversaria/
├── .claude-plugin/
│ ├── plugin.json # Plugin manifest
│ └── marketplace.json # Marketplace catalog
├── agents/
│ ├── advocate.md # Steelman agent
│ ├── adversary.md # Stress-test agent
│ └── judge.md # Verdict agent
├── skills/
│ ├── devils-advocate/ # Full analysis orchestrator
│ │ ├── SKILL.md
│ │ └── references/ # All 10 tradition references
│ ├── steelman/ # Build the best case
│ │ ├── SKILL.md
│ │ └── references/
│ ├── crucible/ # Stress-test
│ │ ├── SKILL.md
│ │ └── references/
│ └── verdict/ # Render judgment
│ ├── SKILL.md
│ └── references/
├── scripts/
│ ├── argument-graph.py # Knowledge graph engine
│ └── thought-chain.py # Sequential reasoning engine
├── hooks/
│ ├── hooks.json # Event handlers
│ └── scripts/ # Hook shell scripts
├── README.md
└── LICENSE
Built by Damion Rashford