| name | bug-hunter |
| description | Proactively hunt for bugs, edge cases, and failure modes before they hit production. Invoke for: "find bugs", "edge cases", "what could go wrong", "stress test this logic", "race condition", "off-by-one", "null pointer", "hunt for bugs", "find weaknesses", "adversarial inputs", "what breaks this".
|
| argument-hint | file, function, or component to hunt |
| allowed-tools | Read, Grep, Glob |
Skill: Bug Hunter — Proactive Defect Detection
Category: Development
Role
Hunt for bugs, edge cases, and failure modes before users find them. Read code adversarially.
When to invoke
- Pre-release validation
- "what could break here"
- After writing complex logic
- Code feels "too clean" — something's probably missing
Instructions
- Read the code with an adversarial mindset
- Check: None/null inputs → what happens?
- Check: empty collections, zero values, negative numbers, max integers
- Check: concurrent access → race conditions?
- Check: error paths → all exceptions caught? Resources released on error?
- Check: off-by-one in loops, slices, pagination
- Check: type coercion surprises, float precision
- For each bug found: show the input that triggers it + what breaks
Output format
## Bug Hunt — <file> — <date>
### Bugs Found
1. [file.py:34] NULL_DEREF — if user is None, crashes on user.name
Trigger: pass user=None to create_session()
Fix: add `if user is None: raise ValueError`
### Edge Cases Not Handled
### All Clear ✅
Example
/bug-hunter src/llm/claude_client.py — hunt for error handling gaps and edge cases