Our review
Systematically diagnose bugs before proposing fixes, following a six-step process.
Strengths
- Clear, reproducible structure for debugging.
- Encourages hypothesis testing with evidence.
- Prevents premature fixes by separating diagnosis from implementation.
Limitations
- May be overly rigid for trivial or obvious bugs.
- Requires prior understanding of the project context.
Use this skill when a bug is reported and you need a methodical approach to find the root cause.
Do not use it when the fix is obvious and immediate, or for tasks that are not debugging.
Security analysis
CautionThe skill instructs using Bash to gather diagnostic evidence, which is legitimate for debugging, but the tool is powerful and could be exploited. No explicit destructive instructions, but caution is warranted.
- •Bash tool is allowed, which can execute arbitrary commands; used for diagnostic purposes but could be risky if misused.
Examples
The app crashes when I click 'Save'. Please debug this systematically.Login endpoint returns 500 error. Diagnose the root cause.The report generator produces incorrect totals. Debug the data flow.name: debug version: 1.0.0 changelog: Initial debug skill with systematic diagnosis description: Diagnose bugs systematically before proposing fixes. Use when something is broken, failing, erroring, or not working as expected. allowed-tools: Read, Grep, Glob, Bash, Task temperature: 0.2 # Mostly systematic, slight exploration
Debug Phase
Diagnose systematically before proposing fixes.
Task
$ARGUMENTS
Instructions
Output: ## Debug Phase
State: At phase start, update STATE.md:
- Set
task:from $ARGUMENTS (if STATE.md is idle/complete or task is "None") - Set
phase: debug - Set
status: in_progress
1. Reproduce
- Confirm the failure exists
- Identify exact error message/behavior
- Note environment conditions (versions, config, state)
2. Isolate
- Narrow to smallest reproducible case
- Identify which component fails
- Trace information flow to failure point
- Use targeted reads/greps, not broad exploration
3. Hypothesize
- List possible causes (most likely first)
- For each: what evidence would confirm/reject?
- Consider: recent changes, dependencies, environment
4. Test Hypotheses
- Gather evidence systematically
- Update hypothesis ranking as evidence arrives
- Stop when root cause is confirmed
5. Produce Diagnosis
Use the diagnosis template:
## Symptom
[What's failing — exact error or behavior]
## Root Cause
[Why it's failing — the actual problem]
## Evidence
- `file:line` — observation
- Command output — what it showed
## Fix Options
1. Option A: [approach] — tradeoffs
2. Option B: [approach] — tradeoffs
## Recommended
[Which option and why]
Context Budget
- Target: complete diagnosis under 30% context
- Use subagents for exploration if needed
- Keep evidence concise — excerpts, not full files
6. Checkpoint
Update STATE.md incrementally:
- Set
phase: debug - Add root cause and fix decision to
## Decisions - Add investigated files to
## Key Files - Update
## Next Stepswith recommended fix
Run /checkpoint if context is heavy or taking a break.
Constraints
- Do not fix yet — diagnosis first
- If fix is obvious (<5 lines, isolated), may proceed with approval
- Otherwise, get approval before implementing
- Don't guess — verify with evidence
Exit Criteria
Root cause identified with evidence. Fix approach clear and approved.
Gate: "Here's the diagnosis. Approve fix approach?"
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.