python-debugpy — скилл для Claude Code: что делает и как установить
Помогает отлаживать Python-код через pdb и удалённое подключение debugpy. Пригодится при падении тестов, мутациях состояния и отладке фоновых процессов.
npx skills add openclaw/openclaw --skill python-debugpy -a claude-codeЧто делает python-debugpy
Скилл задаёт сценарии интерактивной отладки Python: от вставки breakpoint() в локальный код до запуска python3 -m pdb -c continue, чтобы поймать необработанное исключение без правки исходников. Для упавших тестов подбирается минимальная команда воспроизведения. При этом скилл отключает параллельные воркеры тестов, иначе интерактивный ввод stdin в пуле ломается.
Для фоновых сервисов и процессов под конкретным PID используется debugpy с привязкой к 127.0.0.1:5678. Инструмент требует наличия python3 в системе. Если подключение к PID падает на Linux, скилл предписывает сразу проверить права контейнера и ptrace, а не менять цель.
Какие задачи решает
- перехватить необработанное исключение через
python3 -m pdb -c continue - подключиться к работающему процессу по PID через
debugpy - исследовать переменные и стек вызовов в упавшем коде
- найти забытые точки останова перед коммитом через
rg
Примеры запросов агенту
- Помоги отладить упавший script.py через pdb без изменения исходников.
- Запусти модуль worker через debugpy и дождись подключения на 5678 порту.
- Найди вызовы breakpoint() и debugpy в репозитории перед коммитом.
Как установить python-debugpy
1Через Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill python-debugpy -a claude-code2Вручную: положить файлы
~/.claude/skills/python-debugpy/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/python-debugpy/
1Через Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill python-debugpy -a codex2Вручную: положить файлы
.agents/skills/python-debugpy/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill python-debugpy -a cursor2Вручную: положить файлы
.cursor/skills/python-debugpy/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install openclaw/openclaw python-debugpy2Вручную: положить файлы
.github/skills/python-debugpy/SKILL.md1Через Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill python-debugpy -a gemini-cli2Командой платформы
gemini skills install https://github.com/openclaw/openclaw --path skills/python-debugpyВручную: положить файлы
.devin/skills/python-debugpy/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill python-debugpy -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора48
Весь набор →Похожие
Вопросы о python-debugpy
Как установить python-debugpy в Claude Code?
Выполните команду npx skills add openclaw/openclaw --skill python-debugpy -a claude-code.
Что делает скилл python-debugpy?
Он направляет агента при интерактивной отладке Python: помогает выбрать между breakpoint(), запуском через pdb и подключением через debugpy.
Что нужно для работы скилла?
Требуется бинарник python3. Для удалённой отладки или работы по PID нужен установленный пакет debugpy в активном виртуальном окружении.
Исходный текст
SKILL.md · MIT
---
name: python-debugpy
description: Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.
metadata: { "openclaw": { "requires": { "bins": ["python3"] } } }
---
# 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
```bash
python3 -m pdb path/to/script.py arg1
python3 -m pdb -c continue path/to/script.py
python3 -c "import debugpy" || python3 -m pip install debugpy
python3 -m debugpy --listen 127.0.0.1:5678 --wait-for-client path/to/script.py
python3 -m debugpy --listen 127.0.0.1:5678 --wait-for-client -m package.module
python3 -m debugpy --listen 127.0.0.1:5678 --pid <pid>
```
For source-edit attach:
```py
import debugpy
debugpy.listen(("127.0.0.1", 5678))
debugpy.wait_for_client()
debugpy.breakpoint()
```
For post-mortem:
```py
import pdb, sys
try:
run()
except Exception:
pdb.post_mortem(sys.exc_info()[2])
raise
```
## 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\\.set_trace|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.
© openclaw · MIT · openclaw/openclaw