ds-unstick
Installation
SKILL.md
ds-unstick
When two fixes fail the same way, the problem is usually a wrong belief, not a wrong edit. Find that belief and test it.
Steps
- Stop editing. Do not try a third variation of the same fix.
- Write down each failed attempt in one line: what you changed and what happened. Include the exact error text.
- Write the assumption that all of those attempts shared. Typical examples: "this file is the one that runs", "the config is loaded", "the function receives a string", "the cache is cleared", "the error comes from my code". Name one, in one sentence.
- Test that assumption directly with the cheapest probe that gives a yes or no answer: a print statement, a log line, a
whichor--version, a grep for the real call site, a minimal script, or a read of the docs for the exact version installed. Paste the result. - If the assumption is false, you have found the real problem. Plan the fix from the new fact.
- If the assumption holds, list 3 different approaches. "Different" means another mechanism, library, layer or data path, not a tweak of the same edit. Give each approach one line on cost and risk.
- Pick one approach and say why in one sentence.
- Restart from a clean state if the failed attempts left debris: revert them with git (
git stashorgit checkout -- <files>), then apply only the chosen approach. - Record the false assumption or the chosen approach in PROGRESS.md (see ds-context-reset) so a later session does not repeat the attempts.
- Return to ds-verify-loop with the new approach.