Agent skill · software engineering · steipete
python-debugpy
Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.
Why this skill is useful
Adds specific commands and patterns for debugging Python applications that the AI wouldn't reliably generate on its own.
What it needs
Requires python3 installed locally. About 1k tokens when loaded. Last updated 2026-08-07. 385,400 stars on the source repository.
What this skill does
Python Debugpy Use when Python code needs interactive debugging: hidden locals, confusing state mutation, failing tests, subprocesses, long-running services, or remote/headless attach. Pick the smallest debugger that reaches the bad frame. Choose breakpoint(): local code, source edits ok, fastest path. python3 -m pdb: no source edit, launch from the beginning. python3 -m pdb -c continue: stop at an unhandled exception. debugpy: remote/headless process, DAP client, already-running PID, or service startup race. Commands For source-edit attach: For post-mortem: pdb Flow: n, s, r, c, q. Stack/source: w, u, d, a, l, ll. Values: p expr, pp expr, display expr. Breakpoints: b file.py:42, b func, b file.py:42, condition, cl <num>. Mutate/evaluate: !statement; full REPL: interact. Rules Reproduce with the smallest command/test first. Disable parallel test workers for pdb; interactive stdin usually breaks inside worker pools. Keep debugpy in the active env; do not add it as a project dependency unless the project already wants it. Bind debug servers to 127.0.0.1; do not expose 0.0.0.0 unless isolated or tunnelled. Use unique ports for parallel sessions. debugpy --pid injects into a running process; confirm the target pid before attaching. If PID attach fails on Linux, check ptrace/container privileges before changing the target. Cleanup before commit: rg -n 'breakpoint\\( pdb\\.settrace debugpy\\.' --type py. Rerun the normal project test/gate without the debugger. PYTHONBREAKPOINT=0 disables breakpoint(). If a process is stuck after debugger detach, confirm it is not still paused at a breakpoint.
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills steipete/python-debugpy