
Distributed Debugging Debug Trace
Stand up VS Code (and related) debug/trace configs so you can breakpoint and trace Node/TypeScript services locally before and after ship.
Overview
distributed-debugging-debug-trace is an agent skill most often used in Ship (also Build, Operate) that implements debug and distributed trace configuration playbooks including VS Code launch setups.
Install
npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill distributed-debugging-debug-traceWhat is this skill?
- VS Code launch.json samples for Node inspect-brk and source maps
- Separate Debug TypeScript configuration with preLaunch tsc build task
- Development env knobs: NODE_ENV, DEBUG=*, NODE_OPTIONS heap sizing
- skipFiles patterns for node_internals and node_modules noise reduction
- Distributed debug/trace patterns referenced from companion playbook sections
- Multiple VS Code launch configurations in SKILL.md (Node.js + TypeScript)
- NODE_OPTIONS --max-old-space-size=4096 example in config
Adoption & trust: 1 installs on skills.sh; 40.1k GitHub stars; 1/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
Your Node or TypeScript service is hard to reproduce under breakpoints because debug configs, source maps, and trace hooks are missing or inconsistent.
Who is it for?
Solo builders shipping Node/TS APIs who want inspect-brk, source maps, and structured debug configs before cutting a release.
Skip if: Teams that only need production APM dashboards with no local debugger setup, or non-Node stacks without adapting the patterns.
When should I use this skill?
User needs debug/trace configuration, VS Code launch.json for Node or TypeScript, or distributed debugging playbook implementation.
What do I get? / Deliverables
You get ready-to-adapt VS Code debug configurations and trace guidance so failures become reproducible stepping sessions instead of opaque log chasing.
- .vscode/launch.json debug configurations
- Documented trace/debug environment settings
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Ship → testing because the playbook centers on pre-release debugging ergonomics and reproducible launch configurations. Testing subphase fits interactive debug sessions and trace setup that unblock QA-style reproduction, distinct from passive production monitoring.
Where it fits
Add inspect-brk launch config while scaffolding a new API entrypoint.
Reproduce a race with breakpoints before tagging a release candidate.
Mirror production failure locally using the same trace and DEBUG flags.
How it compares
Local debugger and trace setup playbook—not a hosted observability SaaS substitute.
Common Questions / FAQ
Who is distributed-debugging-debug-trace for?
Indie backend developers using VS Code who want agent-assisted launch.json and trace patterns for Node.js and TypeScript apps.
When should I use distributed-debugging-debug-trace?
During Build backend work when scaffolding services; during Ship testing when stabilizing releases; during Operate when tracing regressions that need local reproduction.
Is distributed-debugging-debug-trace safe to install?
It suggests dev-only env flags and debugger ports; review the Security Audits panel on this page and avoid exposing inspect ports on untrusted networks.
SKILL.md
READMESKILL.md - Distributed Debugging Debug Trace
# Debug and Trace Configuration Implementation Playbook This file contains detailed patterns, checklists, and code samples referenced by the skill. ## Instructions ### 1. Development Environment Debugging Set up comprehensive debugging environments: **VS Code Debug Configuration** ```json // .vscode/launch.json { "version": "0.2.0", "configurations": [ { "name": "Debug Node.js App", "type": "node", "request": "launch", "runtimeExecutable": "node", "runtimeArgs": ["--inspect-brk", "--enable-source-maps"], "program": "${workspaceFolder}/src/index.js", "env": { "NODE_ENV": "development", "DEBUG": "*", "NODE_OPTIONS": "--max-old-space-size=4096" }, "sourceMaps": true, "resolveSourceMapLocations": [ "${workspaceFolder}/**", "!**/node_modules/**" ], "skipFiles": [ "<node_internals>/**", "node_modules/**" ], "console": "integratedTerminal", "outputCapture": "std" }, { "name": "Debug TypeScript", "type": "node", "request": "launch", "program": "${workspaceFolder}/src/index.ts", "preLaunchTask": "tsc: build - tsconfig.json", "outFiles": ["${workspaceFolder}/dist/**/*.js"], "sourceMaps": true, "smartStep": true, "internalConsoleOptions": "openOnSessionStart" }, { "name": "Debug Jest Tests", "type": "node", "request": "launch", "program": "${workspaceFolder}/node_modules/.bin/jest", "args": [ "--runInBand", "--no-cache", "--watchAll=false", "--detectOpenHandles" ], "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "env": { "NODE_ENV": "test" } }, { "name": "Attach to Process", "type": "node", "request": "attach", "processId": "${command:PickProcess}", "protocol": "inspector", "restart": true, "sourceMaps": true } ], "compounds": [ { "name": "Full Stack Debug", "configurations": ["Debug Backend", "Debug Frontend"], "stopAll": true } ] } ``` **Chrome DevTools Configuration** ```javascript // debug-helpers.js class DebugHelper { constructor() { this.setupDevTools(); this.setupConsoleHelpers(); this.setupPerformanceMarkers(); } setupDevTools() { if (typeof window !== 'undefined') { // Add debug namespace window.DEBUG = window.DEBUG || {}; // Store references to important objects window.DEBUG.store = () => window.__REDUX_STORE__; window.DEBUG.router = () => window.__ROUTER__; window.DEBUG.components = new Map(); // Performance debugging window.DEBUG.measureRender = (componentName) => { performance.mark(`${componentName}-start`); return () => { performance.mark(`${componentName}-end`); performance.measure( componentName, `${componentName}-start`, `${componentName}-end` ); }; }; // Memory debugging window.DEBUG.heapSnapshot = async () => { if ('memory' in performance) { const snapshot = await performance.measureUserAgentSpecificMemory(); console.table(snapshot);