# dbg

Скилл учит агента работать с CLI-отладчиком dbg: ставить брейкпоинты, шагать по коду, смотреть переменные и править JS/TS без перезапуска.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 620 установок · ★ 159
- Автор: theodo-group
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/theodo-group/debug-that/tree/HEAD/.claude/skills/debug-that/SKILL.md
- Обновлён: 2026-10-09
- HTML: https://affpapa.org/nevibecode/skills/dbg

## Что делает

\`dbg` — это CLI-отладчик, а скилл объясняет агенту, как им пользоваться. Поддержка широкая: Node.js через V8/CDP, Bun через WebKit/JSC, Python через debugpy/DAP, Java через JDWP/DAP и нативный код на C, C++, Rust и Swift через LLDB. Рантайм определяется по команде запуска, для нативного кода нужно явно указать `--runtime lldb`.

Работа строится вокруг короткого цикла. Запуск с остановкой на первой строке (`dbg launch --brk node app.js`), брейкпоинты по файлу и строке, условные через `--condition`, затем `dbg continue --wait 30`, `dbg state` и `dbg props @v1` для разбора объектов. Ссылки вида `@v1` заменяют длинные идентификаторы — набирать вручную их не придётся.

Есть важное ограничение: `dbg set` и `dbg hotpatch` работают только для JS и TS. Для Python доступны `break`, `continue`, `state`, `vars`, `eval`, `step` и `break-fn`, а менять значения на ходу нельзя. Если отлаживаете Python-процесс, который запускается особым способом, подключайтесь к слушателю debugpy по TCP — для голого порта флаг `--runtime python` обязателен, иначе dbg не поймёт, к чему присоединился. Учтите, что `--wait-for-client` считает клиентом первое TCP-соединение, поэтому не проверяйте порт на готовность — просто подключайтесь один раз.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add theodo-group/debug-that --skill dbg -a claude-code
```
```bash
npx skills add theodo-group/debug-that --skill debug-that -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/debug-that/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/debug-that/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add theodo-group/debug-that --skill debug-that -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/debug-that/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add theodo-group/debug-that --skill debug-that -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/debug-that/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install theodo-group/debug-that debug-that
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/debug-that/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add theodo-group/debug-that --skill debug-that -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/theodo-group/debug-that --path .claude/skills/debug-that
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/debug-that/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add theodo-group/debug-that --skill debug-that -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/theodo-group/debug-that/tree/HEAD/.claude/skills/debug-that/SKILL.md

## Когда брать
- найти строку, где переменная получает неверное значение
- поставить условный брейкпоинт и не тонуть в лишних остановках
- посмотреть вложенный объект на несколько уровней вглубь
- поправить JS-код и проверить фикс без перезапуска процесса
- подключиться к уже запущенному процессу или к тесту

## Примеры запросов агенту
- debug this: значение user приходит пустым, поставь брейкпоинт в `src/api.ts:50`
- поставь условный брейкпоинт в `src/utils.ts:15` с условием `count > 10` и покажи локальные переменные
- подключись к `9229` и покажи состояние, потом шагни на строку вперёд

## Похожие
- [cli-anything-lldb](https://affpapa.org/nevibecode/skills/cli-anything-lldb.md) — скилл · 405 установок
- [node-inspect-debugger](https://affpapa.org/nevibecode/skills/node-inspect-debugger.md) — скилл · 396 установок
- [debugging-code](https://affpapa.org/nevibecode/skills/debugging-code.md) — скилл · 575 установок
- [zig-debugging](https://affpapa.org/nevibecode/skills/zig-debugging.md) — скилл · 511 установок
- [core-dumps](https://affpapa.org/nevibecode/skills/core-dumps.md) — скилл · 764 установки
- [memory-leak-detection](https://affpapa.org/nevibecode/skills/memory-leak-detection.md) — скилл · 580 установок

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
