mcpbeat

Thinking Steel Manning

tjboudreaux/thinking-steel-manning

Before rejecting a proposal or reflexively agreeing, build the strongest faithful opposing case, state agreement conditions, then update or reaffirm.

846 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
928
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/tjboudreaux/cc-thinking-skills --skill thinking-steel-manning

The instruction itself

6 sections, as written by the author

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

  • State the target claim or decision you are about to accept or reject, in one sentence. Name the real alternative if one exists.
  • Extract the core insight behind the opposing position (or against your preferred path): the legitimate concern even if the proposed solution is wrong.
  • 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.
  • 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.
  • 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

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.

How to use it

Copy the folder

Take tjboudreaux/thinking-steel-manning from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.