NavanithanS

ask-bug-finder

Systematic debugging with reproduction, isolation, and hypothesis testing.

NavanithanS 1 1 Updated 3mo ago

Resources

4
GitHub

Install

npx skillscat add navanithans/agent-skill-kit/ask-bug-finder

Install via the SkillsCat registry.

SKILL.md
❌ NO fixing without reproducing first ❌ NO changing random things hoping it works ❌ NO fixing symptoms instead of root cause ✅ MUST read full error message including stack trace ✅ MUST form hypothesis before making changes ✅ MUST write test after fixing to prevent recurrence </critical_constraints> 1. **Reproduce**: - Ensure consistent steps. - Compare expected vs actual. - Check all environments. 2. **Gather**: - Collect error messages and logs. - Review recent changes. - Check environment details. 3. **Hypothesize**: - Identify suspect components. - Seek simplest explanation. 4. **Test**: - Add strategic logging. - detailed assertions. - Comment out sections. 5. **Fix**: - Make minimal changes. - Verify fix. - Check regressions. - Add test case. - **Binary Search**: git bisect to find breaking commit - **Rubber Duck**: explain problem aloud, bug reveals itself - **Divide & Conquer**: midpoint check, narrow scope - **Print Debug**: `[DEBUG] func_name: var={var}` (not just "here") - Off-by-one: `range(len(x)-1)` → should be `range(len(x))` - Null reference: `user.name` without checking `user is None` - Race condition: check-then-act pattern - State mutation: `items.sort()` modifies original </common_patterns> | Tool | Use | |------|-----| | Debugger (pdb) | step through, inspect | | Logger | track execution flow | | Profiler | performance issues | | git bisect | find breaking commit | 1. Take a break 2. Explain to someone (rubber duck) 3. Check the obvious (is server running?) 4. Search for similar issues 5. Create minimal reproduction </when_stuck>