About principle-attack-the-premise
A problem-solving skill for reconsidering an assumption after multiple fixes based on it fail. It directs developers to state and test the premise before choosing another fix, then follow the evidence.
Key features
- 01Identifies shared assumptions
- 02Requires testing the premise first
- 03Examines failure distribution
- 04Uses evidence to guide diagnosis
- 05Separates premise checks from redesign
Use cases
- 01Investigating repeated failed fixes
- 02Diagnosing a failing build gate
- 03Finding a shared cause across failures
- 04Choosing a next step based on evidence
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ ericlitman/ open-pstack --skill principle-attack-the-premiseAfter installing, type/principle-attack-the-premisein Claude Code to confirm it loaded.
Details
From the project READMEAttack the Premise
When two or more fixes that share one premise have failed the same gate, suspect the premise, not the fixes.
Why: Each failed fix is evidence against the belief it assumed. A third fix on the same premise spends effort where the evidence already says the cause is not.
Pattern:
- Write the premise down. The premise is the one sentence that every failed fix assumed.
- Test the premise before the next fix. Find an observation that would come out differently if the premise were false, and make it. Look at how the failures are distributed, not only at how large they are. Make the check rerunnable per Build the Lever.
- Follow the evidence. If it contradicts the premise, the cause is elsewhere. Look for what the failures have in common that the premise did not predict. If it confirms the premise, ask the next "why" per Fix Root Causes. The earlier fixes may have treated a consequence instead of the cause.
- Remove the condition instead of compensating for it, per the Laziness Protocol. If the evidence shows that one part always lands on the losing side, change what puts it there. A mechanism that cleans up after it leaves the cause in place and adds work on every run.
Stop: Do not start the next fix before the premise is written down and tested.
This principle is distinct from Redesign from First Principles, which rebuilds a design around a new requirement. It questions a fact the current design assumes.