Loading...
Loading...
Find the cause of a failure and prove it before any fix. No hypothesis before a command that already reproduces the symptom. Covers building a signal that reproduces, ranking rival explanations with what would falsify each, probing without fixing, putting the regression test where the bug actually occurs, and reporting the causal chain at file:line. Use when the user says "this is broken", "why is this failing", "tests fail after my change", "it only breaks sometimes", or reports something throwing, hanging, or newly slow. Not for judging a change that already exists, or for an error whose message already names the file, line, and cause.
npx skill4agent add gabrielmoreira/skills debugging-by-evidenceEXPLAINED| If you see... | Read |
|---|---|
| nothing you have run yet shows the symptom, or the loop is slow, noisy, or fails only some of the time | |
| a red loop that drags in far more than the bug: many files, a long sequence, a whole suite | |
| one explanation already feels obvious, or you are about to test the first thing that came to mind | |
| you are about to add a log line, a breakpoint, or a temporary edit to see what happens | |
| the failure surfaces far from where it starts: a bad value arriving from layers away, already wrong when it lands | |
| the cause is explained and a test must now hold it down | |
| a third fix attempt just exposed a fourth problem, or the next step needs an observation you cannot make | |
EXPLAINED| State | Means | Licenses |
|---|---|---|
| nothing run yet reproduces it | more attempts at a loop, nothing else |
| a command reproduces the symptom, deterministically or at a stated rate | hypotheses, probes |
| removing any remaining element makes it pass | naming a cause |
| one surviving hypothesis, each link observed | a fix |
| the original loop passes unmodified, and the nearest path the fix also touches was run | closing |
NO-SIGNALNO-SIGNALREDfile:lineSymptom as reported, in the user's words, and the loop that shows it
Loop state one of the five, plus the reproduction rate where it is not 1
Ruled out each rejected hypothesis with the observation that killed it
Cause one line per causal link, each at file:line
Not shown what this evidence leaves open
Fix the change, and the seam the regression test sits in
Proof the original loop re-run unmodified, the nearest adjacent path
also run, and every probe tag removed