Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

github.com/suraciii/debug-skill

Package Overview
Dependencies
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/suraciii/debug-skill

Source
Go Modules
Version
v0.4.1
Version published
Created
Source

debug-skill

Let your coding agent debug like a human developer.
Set breakpoints, step through code, evaluate expressions — the way you actually debug.

Latest Release Build Status Go Version License: MIT GitHub Stars

If this saves you a debugging session, please star the repo — it helps others find it.

AI coding agents (Claude Code, Codex, Opencode, Cursor) are stuck with print statements and guesswork. debug-skill gives them what human developers have: a real debugger they can actually use. It ships two things:

  • A Claude Code skill — teaches Claude how to debug: when to set breakpoints, how to step through code, how to inspect state
  • The dap CLI — a stateless CLI wrapper around the Debug Adapter Protocol so any agent can drive a real debugger from Bash

Demo

Watch the demo

The Skill

Install the skill, and Claude debugs your code the way you would — not with print statements.

The debugging-code skill gives Claude structured knowledge of the debugging workflow: setting breakpoints, stepping through execution, inspecting locals and the call stack, evaluating expressions mid-run. It uses the dap CLI as its tool.

Install for Claude Code

Via the plugin marketplace — no manual setup needed:

/plugin marketplace add AlmogBaku/debug-skill
/plugin install debugging-code@debug-skill-marketplace

Install for other agents

Via skills.sh — works with Cursor, GitHub Copilot, Windsurf, Cline, and 20+ more agents:

npx skills add AlmogBaku/debug-skill
# or: bunx skills add AlmogBaku/debug-skill

Or manually copy skills/debugging-code/ into your agent's skills.

The dap CLI

dap wraps the Debug Adapter Protocol behind simple, stateless CLI commands. A background daemon holds the session; the CLI sends one command and gets back the full context — no interactive terminal required.

Install

# One-liner (Linux & macOS)
bash <(curl -fsSL https://raw.githubusercontent.com/AlmogBaku/debug-skill/master/skills/debugging-code/scripts/install-dap.sh)
Other install methods

From Homebrew (for macOS):

brew install AlmogBaku/tap/dap

From sources:

# Go install
go install github.com/AlmogBaku/debug-skill/cmd/dap@latest

Or download a pre-built binary from the releases page.

Quick Start

dap debug app.py --break app.py:42   # start, stop at breakpoint
dap eval "len(items)"                # inspect a value
dap inspect data --depth 2           # expand nested objects
dap step                             # step over
dap continue                         # next breakpoint
dap continue --to app.py:50          # run to specific line
dap pause                            # interrupt if hanging
dap restart                          # re-run, preserving breakpoint changes
dap stop                             # end session

Execution commands (debug, continue, step) return full context automatically: current location, surrounding source, local variables, call stack, and program output. No follow-up calls needed.

Usage Examples

# Python
dap debug app.py --break app.py:42

# Go
dap debug main.go --break main.go:15

# Node.js / TypeScript
dap debug server.js --break server.js:10

# Rust / C / C++
dap debug hello.rs --break hello.rs:4

# Attach to a remote debugger (e.g. debugpy in a container)
dap debug --attach container:5678 --backend debugpy --break handler.py:20

# Attach to a running process by PID
dap debug --pid 12345 --backend debugpy

# Pass arguments to the program
dap debug app.py --break app.py:10 -- --config prod.yaml --verbose

Commands

CommandDescription
dap debug <script>Start debugging (local or --attach host:port or --pid PID)
dap stopEnd session
dap step [in|out|over]Step (default: over)
dap continueResume execution (--to file:line for temp breakpoint)
dap context [--frame N]Re-fetch current state
dap eval <expr> [--frame N]Evaluate expression in current frame
dap inspect <var> [--depth N]Inspect variable (expand nested objects)
dap outputDrain buffered stdout/stderr since last stop
dap pausePause a running program
dap restartRestart session, preserving breakpoint changes
dap threadsList all threads
dap thread <id>Switch to a different thread
dap break list|add|remove|clearManage breakpoints mid-session

Global flags: --json (machine-readable output), --session <name> (named sessions), --socket <path> (custom socket path), --context-lines <int> (lines of source context)

Supported Languages

LanguageBackendAuto-detected
Pythondebugpyyes
Godlv (Delve)yes
Node.js/TypeScriptjs-debugyes
Rust / C / C++lldb-dapyes

Backend is inferred from the file extension. Override with --backend <name>.

How It Works

dap <cmd>  →  Unix socket  →  Daemon  →  DAP protocol  →  debugpy / dlv / js-debug / lldb-dap  →  your program

The daemon starts automatically on dap debug and shuts down on dap stop (or after 10 min idle). It's invisible — you never manage it directly.

Multi-Session

Multiple agents can debug independently with named sessions:

dap debug app.py  --session agent1 --break app.py:10
dap debug main.go --session agent2 --break main.go:8

dap stop --session agent1   # stops agent1 only

Each session has its own daemon and socket. Omit --session to use the default session.

Contributing

PRs and issues welcome. See claudedocs/ for architecture details and CLAUDE.md for code conventions.

Support the Project

If debug-skill saves you from a painful debugging session, consider starring the repo — it helps others find it and keeps the project going.

License

MIT

FAQs

Package last updated on 13 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts