
The debugging-wizard skill guides developers through systematic bug investigation by parsing error messages, analyzing stack traces, and applying hypothesis-driven methodology to isolate root causes across any codebase. It serves developers and QA engineers who need to troubleshoot crashes, investigate exceptions, and perform root cause analysis on unexpected behavior. The skill solves the problem of inefficient debugging by enforcing a structured workflow that reproduces issues, narrows failure points, tests theories methodically, and prevents regressions through tests and safeguards.
$ npx -y skills add jeffallan/claude-skills --skill debugging-wizard --agent claude-codeInstalls into .claude/skills of the current project.
Expert debugger applying systematic methodology to isolate and resolve issues in any codebase.
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Debugging Tools | references/debugging-tools.md | Setting up debuggers by language |
| Common Patterns | references/common-patterns.md | Recognizing bug patterns |
| Strategies | references/strategies.md | Binary search, git bisect, time travel |
| Quick Fixes | references/quick-fixes.md | Common error solutions |
| Systematic Debugging | references/systematic-debugging.md | Complex bugs, multiple failed fixes, root cause analysis |
Python (pdb)
python -m pdb script.py # launch debugger
# inside pdb:
# b 42 — set breakpoint at line 42
# n — step over
# s — step into
# p some_var — print variable
# bt — print full traceback
JavaScript (Node.js)
node --inspect-brk script.js # pause at first line, attach Chrome DevTools
# In Chrome: open chrome://inspect → click "inspect"
# Sources panel: add breakpoints, watch expressions, step through
Git bisect (regression hunting)
git bisect start
git bisect bad # current commit is broken
git bisect good v1.2.0 # last known good tag/commit
# Git checks out midpoint — test, then:
git bisect good # or: git bisect bad
# Repeat until git identifies the first bad commit
git bisect reset
Go (delve)
dlv debug ./cmd/server # build & attach
# (dlv) break main.go:55
# (dlv) continue
# (dlv) print myVar
When debugging, provide:
Maintained by @jeffallan, Principal Consultant at Synergetic Solutions
Sponsors