Debug applications using the dbg CLI debugger. An agent skill from theodo-group/debug-that.

MITAuto-check passedDevelopment

Install Dbg

skills CLI
$ npx skills add theodo-group/debug-that --skill dbg -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install theodo-group/debug-that dbg --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/theodo-group/debug-that.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/debug-that .claude/skills/dbg && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dbg
GitHub stars
158
Token cost
~2.2k tokens
SKILL.md length
607 words
Files
2 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Debug applications using the dbg CLI debugger. An agent skill from theodo-group/debug-that.

  • Investigating runtime bugs by stepping through code
  • SKILL.md covers Supported Runtimes, Core Debug Loop, Debugging Strategies and Ref System, plus 3 more sections
  • Calls python3 and node
  • Inspecting variable values at specific execution points

What it does

Dbg is an agent skill from theodo-group/debug-that. Debug applications using the dbg CLI debugger. Supports Node.js (V8/CDP), Bun (WebKit/JSC), Python (debugpy/DAP), Java (JDWP/DAP), and native code via LLDB (DAP). Use when: (1) investigating runtime bugs by stepping through code, (2) inspecting variable values at specific execution points, (3) setting breakpoints and conditional breakpoints, (4) evaluating expressions in a paused context, (5) hot-patching code without restarting (JS/TS), (6) debugging test failures by attaching to a running process, (7) debugging…

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/commands.md`).

It sits in Development, covering Responsive design, Debugging and iOS development. It works with Python, Node.js, C++ and Rust. The repository describes itself as: Universal debugger CLI built for AI agents. Allows Claude Code and Codex to debug much faster. Support Node (Javascript, Typescript), bun, lldb (C++/Rust), python. Fast… The licence is MIT.

When your agent uses it

  • Investigating runtime bugs by stepping through code
  • Inspecting variable values at specific execution points
  • Setting breakpoints and conditional breakpoints
  • Evaluating expressions in a paused context

Example prompts

  • “debug this”
  • “set a breakpoint”
  • “step through”
  • “/dbg”

Requirements

  • Python 3
  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit 3205729. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Dbg loads about 2.2k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 211 tokens; SKILL.md has 607 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~211
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from theodo-group/debug-that at commit 3205729, republished under its MIT licence (© theodo-group). 607 words, ~2,244 tokens.

Download SKILL.mdSave it as .claude/skills/dbg/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
dbg
description
Debug applications using the dbg CLI debugger. Supports Node.js (V8/CDP), Bun (WebKit/JSC), Python (debugpy/DAP), Java (JDWP/DAP), and native code via LLDB (DAP). Use when: (1) investigating runtime bugs by stepping through code, (2) inspecting variable values at specific execution points, (3) setting breakpoints and conditional breakpoints, (4) evaluating expressions in a paused context, (5) hot-patching code without restarting (JS/TS), (6) debugging test failures by attaching to a running process, (7) debugging C/C++/Rust/Swift with LLDB, (8) debugging Python via debugpy, (9) any task where understanding runtime behavior requires a debugger. Triggers: "debug this", "set a breakpoint", "step through", "inspect variables", "why is this value wrong", "trace execution", "attach debugger", "runtime error", "segfault", "core dump".

dbg Debugger

dbg is a CLI debugger that supports Node.js (V8/CDP), Bun (WebKit/JSC), Python (via debugpy/DAP), Java (via JDWP/DAP) and native code (C/C++/Rust/Swift via LLDB/DAP). It uses short @refs for all entities -- use them instead of long IDs.

Supported Runtimes

RuntimeLanguageLaunch example
Node.jsJavaScriptdbg launch --brk node app.js
tsx / ts-nodeTypeScriptdbg launch --brk tsx src/app.ts
BunJavaScript / TypeScriptdbg launch --brk bun app.ts
debugpyPythondbg launch --brk python3 app.py (or attach -- see Python section)
LLDBC / C++ / Rust / Swiftdbg launch --brk --runtime lldb ./program
JDWPJavadbg launch --brk --runtime java ./program

The runtime is auto-detected from the launch command for JS and Python runtimes. For native code, use --runtime lldb. Python can also attach to a running debugpy listener over TCP (--runtime python).

Core Debug Loop

bash
# 1. Launch with breakpoint at first line
dbg launch --brk node app.js
# Or: dbg launch --brk bun app.ts
# Or: dbg launch --brk python3 app.py
# Or: dbg launch --brk --runtime lldb ./my_program
# Or attach to a running process with the --inspect flag
dbg attach 9229

# 2. Set breakpoints at suspicious locations
dbg break src/handler.ts:42
dbg break src/utils.ts:15 --condition "count > 10"

# 3. Run to breakpoint
dbg continue

# 4. Inspect state (shows location, source, locals, stack)
dbg state

# 5. Drill into values
dbg props @v1              # expand object
dbg props @v1 --depth 3   # expand nested 3 levels
dbg eval "x + 1"

# 6. Fix and verify (JS/TS only)
dbg set count 0            # change variable
dbg hotpatch src/utils.js  # live-edit (reads file from disk)
dbg continue               # verify fix

Debugging Strategies

Bug investigation -- narrow down with breakpoints
bash
dbg launch --brk node app.js
dbg break src/api.ts:50                    # suspect line
dbg break src/api.ts:60 --condition "!user" # conditional
dbg continue
dbg vars                                    # check locals
dbg eval "JSON.stringify(req.body)"         # inspect deeply
dbg step over                               # advance one line
dbg state                                   # see new state
Native code debugging (C/C++/Rust)
bash
dbg launch --brk --runtime lldb ./my_program
dbg break main.c:42
dbg break-fn main                          # function breakpoint
dbg continue
dbg vars                                    # inspect locals
dbg eval "array[i]"                         # evaluate expression
dbg step into                               # step into function
Python debugging (debugpy)

Python uses the debugpy DAP adapter. Two ways in:

Launch (auto-detected from a python/python3 command):

bash
dbg launch --brk python3 app.py        # pauses at first line
dbg break app.py:42
dbg continue
dbg state                              # location + locals + stack
dbg eval "some_expr"                   # evaluate in the paused frame
dbg step over

Attach -- the debuggee runs its own debugpy listener and dbg connects over TCP (no adapter spawned in between). Useful when the process must be launched a specific way (a test runner, a virtualenv, a secrets wrapper):

bash
# 1. Start the program listening on a port. --wait-for-client blocks before
#    the first line runs, so you have time to attach and set breakpoints.
python3 -m debugpy --listen 5679 --wait-for-client app.py &

# 2. Attach. --runtime python (alias: debugpy) is REQUIRED for a bare port.
dbg attach 5679 --runtime python

# 3. Set breakpoints (use absolute paths), then drive execution.
dbg break /abs/path/app.py:42
dbg continue
dbg state

Notes:

  • --wait-for-client treats the FIRST TCP connection as the client -- don't probe the port to check readiness; just attach once debugpy prints its startup banner to stderr.
  • A short script can run to completion before you set a breakpoint. Set it immediately after attaching, or attach to a long-running entry point.
  • dbg set / dbg hotpatch are JS/TS only; inspection (break, continue, state, vars, eval, step, break-fn) all work for Python.
Attach to running/test process (Node/Bun)
bash
# Start with inspector enabled
node --inspect app.js
# Or: bun --inspect app.ts
# Then attach
dbg attach 9229
dbg state

# Bun process or Bun-compiled binary: BUN_INSPECT opens the inspector, `?break=1`
# holds the process until dbg attaches, then pauses on its first statement.
BUN_INSPECT='ws://localhost:6499/app?break=1' ./my-bun-binary
dbg attach ws://localhost:6499/app        # runtime auto-detected
# Function breakpoint (JS/TS): a path from the global scope, an @ref, or --name <regex> (Bun)
dbg break-fn fetch --condition 'String(args[0]).includes("/v1/messages")'
dbg break-fn @v12                          # a function object you found in vars/props
dbg logpoint fn:service.ping '"ping", label'   # trace calls without pausing; dbg console
dbg continue                              # pauses on the call; `dbg stack` @f1 is the caller
Trace execution flow with logpoints (no pause)
bash
dbg logpoint src/auth.ts:20 "login attempt: ${username}"
dbg logpoint src/auth.ts:45 "auth result: ${result}"
dbg continue
dbg console    # see logged output
Exception debugging
bash
dbg catch uncaught          # pause on uncaught exceptions
dbg continue                # runs until exception
dbg state                   # see where it threw
dbg eval "err.message"      # inspect the error
dbg stack                   # full call stack
TypeScript source map support

dbg automatically resolves .ts paths via source maps. Set breakpoints using .ts paths, see .ts source in output. Use --generated to see compiled .js if needed.

Ref System

Every output assigns short refs. Use them everywhere:

  • @v1..@vN -- variables: dbg props @v1, dbg set @v2 true
  • @f0..@fN -- stack frames: dbg eval --frame @f1 "this"
  • BP#1..N -- breakpoints: dbg break-rm BP#1, dbg break-toggle BP#1
  • LP#1..N -- logpoints: dbg break-rm LP#1

Refs @v/@f reset on each pause. BP#/LP# persist until removed.

Show full SKILL.md (244 more words)Show less

Key Flags

  • --json -- machine-readable JSON output on any command
  • --session NAME -- target a specific session (default: "default")
  • --runtime NAME -- select debug adapter (e.g. lldb for native code)
  • --generated -- bypass source maps, show compiled JS (on state/source/stack)

Command Reference

See references/commands.md for full command details and options.

Tips

  • dbg state after stepping always shows location + source + locals -- usually enough context
  • dbg state -c for source only, -v for vars only, -s for stack only -- save tokens
  • Minified/bundled code: dbg source --width 600 --reflow prints 600 chars around the paused column as one statement per line; dbg search "text" --width 200 windows each match
  • dbg eval supports await -- useful for async inspection (JS/TS)
  • dbg blackbox "node_modules/**" -- skip stepping into dependencies
  • dbg hotpatch file reads the file from disk -- edit the file first, then hotpatch (JS/TS only)
  • dbg break-fn funcName -- function breakpoints: by symbol on DAP runtimes; on JS by path (obj.method), @ref, or --name <regex> (Bun). --condition/--log run where the pause lands: the function's own parameters, arguments and this; for native functions (e.g. fetch on Bun), which dbg wraps in the process, args and this. The path must exist when set; dbg stop removes wrappers
  • dbg eval works on a running target too (global scope); only --frame needs a pause
  • Python: dbg launch --brk python3 app.py, or attach to a debugpy --listen <port> server with dbg attach <port> --runtime python
  • Execution commands (continue, step, pause, run-to) auto-return status
  • dbg stop kills the debugged process and daemon

© theodo-group, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in .claude/skills/debug-that of theodo-group/debug-that.

  • SKILL.md
  • references/commands.md

Open the folder on GitHubat commit 3205729

Compare with similar skills

Dbg next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Dbg compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dbg this skilltheodo-group/debug-that158—~2.2kAutomated safety check: PassMIT
MCP Debuggerdebugmcp/mcp-debugger171—~3.8kAutomated safety check: PassMIT
Failure Oriented InstrumentationArabelaTso/Skills-4-SE253—~2.1kAutomated safety check: PassApache-2.0
Fory Performance Optimizationapache/fory4.6k—~2.2kAutomated safety check: PassApache-2.0
Debugging Techniquesancoleman/ai-design-components526—~3.3kAutomated safety check: PassMIT
Check Toolsoaustegard/claude-skills150—~641Automated safety check: PassMIT

Similar skills

  • MCP Debugger

    debugmcp/mcp-debugger

    A skill your agent uses when investigating a bug, failing test, or unexpected runtime behavior and the mcp-debugger MCP server is available — drives real step-through debuggers (breakpoints, stack…

    171 GitHub stars~3.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Failure Oriented Instrumentation

    ArabelaTso/Skills-4-SE

    Selectively instruments code to capture runtime data for debugging failures and bugs.

    253 GitHub stars~2.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Run profile-driven bottleneck optimization across Apache Fory implementations (Java, C++, Python/Cython, Go, Rust, Swift, C, JavaScript/TypeScript, Dart, Kotlin, Scala).

    4.6k GitHub stars~2.2k tokensUpdated yesterday
    MobileAuto-check passed
  • Debugging Techniques

    ancoleman/ai-design-components

    Debugging workflows for Python (pdb, debugpy), Go (delve), Rust (lldb), and Node.js, including container debugging (kubectl debug, ephemeral containers) and production-safe debugging techniques with…

    526 GitHub stars~3.3k tokensUpdated 10 mo ago
    DevelopmentAuto-check passed
  • Check Tools

    oaustegard/claude-skills

    Validates development tool installations across Python, Node.js, Java, Go, Rust, C/C++, Git, and system utilities.

    150 GitHub stars~641 tokensUpdated today
    DevelopmentAuto-check passed
  • Replay Oriented Instrumentation

    ArabelaTso/Skills-4-SE

    Instruments programs to record execution information for deterministic replay debugging.

    253 GitHub stars~2.5k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

Questions about Dbg

What does Dbg do?

Debug applications using the dbg CLI debugger. An agent skill from theodo-group/debug-that. Dbg is an agent skill from theodo-group/debug-that. Debug applications using the dbg CLI debugger.

When should I use Dbg?

Dbg fits situations like: investigating runtime bugs by stepping through code; inspecting variable values at specific execution points; setting breakpoints and conditional breakpoints; evaluating expressions in a paused context.

How do I install Dbg in Claude Code?

Run `npx skills add theodo-group/debug-that --skill dbg -a claude-code`. Or copy the skill folder (.claude/skills/debug-that in theodo-group/debug-that) into .claude/skills/dbg in your project. Claude Code loads it when a task matches its description.

How do I install Dbg in Codex?

Run `npx skills add theodo-group/debug-that --skill dbg -a codex`. Or copy the skill folder (.claude/skills/debug-that in theodo-group/debug-that) into .agents/skills/dbg in your project. Codex loads it when a task matches its description.

Can I use Dbg in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add theodo-group/debug-that --skill dbg -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dbg, .gemini/skills/dbg, .github/skills/dbg and .opencode/skills/dbg in your project.

What does Dbg need to run?

Going by SKILL.md and its folder, Dbg needs the command-line tools its instructions call (python3 and node). Our summary lists: Python 3; Node.js.

Does Dbg access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Dbg safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Dbg use?

Dbg is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dbg use?

About 2.2k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.9k tokens, read only when the agent opens those files.

What are the alternatives to Dbg?

Skills that share tags, products or a category with Dbg: MCP Debugger (debugmcp/mcp-debugger, 171 stars), Failure Oriented Instrumentation (ArabelaTso/Skills-4-SE, 253 stars), Fory Performance Optimization (apache/fory, 4.6k stars) and Debugging Techniques (ancoleman/ai-design-components, 526 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dbg?

theodo-group (a GitHub organization) maintains it in theodo-group/debug-that, which has 158 GitHub stars. The repository was last updated on October 7, 2026.

Source: theodo-group/debug-that on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.