Debugging
Skills for IronBee DevTools MCP/CLI
npx -y skills add ironbee-ai/ironbee-devtools-skills --skill debuggingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Debug web, Node.js, and Python applications using console inspection, network analysis, and non-blocking code debugging. Use when the user reports bugs, wants to debug JavaScript (browser or backend) or a running Python process, inspect network requests, troubleshoot page/API issues, trace function calls, monitor exceptions, or diagnose Python deadlocks/hung threads.
SKILL.md
9.8 KB, as published. Nobody here has run it
Debugging Skill
Debug web applications, Node.js backends, and running Python processes using console inspection, network analysis, and non-blocking code debugging with tracepoints, logpoints, and exception monitoring.
When to Use
This skill activates when:
- User reports a bug or error on a web page or backend
- User asks to debug JavaScript (frontend or Node.js) or Python (a running process)
- User wants to inspect API calls or network requests
- User needs to troubleshoot page loading or API handler issues
- User mentions console errors or warnings
- User wants to debug without breakpoints
- User needs to trace function calls or monitor variables
- User needs to diagnose a Python deadlock, GIL contention, or hung threads
Capabilities
Console Inspection
ironbee-browser-devtools-cli o11y get-console-messages
ironbee-browser-devtools-cli o11y get-console-messages --type warning
ironbee-browser-devtools-cli --json o11y get-console-messages --type error
Network Analysis
ironbee-browser-devtools-cli o11y get-http-requests
ironbee-browser-devtools-cli --json o11y get-http-requests --resource-type fetch
ironbee-browser-devtools-cli --json o11y get-http-requests --status '{"min":400}'
Tracepoints (Non-Blocking)
ironbee-browser-devtools-cli debug put-tracepoint --url-pattern "app.js" --line-number 42
ironbee-browser-devtools-cli debug list-probes --types tracepoint
ironbee-browser-devtools-cli debug remove-probe --type tracepoint --id <probe-id>
ironbee-browser-devtools-cli debug clear-probes --types tracepoint
Logpoints
ironbee-browser-devtools-cli debug put-logpoint --url-pattern "app.js" --line-number 50 --log-expression "user.id"
ironbee-browser-devtools-cli debug list-probes --types logpoint
ironbee-browser-devtools-cli debug remove-probe --type logpoint --id <probe-id>
ironbee-browser-devtools-cli debug clear-probes --types logpoint
Exception Monitoring
ironbee-browser-devtools-cli debug put-exceptionpoint --state uncaught
ironbee-browser-devtools-cli debug put-exceptionpoint --state all
Watch Expressions
ironbee-browser-devtools-cli debug add-watch --expression "this"
ironbee-browser-devtools-cli debug add-watch --expression "user.id"
ironbee-browser-devtools-cli debug list-probes --types watch
ironbee-browser-devtools-cli debug remove-probe --type watch --id <probe-id>
ironbee-browser-devtools-cli debug clear-probes --types watches
Retrieve and Clear Snapshots (Unified)
ironbee-browser-devtools-cli --json debug get-probe-snapshots
ironbee-browser-devtools-cli --json debug get-probe-snapshots --types tracepoint,logpoint,exceptionpoint
ironbee-browser-devtools-cli --json debug get-probe-snapshots --probe-id "tp_abc" --from-sequence 0
ironbee-browser-devtools-cli debug clear-probe-snapshots
ironbee-browser-devtools-cli debug clear-probe-snapshots --types tracepoint --probe-id "tp_abc"
Node.js Backend Debugging (ironbee-node-devtools-cli)
For debugging Node.js API servers, backends, or scripts:
# 1. Connect to process (by PID, name, or Docker)
ironbee-node-devtools-cli --session-id backend-debug debug connect --pid 12345
ironbee-node-devtools-cli --session-id backend-debug debug connect --process-name "server.js"
# 2. Tracepoint on route handler or service
ironbee-node-devtools-cli --session-id backend-debug debug put-tracepoint \
--url-pattern "routes/api.ts" \
--line-number 42
# 3. Exception monitoring
ironbee-node-devtools-cli --session-id backend-debug debug put-exceptionpoint --state uncaught
# 4. Console logs from Node process
ironbee-node-devtools-cli --session-id backend-debug --json debug get-logs
ironbee-node-devtools-cli --session-id backend-debug --json debug get-logs --search "error"
# 5. Retrieve snapshots (after triggering the code path)
ironbee-node-devtools-cli --session-id backend-debug --json debug get-probe-snapshots
ironbee-node-devtools-cli --session-id backend-debug --json debug get-probe-snapshots --types tracepoint,exceptionpoint
# 6. Status and cleanup
ironbee-node-devtools-cli --session-id backend-debug debug status
ironbee-node-devtools-cli debug disconnect
urlPattern in Node context matches script file paths (e.g., server.js, routes/users.ts). See ironbee-node-devtools-cli skill for full reference.
Python Backend Debugging (ironbee-python-devtools-cli)
For debugging a running Python process (API server, worker, script) via debugpy — the target's Python env must have debugpy installed:
# 1. Connect (already-listening debugpy, PID injection, or process name)
ironbee-python-devtools-cli --session-id py-debug debug connect --host 127.0.0.1 --debugpy-port 5678
ironbee-python-devtools-cli --session-id py-debug debug connect --pid 12345
ironbee-python-devtools-cli --session-id py-debug debug connect --process-name "app.py"
# 2. Tracepoint on a handler (python probes use --file/--line, not --url-pattern/--line-number)
ironbee-python-devtools-cli --session-id py-debug debug put-tracepoint --file "routes/users.py" --line 25
# 3. Exception monitoring
ironbee-python-devtools-cli --session-id py-debug debug put-exceptionpoint --state uncaught
# 4. Process stdout/stderr logs
ironbee-python-devtools-cli --session-id py-debug --json debug get-logs --type error
# 5. Deadlock / hung-thread diagnosis: snapshot EVERY thread's stack at once
ironbee-python-devtools-cli --session-id py-debug --json debug dump-threads --include-locals
# 6. Retrieve snapshots, then clean up
ironbee-python-devtools-cli --session-id py-debug --json debug get-probe-snapshots
ironbee-python-devtools-cli --session-id py-debug debug disconnect
See ironbee-python-devtools-cli skill for full reference.
Error Investigation
ironbee-browser-devtools-cli content take-screenshot --name "error-state"
ironbee-browser-devtools-cli content get-as-html --selector ".error-container"
Basic Debugging Workflow
- Reproduce: Navigate to the problematic page
- Capture: Take screenshot of current state
- Inspect Console: Check for JavaScript errors
- Analyze Network: Look for failed requests
- Investigate: Run diagnostic JavaScript
- Document: Summarize findings with evidence
# Quick debug workflow
ironbee-browser-devtools-cli navigation go-to --url "https://example.com"
ironbee-browser-devtools-cli content take-screenshot --name "initial"
ironbee-browser-devtools-cli --json o11y get-console-messages --type warning
ironbee-browser-devtools-cli --json o11y get-http-requests --status '{"min":400}'
Advanced Debugging Workflow (Non-Blocking)
1. Set Up Probes
SESSION="--session-id debug-session"
# Navigate to app
ironbee-browser-devtools-cli $SESSION navigation go-to --url "http://localhost:3000"
# Tracepoint on a function
ironbee-browser-devtools-cli $SESSION debug put-tracepoint \
--url-pattern "app.js" \
--line-number 42
# Exception monitoring
ironbee-browser-devtools-cli $SESSION debug put-exceptionpoint --state uncaught
2. Add Watch Expressions
ironbee-browser-devtools-cli $SESSION debug add-watch --expression "this"
ironbee-browser-devtools-cli $SESSION debug add-watch --expression "user.id"
3. Interact with Application
ironbee-browser-devtools-cli $SESSION interaction click --selector "#submit-btn"
ironbee-browser-devtools-cli $SESSION sync wait-for-network-idle
4. Retrieve Snapshots
ironbee-browser-devtools-cli $SESSION --json debug get-probe-snapshots
ironbee-browser-devtools-cli $SESSION --json debug get-probe-snapshots --types tracepoint,exceptionpoint
ironbee-browser-devtools-cli $SESSION --json debug get-probe-snapshots --from-sequence 0
5. Clean Up
ironbee-browser-devtools-cli $SESSION debug clear-probes
ironbee-browser-devtools-cli $SESSION debug clear-probe-snapshots
ironbee-browser-devtools-cli session delete debug-session
Probe Types Summary
| Probe | Purpose | Output | CLI |
|---|---|---|---|
| Tracepoint | Function calls | Stack, locals, watches | ironbee-browser-devtools-cli, ironbee-node-devtools-cli, ironbee-python-devtools-cli |
| Logpoint | Expression values | Evaluated result | all three |
| Exceptionpoint | Error catching | Error, stack trace | all three |
| Watch | Per-tracepoint expressions | watchResults in snapshot | list/remove via list-probes, remove-probe, clear-probes |
| Thread dump | Deadlock / GIL / hung-thread diagnosis | Every thread's stack | ironbee-python-devtools-cli only (debug dump-threads) |
Best Practices
- Choose the right CLI: Use
ironbee-browser-devtools-clifor frontend/page debugging; useironbee-node-devtools-clifor Node.js backend/API debugging; useironbee-python-devtools-clifor running Python processes (probes take--file/--linethere, and the target needsdebugpyinstalled) - Always check console for errors first
- Filter network requests to relevant endpoints
- Take screenshots before and after actions (browser)
- Use source maps for minified/bundled code
- Start with exceptions to catch errors first
- Use logpoints for lightweight monitoring
- Poll snapshots with
--from-sequencefor efficiency - Clear probes when done to avoid overhead
- Document reproduction steps clearly