Debug
Use when encountering a bug, test failure, unexpected behavior, or when the user asks for help debugging. Hypothesis-driven — reproduce, investigate, fix, verify. Standalone — works outside the plan/spec/build workflow.From its SKILL.md
npx -y skills add Ratler/dream-team --skill debugAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 16 stars16 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.3 KB, as published. Nobody here has run it
Debugging Through Investigation
Help the user debug an issue through systematic investigation and hypothesis-driven problem solving. This is a conversation, not a fix-it script.
Start by understanding the issue, then reproduce it, form theories, investigate with evidence, and only fix once you understand the root cause.
The Process
Understanding the issue:
- Explore the codebase first — read relevant files to build context before asking questions
- Ask questions one at a time to understand the problem
- Prefer multiple choice questions when possible, but open-ended is fine too
- Only one question per message
- Focus on understanding: expected behavior, actual behavior, reproduction steps, when it started, what changed recently
Reproducing the issue:
- Attempt to reproduce the issue before investigating code
- If this is a frontend/browser issue and you see
playwright_*tools available, use them:playwright_navigateto load the pageplaywright_screenshotto capture visual evidenceplaywright_click/playwright_fillto interact with elementsplaywright_evaluateto check console errors and state
- If this is a backend/CLI issue, run the reproduction steps with Bash
- If this is a test failure, run the specific failing test
- If you cannot reproduce, investigate why — environment, timing, specific data, concurrency
- Document the reproduction case clearly — you need it later to verify the fix
Forming hypotheses:
- Based on symptoms and code context, propose 2-3 theories about the root cause
- For each theory: description, likelihood (high/medium/low), how to test it
- Present theories to the user — they may have context that rules some out
- Wait for user input before proceeding
Investigating:
- Work through hypotheses starting with the most likely
- Read relevant code paths — use Glob and Grep to find files, Read to inspect
- Check logs, trace execution, inspect state
- Use Playwright for frontend state inspection if available
- Present findings as you go — if Theory A doesn't pan out, explain why and move to Theory B
- Once you identify the root cause with evidence, present it clearly and wait for confirmation:
Root cause identified:
- File: [path:line]
- Problem: [what's wrong]
- Why: [explanation]
- Evidence: [what you observed]
Fixing:
- Propose the fix before implementing — the user may want a different approach
- Apply the minimal change that addresses the root cause
- Do not refactor unrelated code
- Add a test case for the bug if it wasn't covered by tests
- Add defensive checks or better error messages if appropriate
Verifying:
- Re-run the reproduction case — confirm the issue is fixed
- Run relevant tests — ensure nothing else broke
- Check related functionality for similar issues
- If Playwright is available, take a screenshot showing the fix works
Report
After fixing, provide a clear summary:
Debug session complete.
Issue: [brief description]
Root Cause: [what was wrong]
Fix: [what changed]
Files modified:
- [path] — [summary of changes]
Verification:
- [x] Issue no longer reproduces
- [x] Tests pass
- [x] Related functionality checked
Key Principles
- One question at a time — do not overwhelm
- Reproduce first — never skip this step
- Hypothesis-driven — do not make random changes
- Evidence-based — confirm theories with data, not guesses
- Minimal fixes — address the root cause, not symptoms
- Verify thoroughly — test the fix and related functionality
- Interactive — involve the user at key decision points
- Use Playwright when available — for frontend debugging, check your tool list for
playwright_*tools
When to Stop and Escalate
Stop and ask the user for help if:
- You cannot reproduce the issue after multiple attempts
- The root cause requires domain knowledge you do not have
- The fix would require architectural changes beyond a targeted patch
- Multiple theories seem equally plausible and you need more context