← ClaudeAtlas

awb-debuglisted

WHAT: debug a bug methodically — reproduce it, find the ROOT cause, then fix, then prove the fix. USE WHEN: the user reports something broken / wrong / crashing and the cause is not yet known ("it errors", "wrong output", "doesn't work", "500", "flaky"). DO NOT TRIGGER: implementing a new feature (use a plan-then-code skill); a pure code review; when the cause is already known and it's a one-line edit.
doivamong/agent-workbench · ★ 2 · Code & Development · score 78
Install: claude install-skill doivamong/agent-workbench
# Debug, root cause first > **Announce on activation:** "Using awb-debug — I'll find the root cause before fixing." The expensive mistake in debugging is fixing a *symptom*. This skill forces the order: understand, then change. ## Process 1. **Reproduce — build a fast pass/fail loop.** Get a reliable, minimal, *fast* way to trigger the bug — ideally a one-command signal you can re-run after every change. If you can't reproduce it on demand, you can't know you fixed it. Capture the exact input, environment, and actual vs expected behaviour. 2. **Locate.** Read the code on the path from trigger to symptom. Add a probe (log/print/test) that confirms *where* reality diverges from expectation — don't guess. 3. **HARD GATE: root cause identified.** State the cause in one sentence ("X is null because Y never sets it when Z"). Do **not** write a fix until you can. A fix without a named cause is a guess. 4. **Fix the cause, not the symptom.** Make the smallest change that addresses the root cause. Note if you find sibling bugs — don't silently expand scope. 5. **Prove it.** Add a test that **fails before** the fix and **passes after** — and confirm it actually runs (a mis-named test file passes by collecting nothing; [`awb-tdd`](../awb-tdd/SKILL.md) guards this trap). Re-run the reproduction. A fix without a regression test invites the bug back. 6. **Prevent the class — when it's cheap.** Ask whether the *whole class* of this bug can be made to fai