Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Advanced debugging specialist for diagnosing and resolving code issues. Use when user encounters bugs, errors, unexpected behavior, or mentions debugging.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-17 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 59% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 52% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 57% | 0% |
| case-07 | ✓→✓ | = Same ✓ | 59% | 0% |
An advanced debugging specialist that helps diagnose and resolve code issues systematically.
Activates when you:
bash # Check recent changes git log --oneline -10
# Check error logs tail -f logs/error.log
# Check environment env | grep -i debug
| Category | Symptoms | Investigation Steps | |----------|----------|---------------------| | Null/Undefined | "Cannot read X of undefined" | Trace the variable origin | | Type Errors | "X is not a function" | Check actual vs expected type | | Async Issues | Race conditions, timing | Check promise handling, async/await | | State Issues | Stale data, wrong state | Trace state mutations | | Network | Timeouts, connection refused | Check endpoints, CORS, auth | | Environment | Works locally, not in prod | Compare env vars, versions | | Memory | Leaks, OOM | Profile memory usage | | Concurrency | Deadlocks, race conditions | Check locks, shared state |
For each potential cause:
bash# Find recently modified files find . -type f -mtime -1 -name "*.js" -o -name "*.ts" -o -name "*.py" # Grep for error patterns grep -r "ERROR\|FATAL\|Exception" logs/ # Search for suspicious patterns grep -r "TODO\|FIXME\|XXX" src/ # Check for console.log left in code grep -r "console\.log\|debugger" src/
JavaScript/TypeScript:
bash# Run with debug output NODE_DEBUG=* node app.js # Check syntax node -c file.js # Run tests in debug mode npm test -- --inspect-brk
Python:
bash# Run with pdb python -m pdb script.py # Check syntax python -m py_compile script.py # Verbose mode python -v script.py
Go:
bash# Race detection go run -race main.go # Debug build go build -gcflags="-N -l" # Profile go test -cpuprofile=cpu.prof
python# When you don't know where the bug is: def process(): step1() step2() step3() step4() # Comment out half: def process(): step1() # step2() # step3() # step4() # If bug disappears, uncomment half of commented: def process(): step1() step2() # step3() # step4() # Continue until you isolate the bug
typescript// Before (mysterious failure): async function getUser(id: string) { const user = await db.find(id); return transform(user); } // After (with logging): async function getUser(id: string) { console.log('[DEBUG] getUser called with id:', id); const user = await db.find(id); console.log('[DEBUG] db.find returned:', user); const result = transform(user); console.log('[DEBUG] transform returned:', result); return result; }
typescript// Complex code with bug: function processBatch(items, options) { // 100 lines of complex logic } // Create minimal reproduction: function processBatch(items, options) { console.log('Items:', items.length); console.log('Options:', options); // Test with minimal data return processBatch([items[0]], options); }
| Error | Likely Cause | Solution | |-------|--------------|----------| | Cannot read property 'X' of undefined | Accessing property on null/undefined | Add null check, use optional chaining | | X is not a function | Wrong type, shadowing | Check typeof, verify import | | Unexpected token | Syntax error | Check line before error, validate syntax | | Module not found | Import path wrong | Check relative path, verify file exists | | EADDRINUSE | Port already in use | Kill existing process, use different port | | Connection refused | Service not running | Start service, check port | | Timeout | Request too slow | Increase timeout, check network |
Generate a debug report:
bashpython3 scripts/debug_report.py --name <error-message> --output debug-report.md
references/checklist.md - Debugging checklistreferences/patterns.md - Common debugging patternsreferences/errors.md - Error message reference| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 26,444 | 20,596 | -22% | 1 | 1 | 0% | 3,091 | 4,122 | +33% | 0 | 0 | — |
case-02 | fail→fail | 31,186 | 28,940 | -7% | 1 | 1 | 0% | 4,131 | 5,395 | +31% | 0 | 0 | — |
case-03 | fail→fail | 27,306 | 24,585 | -10% | 1 | 1 | 0% | 3,537 | 4,427 | +25% | 0 | 0 | — |
case-04 | pass→pass | 14,165 | 12,431 | -12% | 1 | 1 | 0% | 1,789 | 2,845 | +59% | 0 | 0 | — |
case-05 | pass→pass | 24,084 | 25,952 | +8% | 1 | 1 | 0% | 3,126 | 4,739 | +52% | 0 | 0 | — |
case-06 | pass→pass | 23,174 | 24,786 | +7% | 1 | 1 | 0% | 3,686 | 5,797 | +57% | 0 | 0 | — |
case-07 | pass→pass | 21,172 | 20,432 | -3% | 1 | 1 | 0% | 2,764 | 4,391 | +59% | 0 | 0 | — |
case-08 | pass→pass | 13,974 | 14,726 | +5% | 1 | 1 | 0% | 1,683 | 2,975 | +77% | 0 | 0 | — |
case-09 | pass→pass | 10,130 | 13,390 | +32% | 1 | 1 | 0% | 1,720 | 2,851 | +66% | 0 | 0 | — |
case-10 | pass→pass | 11,771 | 9,165 | -22% | 1 | 1 | 0% | 1,099 | 2,170 | +97% | 0 | 0 | — |
case-11 | pass→pass | 18,735 | 16,634 | -11% | 1 | 1 | 0% | 2,455 | 3,333 | +36% | 0 | 0 | — |
case-12 | pass→pass | 8,974 | 10,899 | +21% | 1 | 1 | 0% | 1,646 | 3,363 | +104% | 0 | 0 | — |
case-13 | pass→pass | 7,808 | 3,786 | -52% | 1 | 1 | 0% | 449 | 1,973 | +339% | 0 | 0 | — |
case-14 | pass→pass | 12,605 | 7,238 | -43% | 1 | 1 | 0% | 1,947 | 2,840 | +46% | 0 | 0 | — |
case-15 | pass→pass | 16,402 | 6,560 | -60% | 1 | 1 | 0% | 1,671 | 2,425 | +45% | 0 | 0 | — |
case-16 | pass→pass | 11,888 | 5,317 | -55% | 1 | 1 | 0% | 1,708 | 2,220 | +30% | 0 | 0 | — |
case-17 | fail→pass | 16,751 | 24,586 | +47% | 1 | 1 | 0% | 2,732 | 3,892 | +42% | 0 | 0 | — |
case-18 | pass→pass | 11,062 | 6,547 | -41% | 1 | 1 | 0% | 1,471 | 2,506 | +70% | 0 | 0 | — |
case-19 | pass→pass | 16,688 | 18,265 | +9% | 1 | 1 | 0% | 1,586 | 3,145 | +98% | 0 | 0 | — |
case-20 | pass→pass | 21,438 | 12,904 | -40% | 1 | 1 | 0% | 2,270 | 3,567 | +57% | 0 | 0 | — |
case-21 | pass→pass | 14,395 | 5,215 | -64% | 1 | 1 | 0% | 1,325 | 2,109 | +59% | 0 | 0 | — |
case-22 | pass→pass | 14,050 | 9,340 | -34% | 1 | 1 | 0% | 1,315 | 2,210 | +68% | 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. The headline lift of +5 percentage points is the difference between those two pass rates over the 22 comparable cases.
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.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 7/26/2026 | +14% |
Other measured skills in the registry, with their headline benchmark lift.