From debug-agent
Use when writing, reviewing, or fixing Node.js or TypeScript code — type errors (TS2322, TS2345, "is not assignable"), `tsconfig`/strict-mode issues, async/await bugs, unhandled promise rejections, `Cannot read properties of undefined`, EventEmitter/stream/worker code, npm/pnpm/Express/Fastify backends, Jest/Vitest tests, or plain-JS (no types) work. Keywords: typescript, ts, node, esm, async, promise, generics, vitest, jest.
How this skill is triggered — by the user, by Claude, or both
Slash command
/debug-agent:nodeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
TypeScript-first development skill. Delivers strict-typed, clean, verified Node/TS code. JavaScript without types is the fallback, not the default.
TypeScript-first development skill. Delivers strict-typed, clean, verified Node/TS code. JavaScript without types is the fallback, not the default.
strict: true with every flag on; no any without a justification; types model the domain, not the other way around.dbga and the debug-agent skill before guessing. See references/debugging.md._shared/clean-code.md (cross-reference, do not restate).npm outdated, npm audit) — see _shared/dependency-hygiene.md._shared/evidence-first.md.| Need | Read |
|---|---|
| Module/composition/DI patterns, anti-patterns | references/design-patterns.md |
Advanced types: conditional, mapped, template-literal, branded, discriminated unions, infer, utility types | references/typescript-types.md |
| async/await, Promise combinators, concurrency limits, streams, EventEmitter, graceful shutdown | references/async-patterns.md |
Typed errors, Result types, never exhaustiveness, custom error classes, async error wrapping | references/errors-structure.md |
| Plain JS with no types: JSDoc typing, defensive coding, ESM | references/js-fallback.md |
dbga + vscode-js-debug recipes for Node/TS | references/debugging.md |
node (use a current LTS). Package manager: npm / pnpm.tsc --noEmit. Lint/format: ESLint + Prettier.tsc --noEmit, the test suite, or the actual command) before declaring anything done.You have dbga — an evidence-first debugger for Python/Go/Node over DAP — and the debug-agent skill. When code crashes, hangs, produces wrong output, or you need live runtime state, DO NOT guess from source. Gather evidence:
dbga diagnose --timeout 60 --cwd <dir> -- node buggy.js → triage a crash to the deepest user framedbga session start --break-at file:line -- <script> then dbga session eval --expr "<x>" → inspect live statedebug-agent skill for the full evidence-first loop.Node uses vscode-js-debug (set $DBGA_JS_DEBUG_SERVER if not auto-discovered); only a single launched process is validated today. Validate against real use flows and verify the fix at the original fault before declaring it done.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub niradler/dbga --plugin debug-agent