Help us improve
Share bugs, ideas, or general feedback.
From adversaria
Build the strongest possible version of an argument, then argue the complete opposite with equal conviction. Use when the user asks to steelman something, argue both sides, make the strongest case, or understand the best version of an opposing view.
npx claudepluginhub damionrashford/adversaria --plugin adversariaHow this skill is triggered — by the user, by Claude, or both
Slash command
/adversaria:steelman idea, argument, or position to steelmanidea, argument, or position to steelmanBash"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/auto-init.sh"The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Context:** $ARGUMENTS
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Explores codebases via GitNexus: discover repos, query execution flows, trace processes, inspect symbol callers/callees, and review architecture.
Share bugs, ideas, or general feedback.
Context: $ARGUMENTS
Build the strongest version of the argument AND the strongest contrary case. Two deliverables, not one.
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py reset
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py add "placeholder" claim --obs "init"
Read ${CLAUDE_SKILL_DIR}/references/steelmanning.md.
Restate the idea in its STRONGEST form:
For each claim and assumption, register in the graph:
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py reset
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py add "<claim-id>" claim --obs "<fact 1>" "<fact 2>"
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py add "<assumption-id>" assumption --obs "<fact>"
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py relate "<claim-id>" assumes "<assumption-id>"
Present the steelman to the user.
Read ${CLAUDE_SKILL_DIR}/references/dissoi-logoi.md.
Apply the formula: "X can be Y and not-Y." Argue the complete opposite case with equal conviction. Not a weak rebuttal, a full-throated argument that the idea is wrong.
Register counter-arguments in the graph:
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py add "<counter-id>" counter --obs "<fact>"
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py add "<evidence-id>" evidence --obs "<fact>"
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py relate "<counter-id>" undermines "<claim-id>"
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py relate "<evidence-id>" supports "<counter-id>"
Present the contrary case to the user.
Run analyze to see the structural picture:
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py analyze
Summarize: which claims have strong support, which assumptions are ungrounded, where reasonable people could disagree.
Present two clearly labeled sections:
The Strongest Case FOR: (the steelman) The Strongest Case AGAINST: (dissoi logoi) Where Each Side Is Strongest: (from graph analysis)
${CLAUDE_SKILL_DIR}/references/steelmanning.md — load always. Defines what steelmanning is, the straw man / weak man / hollow man anti-patterns to avoid, and the principle that you must address the strongest form of the argument.${CLAUDE_SKILL_DIR}/references/dissoi-logoi.md — load always. The Greek tradition of contrasting arguments, Schiappa's formula, Protagoras' principle that every argument has two contradicting sides.${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py — run throughout to register claims, assumptions, counters, evidence, and their relations.