
systematic-debugging
by a-ariff
๐ Production-ready Claude Code plugin marketplace with 41 components: 21 autonomous agents, 15 power skills, 2 smart hooks, 2 custom commands. Transform Claude Code into an autonomous development powerhouse. One-line install, cross-device sync, comprehensive documentation.
SKILL.md
name: systematic-debugging description: Structured approach to finding and fixing bugs version: 1.0.0 author: Ariff when_to_use: When debugging - follow systematic process instead of guessing
Systematic Debugging
The Process
REPRODUCE โ ISOLATE โ TRACE โ FIX โ VERIFY
Never skip steps. Never guess.
Step 1: Reproduce
Goal: See the bug happen reliably
1. Get exact reproduction steps
2. Run them yourself
3. See the exact error
4. Document: input, output, expected
Red flags:
- "It happens sometimes" โ Find the condition
- "I can't reproduce" โ Get more details from reporter
- Skipping this step โ You'll waste time guessing
Step 2: Isolate
Goal: Find minimum case that shows bug
1. Start removing things
2. Does bug still happen?
3. Keep removing until minimal
4. Result: smallest repro case
Why this matters:
- Smaller case = easier to debug
- Reveals what's actually involved
- Eliminates red herrings
Step 3: Trace
Goal: Find root cause (use root-cause-tracing skill)
1. Start at symptom
2. Trace backward: where does bad value come from?
3. Keep asking "where did THIS come from?"
4. Stop when you find origin
Tools:
- Print/log statements
- Debugger breakpoints
- Code reading
- Test isolation
Step 4: Fix
Goal: Change code at root cause
1. Write failing test first
2. Make minimal change to fix
3. Verify test passes
4. Check for side effects
Anti-patterns:
- Big refactor during bugfix
- Fixing symptoms not cause
- No test for the fix
Step 5: Verify
Goal: Confirm fix works and nothing broke
1. Run original reproduction
2. Bug should be gone
3. Run full test suite
4. No regressions
Must have:
- Fresh reproduction attempt
- All tests passing
- No new warnings/errors
Common Bug Types
| Type | Debug Strategy |
|---|---|
| Null/undefined | Trace where value should've been set |
| Wrong value | Log at each transformation step |
| Race condition | Add logging with timestamps |
| State corruption | Find all state modifiers |
| Off-by-one | Check loop bounds and indices |
| Missing case | Check all switch/if branches |
Debug Log Pattern
When adding debug logs:
// Include: location, variable name, value, timestamp
console.log('[user.ts:45]', 'userId:', userId, Date.now());
Clean up logs before committing.
Bisect Strategy
When you don't know what broke it:
1. Find last known working version
2. Find first broken version
3. Binary search between them
4. Each step: does bug exist?
5. Result: exact commit that broke it
Integration with Skills
root-cause-tracingโ For step 3 (Trace)defense-in-depthโ For step 5 (Verify)verification-before-completionโ Before claiming fixed
Integration with Checkers
assumption-checkerโ What assumptions about the code?fact-checkerโ Verify claims about behaviorpre-action-verifierโ Before applying fix
Score
Total Score
Based on repository quality metrics
SKILL.mdใใกใคใซใๅซใพใใฆใใ
ใฉใคใปใณในใ่จญๅฎใใใฆใใ
100ๆๅญไปฅไธใฎ่ชฌๆใใใ
GitHub Stars 100ไปฅไธ
1ใถๆไปฅๅ ใซๆดๆฐ
10ๅไปฅไธใใฉใผใฏใใใฆใใ
ใชใผใใณIssueใ50ๆชๆบ
ใใญใฐใฉใใณใฐ่จ่ชใ่จญๅฎใใใฆใใ
1ใคไปฅไธใฎใฟใฐใ่จญๅฎใใใฆใใ
Reviews
Reviews coming soon

