Our review
Uses the VS Code debugger (DAP) to set breakpoints, step through code, and inspect runtime state.
Strengths
- LSP-informed breakpoint placement for accurate debugging
- One-command smart debug with auto-fix and analysis
- Supports custom expression evaluation during debugging
- Multiple stepping modes for fine-grained control
Limitations
- Requires VS Code debugger to be configured and running
- Only works with languages supported by DAP
- Bridge commands may not be available on all systems
When you need to understand runtime behavior, trace actual execution paths, or inspect variable values dynamically.
For static type errors or syntax bugs; use LSP diagnostics and linting instead.
Security analysis
SafeThe skill only uses predefined debugging commands (bridge-smart-debug, bridge-inspect, bridge-recon) which are restricted to setting breakpoints, launching programs, and inspecting variables; no arbitrary shell execution, network exfiltration, or destructive actions are possible. The skill does not execute untrusted input beyond the expression evaluation in a debugger sandbox, which is standard and safe in this context.
No concerns found
Examples
Debug the function findUser in app.js to see where it fails.Set a breakpoint at line 15 of app.js and inspect the user variable.Step over the next line of code and show me all local variables.name: dap-debug description: Use VS Code debugger (DAP) to set breakpoints, step through code, and inspect runtime state. Invoke when you need to understand runtime behavior, not just static types. user_invocable: true allowed-tools: Bash(bridge-smart-debug *), Bash(bridge-inspect *), Bash(bridge-recon *)
Debug
Smart debug (preferred — LSP-informed)
One command: auto-fix → LSP recon → analyze → set breakpoints at suspicious lines → launch → dump variables at each hit → stop.
# With a symbol to focus on (best results)
bridge-smart-debug <type> <program> <file> <symbol>
# Without a symbol (breaks at diagnostic errors or first function)
bridge-smart-debug <type> <program> <file>
# With expression evaluation
bridge-smart-debug node app.js app.js findUser --eval "typeof user" --eval "users.length"
The script automatically decides WHERE to break based on LSP analysis:
- Lines with type errors from diagnostics
- Callers that invoke the target symbol (where bad data originates)
- Reference sites of the symbol
- The symbol's definition
- Falls back to first function if nothing else found
Manual inspect (when you know the exact line)
bridge-inspect <type> <program> <file> <line>
bridge-inspect node app.js app.js 15 --condition "user === undefined" --eval "users.length"
For interactive stepping, use MCP tools directly
When you need to step through code line by line, fetch DAP tools via ToolSearch:
mcp__vscode-bridge__debugSetBreakpoints+debugStart+debugWaitForEventmcp__vscode-bridge__debugStepOver/debugStepInto/debugStepOutmcp__vscode-bridge__debugGetVariables+debugEvaluatemcp__vscode-bridge__debugContinue+debugStop
When to use debug (not just LSP)
- Bug depends on runtime data (what value a variable actually has)
- Dynamic language where static types aren't available
- Need to trace actual execution path
- Want to inspect state without modifying code
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.