hello
Show a nice greeting message with a timestamp. Use this when the user wants to greet or say hello, optionally to a certain subject <subject> and in a certain…
Build the strongest possible case for a thesis by playing "Steelman" (Latin spirit: "Advocatus Dei"). Use when the user wants a thesis or statement charitably strengthened and defended.
$ npx -y skills add rse/ase --skill ase-meta-steelman --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ase-meta-steelmanContext preview
The summary Claude sees to decide when to auto-load this skill.
Build the strongest possible case for a thesis by playing "Steelman" (Latin spirit: "Advocatus Dei"). Use when the user wants a thesis or statement charitably strengthened and defended.
name: ase-meta-steelman
argument-hint: "[--help|-h] [--count|-c <count>] [--rounds|-r <rounds>] <thesis>"
description: >
Build the strongest possible case for a thesis by playing
"Steelman" (Latin spirit: "Advocatus Dei"). Use when the user
wants a thesis or statement charitably strengthened and defended.
user-invocable: true
disable-model-invocation: false
effort: xhigh@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
<purpose name="ase-meta-steelman"> Build the "Steelman" Argument </purpose>
<expand name="getopt" arg1="ase-meta-steelman" arg2="--count|-c=10 --rounds|-r=1"> $ARGUMENTS </expand>
<objective> Build the "Steelman" argument by constructing the strongest possible case for the thesis: <thesis><getopt-arguments/></thesis> </objective>
Determine the number of *rounds* to perform: set <rounds/> to <getopt-option-rounds/>; if <getopt-option-rounds/> is *non-numeric* or *less than or equal to 0*, use the default *1* instead.
Determine the minimum number of *pro-theses* to surface: set <count/> to <getopt-option-count/>; if <getopt-option-count/> is *non-numeric* or *less than or equal to 0*, use the default *10* instead.
<flow>
1. <step id="STEP 1: Restate Thesis">
<if condition="<thesis/> is empty"> Only output the following <template/> and then immediately *STOP* processing the entire current skill:
<template> ⧉ **ASE**: ✪ skill: **ase-meta-steelman**, ▶ ERROR: expected a `<thesis>` argument </template> </if>
Begin a *round* of fortification and consolidating reasoning. On the first visit, set <i>1</i> (set round counter to one); on each subsequent visit (via the jump back in the last step), <i/> has already been incremented.
<if condition="<rounds/> is greater than 1"> Indicate the current round with the following <template/>:
<template> <ase-tpl-bullet-secondary/> **ROUND**: <i/>/<rounds/> </template> </if>
Output the thesis with the following <template/>:
<template> <ase-tpl-bullet-normal/> **THESIS**: <thesis/> </template>
</step>
2. <step id="STEP 2: Determine Pro-Theses">
Reason on the thesis in <thesis/> by playing *Steelman* (Latin spirit: "Advocatus Dei") - building the strongest possible case *for* it - by charitably strengthening and defending it with the help of the following tenets:
Defend the strongest ("steelman") interpretation of the <thesis/>, not the weakest ("strawman"), because the most generous reading is the one worth defending and the one a fair critic must ultimately confront.
Identify the soundest fundamental ideas behind the thesis and make them explicit, because a position rests on the strength of its foundation and a solid foundation carries everything built on top of it.
Support the thesis, the assumption, the evidence - never appeal to the proponent's authority or reputation, because a case that leans on who said it instead of what was said is no stronger than its weakest argument.
Surface the reasonable assumptions the thesis depends on and show they hold, because most strong arguments gain their force from premises that are sound once stated out loud.
Ask "How do we know this?" and "What best supports it?", and marshal that support, because a claim defended with its strongest available evidence is the one hardest to dismiss.
Actively hunt for the supporting example, the favorable scenario, the precedent where the position succeeds, because one solid confirming case anchors the argument in reality.
Focus on the genuine strengths of the thesis with the highest potential value only, because marginal merits are not worth the explicit discussion.
Ask "If we accept this, then what follows?" and apply "Reduction to the Good" (Latin: "Reductio Ad Bonum"), because this strengthens the thesis by showing that accepting it leads to coherent, beneficial, and reinforcing conclusions.
Name the opportunity gained, the compounding benefit, the problem dissolved, because every choice in the thesis unlocks possibilities that a fair appraisal must count.
Frame each supporting point so it can be checked and confirmed with facts, because vague enthusiasm ("I just like it") adds no strength to the case.
Make clear you are building the best honest case, not overselling, because the goal is a better final decision, not a sales pitch.
Acknowledging where the thesis genuinely falls short is what makes the defense credible, because a Steelman who can never admit a flaw is just an apologist.
Imagine success scenarios of the thesis, because envisioning how it wins clarifies the conditions worth securing in advance.
For each Pro-Thesis or Supporting-Argument, rank it on a Likert scale of 0 (weak) to 10 (strong). Repeat the process of finding more Pro-Theses or Supporting-Arguments until you EITHER have found at least <count/> Pro-Theses or Supporting-Arguments with at least a rank of 7 OR you have already checked a total of <count/> x 5 Pro-
Repo: rse/ase
Show a nice greeting message with a timestamp. Use this when the user wants to greet or say hello, optionally to a certain subject <subject> and in a certain…
Review software architecture, including package cohesion and inter-package coupling
Discover additional, third-party components (libraries/frameworks) for the technology stack to provide needed functionality.
Analyze the source code for problems in either the logic and semantics and its related control flow, performance and efficiency, or security.
Craft Source Code: Use when user wants to "create", "add", or "craft" a new feature from scratch.
Dissect the current Git change set, treated as an epic, domain-wise and logically into cohesive parts and materialize each part in its own dedicated Git…