debuglisted
Install: claude install-skill tansuasici/claude-code-kit
# Debug
## Core Rule
Form a single hypothesis at a time. Validate with a falsifiable test before fixing. Never patch a symptom you haven't reproduced.
## When to Use
Invoke with `/debug` when:
- A bug has been reported or observed and needs systematic investigation
- A test is failing and the cause isn't obvious
- Something "just stopped working" and you need to find out why
- Previous fix attempts haven't resolved the issue
- You want to ensure the fix includes a regression test
## Process
### Phase 1: Reproduce
Before investigating, establish a reliable reproduction:
1. **Get the symptoms** — exact error message, stack trace, unexpected behavior
2. **Get the trigger** — what action causes the bug? What input?
3. **Reproduce locally** — can you make it happen on demand?
4. **Identify consistency** — does it always happen, or is it intermittent?
If you cannot reproduce the bug, do NOT guess at fixes. Instead, add logging/instrumentation to gather more data.
### Phase 2: Hypothesize
Form hypotheses based on evidence, not intuition:
1. **Read the error** — what does the error message actually say?
2. **Read the stack trace** — where exactly does it fail?
3. **Check recent changes** — `git log --since='3 days ago'` — did something change?
4. **Check the language pattern lookup** — if the error matches a category in `references/error-patterns.md`, use it to seed hypotheses (do not blindly accept; verify against the actual code)
5. **Form 2-3 hypotheses** — rank by li