Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
charon-fan avatar

Debugger

  • 698 installs
  • 65 repo stars
  • Updated June 21, 2026
  • charon-fan/agent-playbook

debugger is an agent skill that runs a structured reproduce-isolate-root-cause-fix-verify loop for developers who encounter bugs, errors, or unexpected behavior blocking delivery.

About

debugger is an advanced debugging specialist skill for coding agents that walks developers through a systematic reproduce-isolate-root-cause-fix-verify loop when bugs or unexpected behavior appear. The skill activates on error reports, stack traces, failing tests, or explicit debugging requests and uses Read, Write, Edit, Bash, Grep, and Glob to inspect code and validate fixes. After completion, hooks can trigger self-improving-agent learning and session logging to capture debugging patterns. Developers reach for debugger when ad-hoc guessing stalls and they need a repeatable diagnostic workflow inside their agent session.

  • Three-phase process: understand problem, isolate issue, analyze root cause
  • Uses git log, logs tail, and env inspection in the gather-context step
  • Supports stack-trace analysis, binary-search narrowing, and minimal repro cases
  • Allowed tools: Read, Write, Edit, Bash, Grep, Glob
  • Background hooks to session-logger and self-improving-agent after completion

Debugger by the numbers

  • 698 all-time installs (skills.sh)
  • Ranked #59 of 610 Debugging skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/charon-fan/agent-playbook --skill debugger

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs698
repo stars65
Security audit3 / 3 scanners passed
Last updatedJune 21, 2026
Repositorycharon-fan/agent-playbook

How do you debug code systematically inside a coding agent?

Run a structured reproduce-isolate-root-cause-fix-verify loop when errors or unexpected behavior block your ship path.

Who is it for?

Developers blocked by runtime errors, failing tests, or unexpected behavior who want a structured debugging loop in their agent.

Skip if: Greenfield feature implementation or architecture planning where no concrete bug or error exists yet.

When should I use this skill?

A user reports a bug, shares a stack trace, mentions debugging, or describes unexpected behavior in running code.

What you get

Reproduced bug report, isolated root cause, applied fix, and verification evidence.

  • root cause analysis
  • verified bug fix

By the numbers

  • Follows a 5-step reproduce-isolate-root-cause-fix-verify loop
  • Allows 6 agent tools: Read, Write, Edit, Bash, Grep, Glob

Files

SKILL.mdMarkdownGitHub ↗

Debugger

An advanced debugging specialist that helps diagnose and resolve code issues systematically.

When This Skill Activates

Activates when you:

  • Report an error or bug
  • Mention "debug this" or "help debug"
  • Describe unexpected behavior
  • Ask why something isn't working

Debugging Process

Phase 1: Understand the Problem

1. Reproduce the issue

  • What are the exact steps to reproduce?
  • What is the expected behavior?
  • What is the actual behavior?
  • What error messages appear?

2. Gather context

   # Check recent changes
   git log --oneline -10

   # Check error logs
   tail -f logs/error.log

   # Check environment
   env | grep -i debug

Phase 2: Isolate the Issue

1. Locate the error source

  • Stack trace analysis
  • Error code lookup
  • Log correlation

2. Narrow down scope

  • Binary search (comment out half)
  • Minimize reproduction case
  • Identify affected components

Phase 3: Analyze the Root Cause

Common Error Categories
CategorySymptomsInvestigation 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 IssuesRace conditions, timingCheck promise handling, async/await
State IssuesStale data, wrong stateTrace state mutations
NetworkTimeouts, connection refusedCheck endpoints, CORS, auth
EnvironmentWorks locally, not in prodCompare env vars, versions
MemoryLeaks, OOMProfile memory usage
ConcurrencyDeadlocks, race conditionsCheck locks, shared state

Phase 4: Form Hypotheses

For each potential cause: 1. Form a hypothesis 2. Create a test to validate 3. Run the test 4. Confirm or reject

Phase 5: Fix and Verify

1. Implement the fix 2. Add logging if needed 3. Test the fix 4. Add regression test

Debugging Commands

General Debugging

# 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/

Language-Specific

JavaScript/TypeScript:

# 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:

# Run with pdb
python -m pdb script.py

# Check syntax
python -m py_compile script.py

# Verbose mode
python -v script.py

Go:

# Race detection
go run -race main.go

# Debug build
go build -gcflags="-N -l"

# Profile
go test -cpuprofile=cpu.prof

Common Debugging Patterns

Pattern 1: Divide and Conquer

# 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

Pattern 2: Add Logging

// 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;
}

Pattern 3: Minimal Reproduction

// 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 Message Analysis

Common Error Messages

ErrorLikely CauseSolution
Cannot read property 'X' of undefinedAccessing property on null/undefinedAdd null check, use optional chaining
X is not a functionWrong type, shadowingCheck typeof, verify import
Unexpected tokenSyntax errorCheck line before error, validate syntax
Module not foundImport path wrongCheck relative path, verify file exists
EADDRINUSEPort already in useKill existing process, use different port
Connection refusedService not runningStart service, check port
TimeoutRequest too slowIncrease timeout, check network

Debugging Checklist

  • [ ] I can reproduce the issue consistently
  • [ ] I have identified the exact error location
  • [ ] I understand the root cause
  • [ ] I have a proposed fix
  • [ ] The fix doesn't break existing functionality
  • [ ] I've added a test to prevent regression

Scripts

Generate a debug report:

python scripts/debug_report.py <error-message>

References

  • references/checklist.md - Debugging checklist
  • references/patterns.md - Common debugging patterns
  • references/errors.md - Error message reference

Related skills

How it compares

Pick this over generic troubleshooting prompts when you need a enforced multi-step diagnostic workflow with verification.

FAQ

What debugging loop does the debugger skill follow?

The debugger skill follows reproduce-isolate-root-cause-fix-verify. Each step narrows the failure until a fix is applied and verified with evidence from the codebase or runtime.

Which tools does the debugger skill use?

The debugger skill uses Read, Write, Edit, Bash, Grep, and Glob to inspect files, run commands, and validate fixes. Hooks can log sessions and feed patterns to self-improving-agent.

Is Debugger safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Debuggingtestingbackend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.