К основному содержанию
скилл CX Codex

debugger — скилл для Claude Code: разбор багов по шагам

Скилл ведёт агента по методике отладки: воспроизвести баг, сузить область, найти причину, починить и закрыть регрессионным тестом.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add zhaono1/agent-playbook --skill debugger -a claude-code
Открыть на GitHub

Что делает debugger

Скилл включается, когда вы пишете про ошибку, странное поведение или просите «задебажить». Агент идёт по фазам: сначала выясняет шаги воспроизведения и ожидаемый результат, потом собирает контекст через git log, логи и переменные окружения, затем ищет источник по стектрейсу и сужает область делением пополам.

Дальше идёт разбор причин по категориям: null и undefined, ошибки типов, гонки в асинхронном коде, устаревшее состояние, сеть, различия окружений, утечки памяти. Под каждую категорию в скилле есть симптомы и что проверять. Гипотезы проверяются тестом, а не на глаз, и после починки агент добавляет регрессионный тест.

Внутри лежат готовые команды под JavaScript, Python и Go: NODE_DEBUG=* node app.js, python -m pdb script.py, go run -race main.go. Есть скрипт scripts/debug_report.py, он собирает отчёт по имени ошибки. Скилл просит доступ к Read, Write, Edit, Bash, Grep и Glob — без записи и запуска команд он не сможет ни логи добавить, ни тест прогнать.

Какие задачи решает

  • воспроизвести баг по шагам и зафиксировать ожидаемое поведение
  • сузить область поиска делением кода пополам
  • отличить гонку в асинхронном коде от устаревшего состояния
  • собрать отчёт по ошибке в markdown-файл
  • добавить регрессионный тест после починки

Примеры запросов агенту

  • помоги задебажить: падает на проде, локально работает
  • вот стектрейс, найди корневую причину
  • сгенерируй debug-report.md по этой ошибке

Как установить debugger

1Через Skills CLI (Vercel)

npx skills add zhaono1/agent-playbook --skill debugger -a claude-code

2Вручную: положить файлы

~/.claude/skills/debugger/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/debugger/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о debugger

Как установить debugger в Claude?

Выполните npx skills add zhaono1/agent-playbook --skill debugger -a claude-code. Скилл встанет в ~/.claude/skills/debugger/SKILL.md.

Что делает скилл debugger?

Проводит отладку по фазам: воспроизведение, изоляция, анализ причины, проверка гипотез, починка и регрессионный тест. Подсказывает команды для JS, Python и Go.

Какие инструменты нужны скиллу?

В нём прописаны Read, Write, Edit, Bash, Grep и Glob. Без Bash не выйдет запустить тесты и посмотреть логи.

Исходный текст

SKILL.md · MIT
---
name: debugger
description: Advanced debugging specialist for diagnosing and resolving code issues. Use when user encounters bugs, errors, unexpected behavior, or mentions debugging.
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
metadata:
  hooks:
    after_complete:
      - trigger: self-improving-agent
        mode: background
        reason: "Learn from debugging patterns"
      - trigger: session-logger
        mode: auto
        reason: "Log debugging session"
---

# 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**
   ```bash
   # 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

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

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

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

### Language-Specific

**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
```

## Common Debugging Patterns

### Pattern 1: Divide and Conquer

```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
```

### Pattern 2: Add Logging

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

### Pattern 3: Minimal Reproduction

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

### Common Error Messages

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

## 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:
```bash
python3 scripts/debug_report.py --name <error-message> --output debug-report.md
```

## References

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

© zhaono1 · MIT · zhaono1/agent-playbook

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
adk-debugger botpress Разбирает трейсы и логи ADK-агента, находит причину сбоя и ведёт по шагам от симптома до проверки фикса. CX Codex +1 1 600установок node-inspect-debugger Hermes Agent Скилл запускает отладчик Node.js с реальными брейкпоинтами, шагованием и доступом к переменным вместо console.log. Работает с любым Node-процессом: тесты, dev-сервер, Ink-компоненты. CX Codex +1 396установок pine-debugger TradersPost Скилл для поиска ошибок и странного поведения в скриптах Pine Script на TradingView. Добавляет инструменты отладки прямо в код. CX Codex +1 460установок incident-response-debugger Seth Hobson Субагент для поиска настоящей причины продакшн-бага: трассирует код, гоняет git bisect и проверяет гипотезы по шагам. CX Codex ★ 41 729звёзд репо ios-debugger-agent официальный OpenAI Скилл для Codex, который собирает и запускает iOS-приложение на симуляторе через XcodeBuildMCP, а потом даёт агенту потыкать в интерфейс и почитать логи. CX Codex GP ChatGPT 105установок argent-metro-debugger software-mansion Скилл подключает отладчик к JS-рантайму через CDP: инспектируете React-компоненты, читаете логи консоли, вычисляете код прямо в процессе. Работает с React Native (iOS, Android, Vega) и Chromium-приложениями (Electron, браузеры). CX Codex +1 26 300установок

Из того же набора18

prd-planner Ведёт создание PRD и технического дизайна через четыре файла в docs/, чтобы агент не терял контекст между шагами. CX Codex +1 829установок test-automator Помогает писать юнит-, интеграционные и E2E-тесты, поднимать фреймворк и считать покрытие. Пригодится, когда тестов в проекте мало или они разъехались. CX Codex +1 812установок qa-expert Скилл для планирования тестового покрытия и настройки quality gates. Пригодится, когда нужно разложить проверки по уровням риска и стадиям CI. CX Codex +1 753установок refactoring-specialist Скилл ведёт агента по шагам рефакторинга: находит запахи кода, предлагает технику и следит, чтобы тесты остались зелёными. CX Codex +1 747установок session-logger Сохраняет короткую сводку разговора с агентом: что решили, какие файлы трогали, что осталось открытым. Пригодится, когда нужно вернуться к работе позже. CX Codex +1 743установок api-documenter Скилл для описания REST и GraphQL API в формате OpenAPI/Swagger. Пригодится, когда нужно превратить россыпь эндпоинтов в читаемую спецификацию. CX Codex +1 717установок documentation-engineer Скилл для написания технической документации: README, описания API, комментарии к коду и архитектурные заметки. Пригодится, когда проект оброс кодом, а доки к нему нет. CX Codex +1 711установок prd-implementation-precheck Скилл прогоняет PRD или спецификацию фичи по чек-листу до начала реализации: находит пробелы в граничных случаях и блокеры, а потом пишет код. CX Codex +1 707установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой