debug-mode
Autonomous debugging workflow mirroring Cursor IDE's debug mode. Triggers on "debug mode", "help me debug", error messages, stack traces, or debugging loops. Generates 5-7 hypotheses, narrows to top 2, adds strategic logs with [DEBUG:] prefix, collects logs via local server, analyzes, fixes, and cleans up.
When & Why to Use This Skill
This Claude skill implements an autonomous, systematic debugging workflow inspired by Cursor IDE's debug mode. It streamlines the troubleshooting process by generating ranked hypotheses, injecting strategic [DEBUG:] logs, and utilizing a local server to capture and analyze runtime data for precise and efficient bug resolution.
Use Cases
- Troubleshooting intermittent asynchronous race conditions by tracking execution order and timestamps with strategic logging.
- Resolving complex state management issues in frontend or backend applications by monitoring data mutations before and after state changes.
- Diagnosing API integration failures and mismatches by capturing real-time request and response payloads through a dedicated local log server.
- Systematically narrowing down the root cause of 'undefined' or null reference errors in large, unfamiliar codebases using hypothesis-driven analysis.
- Automating the cleanup of temporary debugging statements and performing final verification to ensure clean, production-ready code after a fix.
| name | debug-mode |
|---|---|
| description | Autonomous debugging workflow mirroring Cursor IDE's debug mode. Triggers on "debug mode", "help me debug", error messages, stack traces, or debugging loops. Generates 5-7 hypotheses, narrows to top 2, adds strategic logs with [DEBUG:] prefix, collects logs via local server, analyzes, fixes, and cleans up. |
Debug Mode
Systematic debugging through hypothesis generation, strategic logging, and iterative analysis.
Activation Triggers
- "debug mode" or "enter debugger mode"
- "help me debug" or "fix this bug"
- Error messages or stack traces shared
- User stuck in debugging loop
- Previous fix attempts failed
Workflow
Phase 1: Hypothesize
Generate 5-7 possible causes, then narrow to top 2:
## Hypotheses (ranked)
1. [Most likely] ...
2. [Likely] ...
3. [Possible] ...
Consider: type errors, null/undefined, async timing, state bugs, API mismatches, imports, dependencies.
Phase 2: Add Logs
Insert strategic logs at:
- Function entry/exit
- Before/after data transforms
- API boundaries
- State mutations
- Conditional branches
Format: [DEBUG:location] description: value
console.log('[DEBUG:functionName] variable:', JSON.stringify(val, null, 2));
print(f'[DEBUG:function_name] variable: {val}')
Phase 3: Collect Logs
Terminal: npm run dev 2>&1 | tee debug.log
Log Server (recommended):
node ~/.claude/plugins/debug-mode/skills/debug-mode/scripts/log-server.js
Then app sends to http://localhost:3333/log
Read logs:
node ~/.claude/plugins/debug-mode/skills/debug-mode/scripts/read-logs.js --json
Phase 4: Analyze
## Log Analysis
- Expected: A → B → C
- Actual: A → B → ✗
- Divergence: After B, value was X not Y
- Root cause: [conclusion]
Phase 5: Fix & Verify
- Implement fix
- Run with logs still in place
- Verify fix works
- If not fixed → return to Phase 1
Phase 6: Cleanup
grep -rn "\[DEBUG:" --include="*.js" --include="*.ts" --include="*.py" .
Remove all [DEBUG: logs, run final verification.
Quick Patterns
| Bug Type | Symptoms | Log Focus |
|---|---|---|
| Type error | TypeError, undefined | Variable types/values |
| Async race | Intermittent | Timestamps, order |
| State bug | Stale data | Before/after mutations |
| API issue | Bad response | Request/response bodies |
| Null ref | Cannot read property | Object structure |
Scripts
scripts/log-server.js- HTTP server at :3333 for collecting logsscripts/read-logs.js- CLI to fetch/filter collected logs