Claude-skill-registry debug
Fix bugs systematically instead of guessing. Use when features break, users report errors, or tests fail. Covers reproducing bugs, gathering diagnostic info, and working with AI tools to fix issues efficiently for non-technical founders.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/7-debug" ~/.claude/skills/majiayu000-claude-skill-registry-debug && rm -rf "$T"
skills/data/7-debug/SKILL.mdDebug
Debugging Workflow
Debug Process: - [ ] Reproduce bug consistently - [ ] Capture what's happening (screenshots, errors) - [ ] Check what changed recently - [ ] Gather diagnostic info - [ ] Give info to AI to diagnose - [ ] AI proposes fix - [ ] Test fix works - [ ] Verify didn't break anything else
See DEBUG-CHECKLIST.md for detailed steps.
The Golden Rule
NO GUESSING. GATHER INFO FIRST.
Bad approach:
- Something broke
- Try random fix
- Doesn't work
- Try another fix
- Still broken after 5 attempts
Good approach:
- Something broke
- Reproduce it consistently
- Gather diagnostic info
- Give to AI to diagnose
- AI fixes it (usually first try)
Diagnosis before fixes.
Reproducing Bugs
Before asking AI to fix, reproduce it:
Can you reproduce it? - [ ] Exact steps to trigger bug - [ ] Happens every time - [ ] Happens on specific browser/device - [ ] Happens with specific data If can't reproduce: - Ask user for exact steps - Try different browser/device - Try with different data - Check if intermittent (timing issue)
Tell AI:
Bug: [description] Steps to reproduce: 1. [Step] 2. [Step] 3. [Bug happens] Happens: [Always / Sometimes / Once] Browser: [Chrome 120 on Mac] Screenshot: [attach]
Capturing Error Info
Browser Console Errors
Open console:
- Right-click page → Inspect
- Click "Console" tab
- Look for red errors
Screenshot errors and give to AI:
I see this error in console: [paste error message] When it happens: [what you were doing] Please: 1. Explain what this means 2. Identify the cause 3. Fix the issue
Network Errors
Check network tab:
- Open DevTools → Network
- Reproduce bug
- Look for failed requests (red)
- Click failed request
- Check response
Tell AI:
API call failing: URL: /api/endpoint Status: 500 Internal Server Error Response: [paste error response] This happens when: [action]
Visual Bugs
Screenshot everything:
- What you expected to see
- What actually shows
- Full page context
- Error messages
Tell AI:
Visual bug: [description] Expected: [screenshot or description] Actual: [screenshot] Device: [iPhone 14, Chrome on Mac, etc]
What Changed?
Ask yourself:
- Did this work yesterday?
- What did AI change today?
- Did you deploy recently?
- Did you change any settings?
Tell AI:
This worked yesterday, broke today. Changes made today: - [Change 1] - [Change 2] Which could cause: [the bug]?
Common Bug Types
"Nothing happens when I click"
Check:
- Console errors?
- Network request failing?
- Button actually clickable?
Tell AI:
Button does nothing when clicked. Button: [which button] Expected: [what should happen] Console errors: [paste any errors]
"Page won't load"
Check:
- Network errors?
- JavaScript errors?
- Infinite redirect?
Tell AI:
Page won't load: /page/url Browser shows: [blank / error / loading forever] Console errors: [paste] Network errors: [paste]
"Wrong data showing"
Check:
- API returning wrong data?
- Caching issue?
- State management bug?
Tell AI:
Showing wrong data. Expected: [User A's profile] Showing: [User B's profile] API response: [paste from Network tab]
"Form doesn't submit"
Check:
- Validation errors?
- Console errors?
- Network request happening?
Tell AI:
Form won't submit. Form: [which form] Filled: [what data entered] Validation errors: [any visible] Console errors: [paste]
Working with AI to Debug
Step 1: Gather Info
Before asking AI to fix, provide: - Exact steps to reproduce - Expected vs actual behavior - Screenshots/error messages - Browser and device - What changed recently (if known)
Step 2: AI Diagnoses
[Paste all info above] Before proposing fixes: 1. What do you think is wrong? 2. Why is it happening? 3. What needs to change? Explain in plain English first.
Step 3: AI Fixes
Okay, now please fix it. After fixing: - Explain what you changed - How to test the fix - What to watch out for
Step 4: Verify Fix
Test the fix: - [ ] Original bug is gone - [ ] Tested same steps, works now - [ ] Related features still work - [ ] No new console errors
See DEBUG-PROMPTS.md for more patterns.
When You're Stuck
After 2 failed fix attempts:
Stop. Don't try a 3rd fix.
Ask AI:
Tried 2 fixes, both didn't work. Original bug: [description] Fix 1: [what we tried] - didn't work Fix 2: [what we tried] - still broken Questions: - Are we fixing the wrong thing? - Is there a better approach? - Should we start over?
If 3+ fixes failed: Probably need to rethink approach, not try more fixes.
Intermittent Bugs
"It works sometimes, breaks sometimes"
Likely causes:
- Race condition (timing)
- Caching issue
- Network timing
- External API flakiness
Tell AI:
Bug is intermittent. Works: [X] out of 10 times Fails: [Y] out of 10 times Pattern noticed: - Fails more often when [condition] - Never fails when [condition] Please add logging to capture when it fails.
Bugs in Production
Users reporting bugs in live app:
Priority 1: Can users work around it?
- Yes → Fix in next deployment
- No → Emergency fix needed
For emergency fixes:
Production bug blocking users. Bug: [description] Impact: [how many users affected] Need quick fix: - Simplest solution that works - Don't optimize, just unblock users - Can improve later
For non-urgent:
Production bug reported by user. Bug: [description] Impact: [minor / major] Can work around: [yes / no] Reproduce in development: [steps] Then fix and test before deploying.
Reading Error Messages
Common error patterns:
"Cannot read property of undefined"
- Trying to access something that doesn't exist
- Check: Is data loaded before accessing it?
"Maximum call stack exceeded"
- Infinite loop or recursion
- Check: Function calling itself forever?
"Network request failed"
- API call not working
- Check: Network tab for status code
"Unauthorized" or "401"
- Authentication issue
- Check: Are you logged in? Token valid?
"Internal Server Error" or "500"
- Backend problem
- Check: Server logs for details
See ERROR-MESSAGES.md for more.
Debugging Tools
Built into browser:
- Console: See errors and logs
- Network: See API calls and responses
- Elements: Inspect HTML/CSS
- Sources: Set breakpoints (advanced)
How to use:
- Open DevTools (F12 or right-click → Inspect)
- Click relevant tab
- Reproduce bug
- Look for errors/failed requests
Screenshot and give to AI - AI can interpret errors.
Common Mistakes
| Mistake | Fix |
|---|---|
| Trying fixes without info | Gather diagnostic info first |
| "It doesn't work" | Be specific: what doesn't work? |
| Not reproducing first | Find consistent steps to trigger bug |
| Random fixes | Diagnose root cause first |
| Ignoring console errors | Always check console |
| Not testing after fix | Verify fix works, didn't break other things |
When to Get Help
Consider hiring developer when:
- Stuck after following this process
- Critical bug can't figure out
- Same bug keeps coming back
- Bug in complex integration
- Need production fixed urgently
For most bugs: Following this process with AI is sufficient.
Prevention
After fixing, ask AI:
Bug is fixed. How could we have prevented this? - Better validation? - Better error handling? - Testing we should add?
Build prevention into next features.
Quick Debug Checklist
When something breaks:
Quick Debug: - [ ] Can I reproduce it? - [ ] Any console errors? - [ ] Any network errors? - [ ] What changed recently? - [ ] Screenshot the issue - [ ] Gather all info - [ ] Give to AI with context - [ ] Test AI's fix
5 minutes of diagnosis > 2 hours of guessing
Success Looks Like
✅ Bugs fixed on first or second try
✅ Can explain what was wrong
✅ Know how to reproduce bugs
✅ Gather complete info before asking for fixes
✅ Verify fixes work and don't break other things
✅ Bugs getting rarer over time (learning patterns)