Skip to main content
skill CX Codex

thinking-steel-manning — Claude Code skill: how to install

Builds the strongest opposing argument before rejecting or adopting a technical plan. Useful for architecture reviews and preventing sycophantic AI agreement.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-steel-manning -a claude-code
Open on GitHub

What thinking-steel-manning does

The skill enforces the steel-manning method during design reviews and technical debates. Instead of knocking down a weak caricature, the agent crafts the strongest plausible version of the opposing argument. It identifies legitimate concerns behind the alternative view and checks concrete evidence that could challenge the chosen path.

The workflow runs through five steps and outputs a structured template. Output fields include claim, core_insight, steel_man, overturn_if, looked_for_overturn, response_to_steel_man, decision, update, and residual_risks. The agent cannot stop at listing counterarguments; it must select accept_opposing, revise, or reaffirm with explicit residual risks.

This routine is strictly blocked for factual bugs or security anti-patterns. Trying to rationalize broken code or running lengthy debates during an active incident delays the fix. In an emergency, resolve the issue first and defer steel-manning to the post-mortem.

What it helps with

  • stress-test architecture proposals against the strongest counter-arguments
  • prevent AI sycophancy when validating engineer proposals
  • establish explicit conditions to overturn a technical decision
  • surface residual risks before locking in a design choice

Example prompts for the agent

  • Run thinking-steel-manning on our proposal to migrate the database to DynamoDB.
  • Before approving this microservices split, steel-man the case against it.
  • Evaluate whether we should drop our custom auth system using thinking-steel-manning.

How to install thinking-steel-manning

1Skills CLI (Vercel)

npx skills add tjboudreaux/cc-thinking-skills --skill thinking-steel-manning -a claude-code

2Manually: put the files in place

~/.claude/skills/thinking-steel-manning/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/thinking-steel-manning/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about thinking-steel-manning

How to install thinking-steel-manning in Claude Code?

Run npx skills add tjboudreaux/cc-thinking-skills --skill thinking-steel-manning -a claude-code in your terminal.

What does thinking-steel-manning do?

It requires the agent to formulate the strongest faithful argument against a proposal before deciding. The agent must test its position against that case and either accept the opposing view, revise the plan, or reaffirm with stated residual risks.

When should you avoid using thinking-steel-manning?

Do not run it for factual errors, security flaws, or active production incidents. It is also unnecessary for trivial, reversible choices where the debate costs more than the outcome.

Source text

SKILL.md · MIT
---
name: thinking-steel-manning
description: Before rejecting a proposal or reflexively agreeing, build the strongest faithful opposing case, state agreement conditions, then update or reaffirm.
disable-model-invocation: true
---

# Steel-Manning

**Core rule:** Engage the best form of the opposing case, not a weak one. If your position survives that, reaffirm; if not, update.

## When to Use

- About to reject a proposal, design, or alternative approach.
- Inclined to agree with the user/plan and risk sycophancy — construct the best case *against* first.
- Design review, architecture debate, or conflict where trade-offs are real.
- Validating your own preferred decision before locking it (strongest-countercase check).

## When NOT to Use

- Settled fact, security anti-pattern, or violated hard requirement — correct it; do not invent a defense of what is wrong.
- You already agree for stated, weighed reasons — do not perform a fake debate.
- Trivial or fully reversible choices where deliberation cost exceeds downside.
- Live emergency — act first; steel-man in the post-incident review.
- Need definition/assumption cleanup, not opposition — use socratic.
- Need failure scenarios for a plan — use pre-mortem; need attacker paths — use red-team.

## Procedure

1. **State the target claim or decision** you are about to accept or reject, in one sentence. Name the real alternative if one exists.
2. **Extract the core insight** behind the opposing position (or against your preferred path): the legitimate concern even if the proposed solution is wrong.
3. **Construct the strongest faithful case** an informed advocate would make: best evidence, incentives, and failure modes — no mockery, no cherry-picked weak version, no motive attacks. Include base rates or concrete alternatives that could overturn the preferred path when relevant.
4. **State agreement / overturn conditions.** Write one observation or result that would make you accept the opposing case (or abandon your preferred path), and whether you have looked for it.
5. **Engage that strong version, then decide.** Respond to the steel-manned case on the merits. Output one of: accept opposing path, revise synthesis, or reaffirm original with explicit residual risks. Naming the countercase without accept/revise/reaffirm is incomplete. Stop once the decision updates or is reaffirmed with conditions.

## Output

```text
claim: <decision or proposal under test>
core_insight: <legitimate concern behind the opposition>
steel_man: <strongest faithful opposing argument>
overturn_if: <concrete observation that would change your mind>
looked_for_overturn: yes | no | partial
response_to_steel_man: <engagement on the merits>
decision: accept_opposing | revise | reaffirm
update: <what changed in belief or plan, or why reaffirm stands>
residual_risks: <what remains even after reaffirm/revise>
```

## Verification

- **Falsify / stop:** If the "steel man" is weaker than the original or attacks a caricature, rebuild it. If no overturn condition is stated, the check is incomplete. If evidence meets the overturn condition, you must update — reaffirmation is then false.
- **Over-application guard:** Do not steel-man factual errors or hard constraints. Do not run a full adversarial brief for near-zero-cost reversible choices. Do not use this skill to delay an emergency response.

© tjboudreaux · MIT · tjboudreaux/cc-thinking-skills

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set27

thinking-socratic Surfaces unstated assumptions and undefined terms before coding begins. Helps the agent ask decisive questions instead of guessing requirements. CX Codex +1 626installs thinking-systems A skill for problems that resist local fixes: it maps the system, finds feedback loops and delays, then ranks interventions by leverage. CX Codex +1 610installs thinking-opportunity-cost Forces your AI coding agent to identify the best forgone alternative and calculate the net value delta before committing engineering hours or budget. CX Codex +1 610installs thinking-model-router A router skill that maps domain and problem type to one thinking skill, or returns NONE. Useful when you would otherwise guess or stack frameworks. CX Codex +1 605installs thinking-second-order Traces consequences beyond an immediate fix, including reactions, timing, probability and feedback. Use it for architecture or strategic decisions with lasting effects. CX Codex +1 601installs thinking-triz A skill for when two design requirements pull against each other. It names the conflict and looks for a resolution that keeps both benefits. CX Codex +1 593installs thinking-probabilistic A skill that makes the agent name a base rate, give confidence intervals and update its estimate when new evidence lands, instead of stating one confident number. CX Codex +1 591installs thinking-scientific-method Structured debugging skill that ranks falsifiable hypotheses and runs the cheapest discriminating check before changing code. CX Codex +1 587installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor