From skills-for-humanity
Systematically finds where an analogy breaks down before decisions depend on it. Helps validate reasoning based on comparisons.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skills-for-humanity:s4h-analogy-boundary-testingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analogies are tools, not truths. The danger is not using an analogy — it is using one past
Analogies are tools, not truths. The danger is not using an analogy — it is using one past its boundary. Analogies fail silently: the flaw is invisible until a decision has been made that depended on the part that didn't hold. This skill finds the boundary before that happens.
Step 1: State the Analogy Write it explicitly: "X is like Y." Name the analogy being tested, the domain it comes from, and the claim being made on the basis of it.
Framing check: Confirm the specific analogy before continuing. State what you've identified — the source domain, target domain, and the claim being made — in one sentence, then use AskUserQuestion:
Step 2: List Similarities What does the analogy capture correctly? List every genuine parallel — the aspects where the structural correspondence is real. This is not validation; it's establishing what the analogy is good for before finding what it isn't.
Step 3: List Differences Every meaningful divergence between X and Y is a potential failure point. List them systematically: different actors, different dynamics, different constraints, different feedback mechanisms, different scales, different reversibility. Be thorough — incomplete difference-listing is the most common failure mode here.
Step 4: Test Each Difference Against the Decision
Before narrowing: Show the complete list of differences from Step 3 to the user first. Use AskUserQuestion:
For each decision or conclusion being made on the basis of this analogy: which differences are relevant to that specific decision? A difference that doesn't affect the conclusion is harmless. A difference that does affect it invalidates the reasoning.
Step 5: Does the Conclusion Still Hold? For each relevant difference identified in Step 4: if this difference is real, does the conclusion derived from the analogy still follow? If not, the analogy cannot support that conclusion.
Step 6: State Safe Scope Where can this analogy be validly relied upon? What does it illuminate, and what decisions can it inform? State the boundary clearly.
Before proceeding, use the AskUserQuestion tool. State your interpretation of the situation in 1–2 sentences — what is being analyzed and what the core question is — then ask:
Proceed based on their selection. If the user reframes, incorporate the correction before running any analysis.
Analogy: [X is like Y — domain and claim]
Similarities (what the analogy captures correctly):
[Bulleted list]
Differences (potential failure points):
[Bulleted list — be thorough]
Relevant differences for this decision:
| Difference | Relevant to decision? | Effect on conclusion |
|---|---|---|
Conclusion validity:
[Does the analogy support the conclusion? Yes / Partially / No — with reason]
Safe scope — what this analogy validly applies to:
[Bounded statement]
The most useful output is the safe scope statement — a positive claim about where the analogy is reliable. Discarding an analogy entirely because it has limits wastes the genuine insight it contains.
After delivering this output, use AskUserQuestion to offer the next move:
/s4h-analogy-domain-transfer — Now that boundaries are clear, execute the transfer carefully/s4h-logic-check — Check whether conclusions crossed a boundary they shouldn't have/s4h-constraint-hardness-testing — Are the boundary differences hard constraints or soft?npx claudepluginhub human-avatar/skills-for-humanityRoutes analogical reasoning to the right sub-skill: boundary-testing, domain-transfer, perspective-shifting, or structure-mapping. Use for finding comparisons, importing solutions, or testing analogies.
Stress-tests analogies by finding mapping breaks, classifying break type, and framing the break as a teaching opportunity for writing.
Validates structural mappings between abstract concepts and concrete domains: detects uncertainty, constructs correspondences, generates instantiations, and confirms via user input.