Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Parses error messages, traces execution flow through stack traces, correlates log entries to identify failure points, and applies systematic hypothesis-driven methodology to isolate and resolve bugs. Use when investigating errors, analyzing stack traces, finding root causes of unexpected behavior, troubleshooting crashes, or performing log analysis, error investigation, or root cause analysis.
.claude/skills/jeffallan-debugging-wizard/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | -10% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -38% | 0% |
| case-14 | ✗→✓ | ▲ Improved | -25% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 61% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 71% | 0% |
Expert debugger applying systematic methodology to isolate and resolve issues in any codebase.
Load detailed guidance based on context:
<!-- Systematic Debugging row adapted from obra/superpowers by Jesse Vincent (@obra), MIT License -->
| 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)
bashpython -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)
bashnode --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)
bashgit 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)
bashdlv debug ./cmd/server # build & attach # (dlv) break main.go:55 # (dlv) continue # (dlv) print myVar
When debugging, provide:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | fail→fail | 4,687 | 4,178 | -11% | 1 | 1 | 0% | 883 | 1,428 | +62% | 0 | 0 | — |
case-01 | fail→fail | 16,682 | 12,018 | -28% | 1 | 1 | 0% | 2,919 | 2,771 | -5% | 0 | 0 | — |
case-02 | fail→fail | 46,919 | 18,393 | -61% | 1 | 1 | 0% | 1,395 | 3,930 | +182% | 0 | 0 | — |
case-03 | fail→fail | 21,141 | 18,034 | -15% | 1 | 1 | 0% | 3,476 | 3,800 | +9% | 0 | 0 | — |
case-05 | pass→pass | 5,091 | 3,643 | -28% | 1 | 1 | 0% | 883 | 1,418 | +61% | 0 | 0 | — |
case-06 | pass→pass | 4,418 | 3,652 | -17% | 1 | 1 | 0% | 722 | 1,234 | +71% | 0 | 0 | — |
case-07 | pass→pass | 7,004 | 4,471 | -36% | 1 | 1 | 0% | 1,274 | 1,427 | +12% | 0 | 0 | — |
case-08 | pass→pass | 7,737 | 5,688 | -26% | 1 | 1 | 0% | 1,232 | 1,571 | +28% | 0 | 0 | — |
case-09 | pass→pass | 10,419 | 5,161 | -50% | 1 | 1 | 0% | 1,458 | 1,467 | +1% | 0 | 0 | — |
case-10 | pass→pass | 7,080 | 4,315 | -39% | 1 | 1 | 0% | 895 | 1,116 | +25% | 0 | 0 | — |
case-11 | pass→pass | 11,732 | 3,032 | -74% | 1 | 1 | 0% | 1,780 | 1,185 | -33% | 0 | 0 | — |
case-12 | fail→pass | 9,252 | 3,140 | -66% | 1 | 1 | 0% | 1,354 | 1,213 | -10% | 0 | 0 | — |
case-13 | fail→pass | 11,398 | 2,224 | -80% | 1 | 1 | 0% | 1,706 | 1,058 | -38% | 0 | 0 | — |
case-22 | pass→pass | 11,302 | 10,354 | -8% | 1 | 1 | 0% | 2,058 | 2,537 | +23% | 0 | 0 | — |
case-14 | fail→pass | 10,316 | 2,932 | -72% | 1 | 1 | 0% | 1,607 | 1,206 | -25% | 0 | 0 | — |
case-15 | pass→pass | 7,332 | 4,766 | -35% | 1 | 1 | 0% | 1,068 | 1,424 | +33% | 0 | 0 | — |
case-16 | pass→pass | 7,489 | 5,207 | -30% | 1 | 1 | 0% | 1,066 | 1,526 | +43% | 0 | 0 | — |
case-17 | pass→pass | 9,796 | 4,154 | -58% | 1 | 1 | 0% | 1,419 | 1,311 | -8% | 0 | 0 | — |
case-18 | pass→pass | 7,569 | 7,320 | -3% | 1 | 1 | 0% | 1,196 | 1,807 | +51% | 0 | 0 | — |
case-19 | pass→pass | 8,037 | 3,519 | -56% | 1 | 1 | 0% | 1,202 | 1,286 | +7% | 0 | 0 | — |
case-20 | pass→pass | 20,868 | 20,387 | -2% | 1 | 1 | 0% | 4,539 | 5,049 | +11% | 0 | 0 | — |
case-21 | pass→pass | 7,782 | 8,030 | +3% | 1 | 1 | 0% | 1,475 | 2,247 | +52% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +14 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.