onewave-ai/regex-visual-debugger
Debug regex patterns with visual breakdowns, plain English explanations, test case generation, and flavor conversion. Use when user needs help with regular expressions or pattern matching.
npx skills add https://github.com/OneWave-AI/claude-skills --skill regex-visual-debugger
Interactive regex testing, explanation, and debugging tool.
Activate when the user:
# Regex Analysis: `pattern`
## Plain English Explanation
This pattern matches [description]:
- `^` - Start of string
- `[A-Z]` - One uppercase letter
- `\d{3}` - Exactly 3 digits
- `$` - End of string
**Overall**: Matches strings like "A123", "Z999"
## Visual Structure
^ - Start anchor
[A-Z] - Character class (uppercase letters)
\d{3} - Digit, exactly 3 times
$ - End anchor
## Test Results
### Matches
- `A123` -> Full match
- `Z999` -> Full match
### No Match
- `a123` -> Lowercase 'a' doesn't match [A-Z]
- `A12` -> Only 2 digits (needs 3)
- `A1234` -> Too many digits
## Capture Groups
1. Group 1: `[captured text]`
2. Group 2: `[captured text]`
## Issues Found
**Issue 1**: Pattern is too restrictive
- **Problem**: Doesn't handle lowercase letters
- **Fix**: Use `[A-Za-z]` instead of `[A-Z]`
## Suggested Improvements
^[A-Za-z]\d{3,5}$
**Changes**:
- Added lowercase letters
- Changed `{3}` to `{3,5}` for 3-5 digits
## Generated Test Cases
### Should Match
A123
Z999
B456
### Should NOT Match
1ABC (starts with digit)
ABCD (no digits)
A12 (too few digits)
## Flavor-Specific Notes
**JavaScript**: [any JS-specific notes]
**Python**: [any Python-specific notes]
## Conversion to Other Flavors
### JavaScript
const pattern = /^[A-Z]\d{3}$/;
const match = str.match(pattern);
### Python
import re
pattern = r'^[A-Z]\d{3}$'
match = re.match(pattern, string)
## Performance Notes
- Current complexity: O(n)
- No backtracking issues
- Consider using non-capturing groups: `(?:...)` for better performance
User: "Why doesn't this regex match emails: \w+@\w+\.\w+?"
Response: Analyze pattern → Explain it matches simple emails only → Show test cases (fails on "[email protected]") → Identify issues (doesn't handle special chars, multiple TLDs) → Provide improved pattern → Generate comprehensive test cases
User: "Explain this regex: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
Response: Break down pattern (IP address matcher) → Explain each component → Show it matches valid IPs (0-255 per octet) → Provide test cases → Visualize structure
User: "Convert this Python regex to JavaScript: (?P<name>\w+)"
Response: Identify named capture group (Python feature) → Convert to JS equivalent → Explain differences → Show both versions with usage examples
Take onewave-ai/regex-visual-debugger from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.