principle-attack-the-premise — Claude Code skill
This skill tests the shared premise behind repeated failed fixes. Use it before writing another fix that hits the same gate.
npx skills add backnotprop/pstack --skill principle-attack-the-premise -a claude-codeWhat principle-attack-the-premise does
The skill applies when two or more fixes relied on the same premise and failed at the same gate. It asks the agent to write that premise as one sentence, then find an observation that would differ if the premise were false. The check should be repeatable, and the result should account for how failures are distributed rather than only how large they are.
If the evidence contradicts the premise, the investigation moves to what the failures share but the premise did not predict. If the premise holds, the skill points to the next “why” and a search for the root cause. It also favors removing the condition that creates the problem over compensating for its consequences on every run.
Automatic invocation is disabled, so you need to ask the agent to apply the skill explicitly.
What it helps with
- test a shared premise after repeated failed fixes
- find an observation that could disprove the current hypothesis
- compare failure distribution with the assumed cause
- remove the condition instead of compensating for its effects
Example prompts for the agent
- Apply principle-attack-the-premise: two fixes failed at the same gate. Write down their shared premise and test it.
- Use this skill before the next fix. Find a rerunnable check that can show whether our premise is false.
- Inspect how the failures are distributed and identify what they share that the current premise does not explain.
How to install principle-attack-the-premise
1Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill principle-attack-the-premise -a claude-code2Manually: put the files in place
~/.claude/skills/principle-attack-the-premise/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/principle-attack-the-premise/
1Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill principle-attack-the-premise -a codex2Manually: put the files in place
.agents/skills/principle-attack-the-premise/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill principle-attack-the-premise -a cursor2Manually: put the files in place
.cursor/skills/principle-attack-the-premise/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install backnotprop/pstack principle-attack-the-premise2Manually: put the files in place
.github/skills/principle-attack-the-premise/SKILL.md1Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill principle-attack-the-premise -a gemini-cli2Platform CLI
gemini skills install https://github.com/backnotprop/pstack --path skills/principle-attack-the-premiseManually: put the files in place
.devin/skills/principle-attack-the-premise/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill principle-attack-the-premise -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about principle-attack-the-premise
How do I install principle-attack-the-premise in Claude Code?
Run npx skills add backnotprop/pstack --skill principle-attack-the-premise -a claude-code, run npx skills add backnotprop/pstack --skill principle-attack-the-premise -a claude-code again, and check ~/.claude/skills/principle-attack-the-premise/SKILL.md.
What does principle-attack-the-premise do?
It makes the agent write down and test the premise shared by several failed fixes. The skill redirects the investigation when evidence points away from that premise.
Does the skill invoke automatically?
No. Automatic invocation is disabled, so you must explicitly ask the agent to use it.
Source text
SKILL.md · MIT
--- name: principle-attack-the-premise description: "Apply when two or more fixes that share one premise have failed the same gate. Write the premise down and test it directly before you write another fix that assumes it." disable-model-invocation: true --- # Attack 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](../principle-build-the-lever/SKILL.md). - **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](../principle-fix-root-causes/SKILL.md). The earlier fixes may have treated a consequence instead of the cause. - **Remove the condition instead of compensating for it**, per the [Laziness Protocol](../principle-laziness-protocol/SKILL.md). 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](../principle-redesign-from-first-principles/SKILL.md), which rebuilds a design around a new requirement. It questions a fact the current design assumes.
© backnotprop · MIT · backnotprop/pstack