# regression-proof

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

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 355
- Автор: Neeeophytee
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/Neeeophytee/finding-unknowns-skills/tree/HEAD/skills/regression-proof/SKILL.md
- Обновлён: 2026-09-28
- HTML: https://affpapa.org/nevibecode/skills/regression-proof

## Что делает

Скилл задаёт порядок работы с сообщённым багом. Сначала агент фиксирует исходное состояние, включая незакоммиченные правки, и воспроизводит сбой на базовой ветке — если получится, отделяя поломку продукта от сломанного окружения тестов.

Дальше добавляется минимальный регрессионный тест, который проходит по реальному падающему пути. Его прогоняют на старом коде и проверяют, что он падает именно по заявленной причине, а не из-за ошибки импорта или отсутствующей зависимости. Потом идёт поиск причины и правка в границах задачи. Тест прогоняется снова на исправленном коде; если фикс существовал раньше теста, сравнение делается в изолированной копии или worktree, а рабочее дерево пользователя не сбрасывается.

В конце проверяется соседнее поведение, которое могло пострадать, и добавляется различающий случай, если неполный фикс проходит воспроизводитель. Ослаблять проверки, менять ожидаемое поведение ради зелёного теста или подменять моком границу, где сидит баг, скилл запрещает. Отсутствующая зависимость или недоступная старая версия — это ограничение проверки, а не доказательство корректности. Локальный воспроизводитель не даёт права на запись в продакшен или посторонний рефакторинг.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Neeeophytee/finding-unknowns-skills --skill regression-proof -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Neeeophytee/finding-unknowns-skills --skill regression-proof -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Neeeophytee/finding-unknowns-skills --skill regression-proof -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install Neeeophytee/finding-unknowns-skills regression-proof
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Neeeophytee/finding-unknowns-skills --skill regression-proof -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/Neeeophytee/finding-unknowns-skills --path skills/regression-proof
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add Neeeophytee/finding-unknowns-skills --skill regression-proof -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/Neeeophytee/finding-unknowns-skills/tree/HEAD/skills/regression-proof/SKILL.md

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

## Примеры запросов агенту
- Воспроизведи баг из issue и добавь регрессионный тест, который падает до фикса
- Проверь предложенный фикс: тест должен падать на исходном коде и проходить после правки
- Почини падение в `parser.py` и покажи результат теста до и после

## Похожие
- [improve-codebase-architecture](https://affpapa.org/nevibecode/skills/improve-codebase-architecture.md) — скилл · 1163035 установок
- [design-taste-frontend](https://affpapa.org/nevibecode/skills/design-taste-frontend.md) — скилл · 678700 установок
- [tdd](https://affpapa.org/nevibecode/skills/tdd.md) — скилл · 1141062 установки
- [skill-creator](https://affpapa.org/nevibecode/skills/skill-creator.md) — скилл · 414180 установок
- [agent-browser](https://affpapa.org/nevibecode/skills/vercel-labs-agent-browser.md) — скилл · 1200000 установок
- [prototype](https://affpapa.org/nevibecode/skills/prototype.md) — скилл · 986201 установка

Из того же набора: [neeeophytee/finding-unknowns-skills](https://affpapa.org/nevibecode/by/neeeophytee/finding-unknowns-skills.md) — 5 карточек

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