🐛 Auto Debug Skill
name: auto-debug
description: Automatically detect bugs from terminal output and suggest/apply fixes without manual intervention
🎯 Purpose
ตรวจจับ errors จาก terminal output อัตโนมัติ และแนะนำหรือแก้ไขปัญหาทันที ลดเวลา debug ลงอย่างมาก
📋 When to Use
- เมื่อ terminal แสดง error messages
- เมื่อ build/compile fail
- เมื่อ tests fail
- เมื่อ runtime errors occur
- เมื่อ linting errors เกิดขึ้น
🔧 Capabilities
1. Error Detection
| Error Type | Detection Pattern |
|---|
| TypeScript | TS\d+:, Type error: |
| ESLint | error:, warning: |
| Runtime | Error:, Exception: |
| Build | ENOENT, Cannot find module |
| Test | FAIL, Expected.*but received |
2. Common Error Fixes
TypeScript Errors
// TS2322: Type 'string' is not assignable to type 'number'
// Fix: Change variable type or value
// TS2339: Property does not exist
// Fix: Add property to interface or use optional chaining
// TS7006: Parameter implicitly has 'any' type
// Fix: Add explicit type annotation
Module Errors
# Cannot find module 'xyz'
# Fix 1: npm install xyz
# Fix 2: Check import path spelling
# Fix 3: Add to tsconfig paths
# Module not found: Can't resolve './component'
# Fix: Check file exists, check extension, check case sensitivity
Runtime Errors
// TypeError: Cannot read property 'x' of undefined
// Fix: Add null check or optional chaining
// ReferenceError: variable is not defined
// Fix: Declare variable or check scope
// SyntaxError: Unexpected token
// Fix: Check JSON format, missing brackets
📝 Auto-Debug Process
┌─────────────────┐
│ Error Occurs │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Parse Error Msg │ ← Extract error type, location, message
└────────┬────────┘
│
▼
┌─────────────────┐
│ Identify Cause │ ← Match patterns, analyze context
└────────┬────────┘
│
▼
┌─────────────────┐
│ Generate Fix │ ← Create solution based on error type
└────────┬────────┘
│
▼
┌─────────────────┐
│ Apply & Verify │ ← Apply fix, re-run to verify
└────────┬────────┘
│
▼
Fixed? ────No────▶ Try alternative fix
│
Yes
│
▼
Done! ✅
🔄 Auto-Fix Loop
MAX_ATTEMPTS = 5
attempt = 0
while error_exists and attempt < MAX_ATTEMPTS:
error = parse_error(terminal_output)
fix = generate_fix(error)
apply_fix(fix)
result = run_command_again()
if result.success:
log_solution(error, fix) # Save for future
break
else:
attempt += 1
try_alternative_fix()
📚 Error Pattern Database
Build Errors
| Pattern | Cause | Auto-Fix |
|---|
ENOENT | File not found | Check path, create file |
EACCES | Permission denied | Check permissions |
EADDRINUSE | Port in use | Kill process or change port |
Dependency Errors
| Pattern | Cause | Auto-Fix |
|---|
peer dep | Version mismatch | Update package |
ERESOLVE | Conflict | Use --legacy-peer-deps |
not found | Missing package | npm install |
Syntax Errors
| Pattern | Cause | Auto-Fix |
|---|
Unexpected token | Typo, missing bracket | Add missing syntax |
Unterminated string | Missing quote | Add closing quote |
Invalid JSON | Malformed JSON | Fix JSON syntax |
✅ Self-Check
📢 Announcement Format
[🐛 Auto-Debug] Detected: {error type}
[🐛 Auto-Debug] Cause: {root cause}
[🐛 Auto-Debug] Fixing: {applying fix}
[🐛 Auto-Debug] ✅ Fixed: {summary}
🔗 Related Skills
debugging - Manual debugging
error-recovery - Graceful error handling
testing - Prevent errors with tests