debugginglisted
Install: claude install-skill NjoyimPeguy/augments
# Debugging
Root cause before fix. A patch you can't explain isn't a fix — it's a guess that happened to quiet the symptom. This is a discipline skill: under pressure you'll want to try something and see if it helps, and the point is not to.
## The method
**1. Build the feedback loop — this is the skill; the rest is mechanical.** Get a fast, deterministic, runnable pass/fail signal for the bug, and spend disproportionate effort here. If you can't build one, *stop and say so* — list what you tried and ask for access or a captured artifact; don't debug on vibes. Once you have a loop, sharpen it (faster, more deterministic). A flaky bug isn't exempt — raise its reproduction rate (loop it, add stress, narrow the timing) until it's debuggable. See `feedback-loop-options.md`.
**2. Reproduce.** Confirm the loop triggers *this* bug, not something near it.
**3. Hypothesize — 3 to 5, ranked, falsifiable.** Each needs a prediction: "if X is the cause, changing Y kills it." No prediction means it's a vibe — discard it. One hypothesis anchors you on the first plausible idea; generate several. And check each one's evidence was observed *this* session, not inherited from earlier context — an unverified claim is an assumption, not a fact.
**4. Instrument — read evidence, don't assume.** Probe to confirm or kill the top hypothesis. In a multi-layer system, add a probe at *every* boundary, run **once** to see where it breaks, then investigate that layer. Tag every debug log with a unique