bug-localization
Installation
SKILL.md
Bug Localization
Pinpoint the fault location — the code that must change to fix the bug — not merely where the symptom surfaces. A NullPointerException at line 400 is a symptom; the fault is wherever the null was introduced or wherever the null-check was forgotten.
Step 1 — Classify the input signal
Different signals demand different first moves. Pick the row that matches:
| Signal available | First move | Then |
|---|---|---|
| Stack trace / crash dump | Extract top frame that belongs to project code | Backward slice from that variable |
| Failing test, no trace | Read the failing assertion | Find producer of the asserted value |
| Wrong output, no test | Diff actual vs expected — identify which field(s) | Trace producer of divergent field |
| "Broke after upgrading X" | Search for callsites into X | → regression-root-cause-analyzer |
| "Broke in commit range A..B" | Don't read code first — bisect | → regression-root-cause-analyzer |
| Log shows error | grep for the error string literal | Find the condition that triggers it |
| Intermittent / "sometimes" | Do not stare at code; reproduce first | → bug-reproduction-test-generator |
If more than one signal is available, prefer stack traces > failing tests > logs > prose — in that order of precision.