debugging-strategies — скилл для Claude Code: отладка и установка
Скилл помогает пошагово искать причину ошибок, сбоев и проблем с производительностью. Подойдёт, когда поведение проекта отличается от ожидаемого.
/plugin marketplace add wshobson/agents
/plugin install developer-essentials@claude-code-workflowsЧто делает debugging-strategies
Сначала скилл предлагает воспроизвести проблему и собрать сведения: полный стек вызовов, логи, версии зависимостей, переменные окружения и недавние изменения. Затем он помогает выдвинуть гипотезу и проверить её: сузить область поиска, добавить логирование или сравнить рабочую и сломанную конфигурации.
Для разных случаев есть отдельные приёмы: поиск гонок в нестабильных ошибках, профилирование производительности и разбор сбоев в production. Перед выбором отладочных инструментов и анализом памяти нужно прочитать references/tools-and-techniques.md. Скилл стоит поставить, если агенту нужна чёткая процедура расследования; для точечного вопроса без разбора причин он избыточен.
Какие задачи решает
- воспроизвести нестабильную ошибку и сузить условия
- найти узкое место профилированием
- сопоставить сбой с недавними изменениями
- разобрать стек вызовов и журналы production
Примеры запросов агенту
- Найди причину этой ошибки: сначала составь минимальный сценарий воспроизведения.
- Приложение стало медленнее. Предложи, как измерить производительность и найти узкое место.
- Сравни рабочую и сломанную конфигурации и проверь гипотезы по логам.
Как установить debugging-strategies
1Через маркетплейс плагинов
/plugin marketplace add wshobson/agents/plugin install developer-essentials@claude-code-workflows2Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill debugging-strategies -a claude-code3Вручную: положить файлы
~/.claude/skills/debugging-strategies/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/debugging-strategies/
1Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill debugging-strategies -a codex2Вручную: положить файлы
.agents/skills/debugging-strategies/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill debugging-strategies -a cursor2Вручную: положить файлы
.cursor/skills/debugging-strategies/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install wshobson/agents debugging-strategies2Вручную: положить файлы
.github/skills/debugging-strategies/SKILL.mdКомандой платформы
gemini skills install https://github.com/wshobson/agents --path plugins/developer-essentials/skills/debugging-strategiesВручную: положить файлы
.devin/skills/debugging-strategies/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Похожие
Вопросы о debugging-strategies
Как установить debugging-strategies в Claude Code?
Выполните npx skills add wshobson/agents --skill debugging-strategies -a claude-code. Также доступны команды установки через marketplace и плагин developer-essentials@claude-code-workflows.
Что делает debugging-strategies?
Скилл задаёт порядок расследования: воспроизвести ошибку, собрать сведения, сформулировать гипотезу и проверить её. Он также описывает подходы к нестабильным сбоям, производительности и проблемам в production.
Что прочитать перед выбором отладочных инструментов?
Сначала прочитайте references/tools-and-techniques.md. Скилл отдельно требует это перед выбором инструментов и анализом памяти.
Исходный текст
SKILL.md · MIT
--- name: debugging-strategies description: Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack. Use when investigating bugs, performance issues, or unexpected behavior. --- # Debugging Strategies Transform debugging from frustrating guesswork into systematic problem-solving with proven strategies, powerful tools, and methodical approaches. ## When to Use This Skill - Tracking down elusive bugs - Investigating performance issues - Understanding unfamiliar codebases - Debugging production issues - Analyzing crash dumps and stack traces - Profiling application performance - Investigating memory leaks - Debugging distributed systems ## Core Principles ### 1. The Scientific Method **1. Observe**: What's the actual behavior? **2. Hypothesize**: What could be causing it? **3. Experiment**: Test your hypothesis **4. Analyze**: Did it prove/disprove your theory? **5. Repeat**: Until you find the root cause ### 2. Debugging Mindset **Don't Assume:** - "It can't be X" - Yes it can - "I didn't change Y" - Check anyway - "It works on my machine" - Find out why **Do:** - Reproduce consistently - Isolate the problem - Keep detailed notes - Question everything - Take breaks when stuck ### 3. Rubber Duck Debugging Explain your code and problem out loud (to a rubber duck, colleague, or yourself). Often reveals the issue. ## Systematic Debugging Process ### Phase 1: Reproduce ```markdown ## Reproduction Checklist 1. **Can you reproduce it?** - Always? Sometimes? Randomly? - Specific conditions needed? - Can others reproduce it? 2. **Create minimal reproduction** - Simplify to smallest example - Remove unrelated code - Isolate the problem 3. **Document steps** - Write down exact steps - Note environment details - Capture error messages ``` ### Phase 2: Gather Information ```markdown ## Information Collection 1. **Error Messages** - Full stack trace - Error codes - Console/log output 2. **Environment** - OS version - Language/runtime version - Dependencies versions - Environment variables 3. **Recent Changes** - Git history - Deployment timeline - Configuration changes 4. **Scope** - Affects all users or specific ones? - All browsers or specific ones? - Production only or also dev? ``` ### Phase 3: Form Hypothesis ```markdown ## Hypothesis Formation Based on gathered info, ask: 1. **What changed?** - Recent code changes - Dependency updates - Infrastructure changes 2. **What's different?** - Working vs broken environment - Working vs broken user - Before vs after 3. **Where could this fail?** - Input validation - Business logic - Data layer - External services ``` ### Phase 4: Test & Verify ```markdown ## Testing Strategies 1. **Binary Search** - Comment out half the code - Narrow down problematic section - Repeat until found 2. **Add Logging** - Strategic console.log/print - Track variable values - Trace execution flow 3. **Isolate Components** - Test each piece separately - Mock dependencies - Remove complexity 4. **Compare Working vs Broken** - Diff configurations - Diff environments - Diff data ``` Before selecting debugging tools or performing bisect, differential, trace, or memory analysis, read `references/tools-and-techniques.md`. ## Debugging Patterns by Issue Type ### Pattern 1: Intermittent Bugs ```markdown ## Strategies for Flaky Bugs 1. **Add extensive logging** - Log timing information - Log all state transitions - Log external interactions 2. **Look for race conditions** - Concurrent access to shared state - Async operations completing out of order - Missing synchronization 3. **Check timing dependencies** - setTimeout/setInterval - Promise resolution order - Animation frame timing 4. **Stress test** - Run many times - Vary timing - Simulate load ``` ### Pattern 2: Performance Issues ```markdown ## Performance Debugging 1. **Profile first** - Don't optimize blindly - Measure before and after - Find bottlenecks 2. **Common culprits** - N+1 queries - Unnecessary re-renders - Large data processing - Synchronous I/O 3. **Tools** - Browser DevTools Performance tab - Lighthouse - Python: cProfile, line_profiler - Node: clinic.js, 0x ``` ### Pattern 3: Production Bugs ```markdown ## Production Debugging 1. **Gather evidence** - Error tracking (Sentry, Bugsnag) - Application logs - User reports - Metrics/monitoring 2. **Reproduce locally** - Use production data (anonymized) - Match environment - Follow exact steps 3. **Safe investigation** - Don't change production - Use feature flags - Add monitoring/logging - Test fixes in staging ``` ## Best Practices 1. **Reproduce First**: Can't fix what you can't reproduce 2. **Isolate the Problem**: Remove complexity until minimal case 3. **Read Error Messages**: They're usually helpful 4. **Check Recent Changes**: Most bugs are recent 5. **Use Version Control**: Git bisect, blame, history 6. **Take Breaks**: Fresh eyes see better 7. **Document Findings**: Help future you 8. **Fix Root Cause**: Not just symptoms ## Common Debugging Mistakes - **Making Multiple Changes**: Change one thing at a time - **Not Reading Error Messages**: Read the full stack trace - **Assuming It's Complex**: Often it's simple - **Debug Logging in Prod**: Remove before shipping - **Not Using Debugger**: console.log isn't always best - **Giving Up Too Soon**: Persistence pays off - **Not Testing the Fix**: Verify it actually works ## Quick Debugging Checklist ```markdown ## When Stuck, Check: - [ ] Spelling errors (typos in variable names) - [ ] Case sensitivity (fileName vs filename) - [ ] Null/undefined values - [ ] Array index off-by-one - [ ] Async timing (race conditions) - [ ] Scope issues (closure, hoisting) - [ ] Type mismatches - [ ] Missing dependencies - [ ] Environment variables - [ ] File paths (absolute vs relative) - [ ] Cache issues (clear cache) - [ ] Stale data (refresh database) ```
© Seth Hobson · MIT · wshobson/agents