Claude-skill-registry bug-detector
Detects bugs, logic errors, and edge case handling issues in code. Use when reviewing code for runtime errors, null/undefined handling, type errors, and edge cases. Returns structured bug reports with file paths, line numbers, and suggested fixes.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/bug-detector" ~/.claude/skills/majiayu000-claude-skill-registry-bug-detector && rm -rf "$T"
manifest:
skills/data/bug-detector/SKILL.mdsource content
Bug Detector Skill
Instructions
- Analyze code for potential bugs and logic errors
- Check for null/undefined handling
- Identify edge cases that aren't handled
- Look for type errors and runtime exceptions
- Check for off-by-one errors
- Identify race conditions (if applicable)
- Return structured bug reports with:
- File path and line numbers
- Description of the bug
- Current problematic code
- Suggested fix with code example
- Reason why it's a bug
- Priority (Must-Fix, Should-Fix, Nice-to-Have)
Examples
Input: JavaScript function without null check Output:
### BUG-001 - **File**: `utils.js` - **Lines**: 15-18 - **Priority**: Must-Fix - **Issue**: Function will crash if items parameter is null or undefined - **Current Code**: ```javascript function calculateTotal(items) { return items.reduce((sum, item) => sum + item.price, 0); }
- Suggested Fix:
function calculateTotal(items) { if (!items || !Array.isArray(items)) { return 0; } return items.reduce((sum, item) => sum + item.price, 0); } - Reason: Calling reduce on null/undefined will throw TypeError
## Bug Types to Detect - **Null/Undefined Errors**: Missing null checks before operations - **Type Errors**: Wrong data types used in operations - **Logic Errors**: Incorrect algorithm implementation - **Edge Cases**: Unhandled boundary conditions - **Off-by-One Errors**: Array/index boundary mistakes - **Race Conditions**: Concurrent access issues (if applicable) - **Division by Zero**: Missing zero checks - **Array/Collection Errors**: Accessing invalid indices - **Missing Return Values**: Functions that should return but don't - **Incorrect Comparisons**: Wrong comparison operators ## Priority Guidelines - **Must-Fix**: Bugs that cause crashes or incorrect behavior - **Should-Fix**: Bugs that cause minor issues or unexpected behavior - **Nice-to-Have**: Potential issues that might cause problems in edge cases