# root-cause-tracing

Скилл учит агента идти по стеку вызовов назад, пока не найдётся исходный триггер ошибки, и править там, а не на месте падения.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1300 установок · ★ 1787
- Автор: NeoLabHQ
- Лицензия: GPL-3.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/NeoLabHQ/context-engineering-kit/tree/HEAD/skills/root-cause-tracing/SKILL.md
- Обновлён: 2026-08-26
- HTML: https://affpapa.org/nevibecode/skills/root-cause-tracing

## Что делает

Ошибка всплывает глубоко в стеке: `git init` в чужой папке, файл не там, база открыта по неверному пути. Скилл задаёт порядок разбора: сначала симптом, потом код, который его вызвал, потом вопрос «а что вызвало этот код». Так доходят до места, где появилось пустое значение или неверный параметр.

Когда вручную цепочку не проследить, скилл советует добавить инструментацию: `new Error().stack` перед опасной операцией, вывод через `console.error()` — в тестах логгер может молчать. Дальше запуск тестов с фильтром по метке и разбор стеков: имена файлов, номера строк, повторяющийся параметр. Для поиска теста, который гадит в общее состояние, в наборе есть скрипт `find-polluter.sh` — он гоняет тесты по одному и останавливается на первом виновнике.

Правка только в точке падения оставляет баг живым: тот же пустой аргумент придёт снова. Скилл требует закрыть источник и добавить проверки на каждом слое — в примере из практики это валидация каталога, запрет пустого значения и отказ от `git init` вне временной папки. Скрипт полагается на bash, поэтому на Windows без WSL он не поедет.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NeoLabHQ/context-engineering-kit --skill root-cause-tracing -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NeoLabHQ/context-engineering-kit --skill root-cause-tracing -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NeoLabHQ/context-engineering-kit --skill root-cause-tracing -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install NeoLabHQ/context-engineering-kit root-cause-tracing
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NeoLabHQ/context-engineering-kit --skill root-cause-tracing -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/NeoLabHQ/context-engineering-kit --path skills/root-cause-tracing
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add NeoLabHQ/context-engineering-kit --skill root-cause-tracing -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/NeoLabHQ/context-engineering-kit/tree/HEAD/skills/root-cause-tracing/SKILL.md

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

## Примеры запросов агенту
- Ошибка вылезает глубоко в стеке, проследи цепочку вызовов назад до исходного триггера и почини там
- Добавь трассировку перед git init и покажи, какой тест передаёт пустой projectDir
- Что-то создаёт .git в папке с исходниками во время тестов — найди виновника через find-polluter.sh

## Похожие
- [om-root-cause](https://affpapa.org/nevibecode/skills/om-root-cause.md) — скилл · 2900 установок
- [principle-fix-root-causes](https://affpapa.org/nevibecode/skills/principle-fix-root-causes.md) — скилл · 5700 установок
- [root-cause-analysis](https://affpapa.org/nevibecode/skills/root-cause-analysis.md) — скилл · 884 установки
- [investigate-first](https://affpapa.org/nevibecode/skills/investigate-first.md) — скилл · 105400 установок
- [debugging-wizard](https://affpapa.org/nevibecode/skills/debugging-wizard.md) — скилл · 5100 установок
- [debugging-strategies](https://affpapa.org/nevibecode/skills/debugging-strategies.md) — скилл · 13414 установок

## Другие версии с тем же именем
- [root-cause-tracing · secondsky](https://affpapa.org/nevibecode/skills/secondsky-root-cause-tracing.md) — 426 установок

Из того же набора: [neolabhq/context-engineering-kit](https://affpapa.org/nevibecode/by/neolabhq/context-engineering-kit.md) — 55 карточек

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