debug-issuelisted
Install: claude install-skill nuttaruj/rolepod
# Debug Issue
Replace guess-and-check with disciplined narrowing: reproduce → trace upstream to root → failing test → minimal fix → verify regression-clean.
## Iron Rule
<EXTREMELY-IMPORTANT>
1. NEVER fix before reproducing with a deterministic command. No repro = guess.
2. NEVER stop at the first symptom fix. Trace upstream to a legitimate stopping point (external input, system boundary, "designed this way"), then fix at root.
3. ALWAYS roll back your last action first (your own diff, reversible undos only) when the error appeared right after your change.
4. ALWAYS write the failing test you wish had existed before shipping the fix.
5. After 2 failed fix attempts on the same surface, STOP fixing — get one cross-model opinion (§9). Its correction is the outside review that permits exactly ONE more attempt; fix #3 without it = thrashing.
</EXTREMELY-IMPORTANT>
## When to use
- Green → red · unrecognized error · wrong output with no exception · build broke after a change · works locally, fails in CI (or the reverse) · two fixes did not stick · the symptom returns at a different surface · about to add a defensive `?.` / null-check / try-catch without knowing why.
## Boundary
Owns: unknown-failure triage — reproduce, trace upstream, root cause, failing regression test, minimal fix.
Does not own: planned feature work · broad refactor · the shipping decision.
Hand off:
- Requirements unclear → `write-spec`. Fix spans files / needs sequencing → `write-plan`.
- **Report-only