本文へ移動
cccskills
無料GitHub で公開

ase-meta-steelman

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.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md8.7 KB
  • help.md3.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

@${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:

    • Charitable Interpretation: 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.

    • Strengthen the Fundamentals: 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.

    • Credit Claims, Not Person: 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.

    • Make the Enabling Assumptions Explicit: 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.

    • Supply Evidence Proportional to Claim: 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.

    • Seek the Confirming Case: 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.

    • Merit Identification: Focus on the genuine strengths of the thesis with the highest potential value only, because marginal merits are not worth the explicit discussion.

    • Push the Logic to its Best Conclusion: 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.

    • Surface the Upside and Leverage: Name the opportunity gained, the compounding benefit, the problem dissolved, because every choice in the thesis unlocks possibilities that a fair appraisal must count.

    • Stay Falsifiable and Concrete: 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.

    • Argue in Good Faith: Make clear you are building the best honest case, not overselling, because the goal is a better final decision, not a sales pitch.

    • Concede the Real Weaknesses: 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.

    • Pre-Parade Thinking: 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-Theses or Supporting-Arguments. If the second condition is reached first and fewer than <count/> Pro-Theses or Supporting-Arguments reached a rank of at least 7, nevertheless surface the <count/> highest-ranked ones found so far, because <count/> is the minimum number of Pro-Theses to surface.

    Then, for the top-<count/> highest-ranked Pro-Theses or Supporting-Arguments, sort them by their rank from highest to lowest, store each in <prothesis-N/> with the format **<aspect-N/>** (rank: <rank-N/>/10): <statement-N/> (where <aspect-N/> is a short 1-3 word summary of <statement-N/>, <rank-N/> is the determined rank on the Likert scale, and <statement-N/> is a single-sentence statement of not more than 40 words), and then output the following <template/>:

    <template> <ase-tpl-bullet-signal/> **PRO-THESIS**: <prothesis-N/> </template> </step>
  3. <step id="STEP 3: Consolidating Reasoning">

    Following the consolidation of...

    *Thesis* + *Pro-Theses* → *Fortification*
    

    ...with...

    • Thesis: the initial statement, claim, or position. It is asserted as true, but on its own it is under-developed: it captures part of the truth while leaving its own strongest support implicit, unstated, or unproven.

    • Pro-Theses: the reinforcing forces. They are the corroboration, evidence, or supporting positions that the thesis invites - precisely the role a Steelman played. The pro-theses make explicit what the thesis assumed or left unsaid.

    • Fortification: the consolidation. Not an uncritical "cheerleading" of the thesis, and not a mere restatement of it, but a stronger position that consolidates everything that genuinely strengthens it while honestly bounding where it holds. The fortification reinforces the position by sharpening it.

    ...then derive a strong single-sentence (not more than 40 words) fortification of the <thesis/> and all found <prothesis-N/> - the strongest defensible form of the thesis - store it in <fortification/>, and then finally output the following <template/>:

    <template> <ase-tpl-bullet-normal/> **FORTIFICATION**: <fortification/> </template>

    Finally, decide whether to perform a further round:

    <if condition="<i/> is less than <rounds/>"> Carry the result forward to the next round: set <thesis><fortification/></thesis> (the fortification becomes the thesis to be strengthened next), set <i/> to <i/> + 1 (increment the round counter), and then *REPEAT* the operation at **STEP 1**! </if> <if condition="<i/> is greater than or equal to <rounds/>"> All <rounds/> rounds are complete; *STOP* the loop here. Do not output any further explanations. </if> </step>
</flow>

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Review software architecture, including package cohesion and inter-package coupling

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月12日 更新

Discover additional, third-party components (libraries/frameworks) for the technology stack to provide needed functionality.

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月12日 更新

Analyze the source code for problems in either the logic and semantics and its related control flow, performance and efficiency, or security.

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月12日 更新

Craft Source Code: Use when user wants to "create", "add", or "craft" a new feature from scratch.

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月12日 更新

Edit Source Code: Use when the user wants to "edit" the code base in one shot from a query or a bare analyzer issue id like "P1", fusing crafting, refactoring, and resolving with optional grilling, verification, looping, and Git worktree isolation.

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月12日 更新

Explains code with WHAT, WHY, ANALOGY, DIAGRAM, CRUXES, and GOTCHAS. Use when you want to know how code works or when the user asks "how does this work?"

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月12日 更新

rse のスキルをすべて見る

このスキルの問題を報告する