К основному содержанию
скилл CX Codex

backprop — скилл для Claude Code: что делает и как установить

Скилл превращает исправление багов в обновление спецификации SPEC.md. Агент находит причину ошибки, формулирует проверяемый инвариант, пишет падающий тест и фиксирует всё одним коммитом.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add JuliusBrussee/cavekit --skill backprop -a claude-code
Открыть на GitHub

Что делает backprop

Обычный подход «исправь и забудь» оставляет риск повторения бага. Протокол backprop связывает поломку с файлом SPEC.md. Скилл запускается при падении тестов во время /build, сообщении об ошибке от пользователя, разборе инцидента или флаге VIOLATE от команды /check.

Работа идёт в шесть шагов. Сначала агент ищет строку с ошибкой и формулирует первопричину одним простым предложением. Затем решает, нужен ли новый инвариант §V, и обязательно вносит запись в секцию §B. Перед правкой кода агент создаёт падающий тест с именем инварианта, например TestV7_RefundIdempotent. После проверки тестов правка кода, тест и изменение спецификации объединяются в один коммит git.

Если ошибка вызвана механической опечаткой, одноразовой миграцией или внешней зависимостью, правило запрещает выдумывать лишний инвариант §V. В таких случаях обновляется только таблица §B. Никаких отдельных логов или дашбордов скилл не ведёт: вся история опирается исключительно на SPEC.md и историю коммитов.

Какие задачи решает

  • предотвратить повторение найденного бага через фиксацию инварианта в SPEC.md
  • зафиксировать первопричину сбоя в секции §B спецификации
  • сгенерировать падающий тест до внесения правок в код
  • объединить правку кода, тест и изменение спецификации в один коммит

Примеры запросов агенту

  • Упал тест при проверке /build, запусти процедуру backprop для исправления
  • Пользователь сообщил об ошибке дублирования списания, обнови спецификацию и добавь инвариант через backprop
  • Разбери причину инцидента в продакшене и внеси запись в §B и §V по правилам backprop

Как установить backprop

1Через Skills CLI (Vercel)

npx skills add JuliusBrussee/cavekit --skill backprop -a claude-code

2Вручную: положить файлы

~/.claude/skills/backprop/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/backprop/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора9

caveman Скилл переводит записи в SPEC.md и рядом с ним на телеграфный «пещерный» язык. Токенов уходит примерно на 75% меньше, чем в обычной прозе. CX Codex +1 2 800установок check Скилл читает SPEC.md и сравнивает его с кодом. Ничего не пишет, только сообщает о расхождениях по степеням важности. CX Codex +1 2 700установок spec Создаёт и обновляет файл SPEC.md в корне проекта, фиксируя цели, инварианты, задачи и найденные баги в лаконичном стиле caveman. CX Codex +1 2 700установок build Выполняет задачи из SPEC.md по схеме «план, реализация, проверка». Подходит для работы с конкретной задачей §T или очередью незавершённых задач. CX Codex +1 2 700установок grill Задаёт точечные вопросы по одному за раз, чтобы отсеять слабые места в идее фичи до составления спецификации. CX Codex +1 793установок review Проводит враждебную ревизию спецификации до того, как написан код. Строит скептичного рецензента и пытается опровергнуть план, а не подписать его. CX Codex +1 787установок research Собирает факты из документации и RFC во внешний журнал §R со ссылками на источники, чтобы агент не выдумывал поведение библиотек. CX Codex +1 786установок deepen Находит поверхностные модули с громоздкими интерфейсами и проектирует глубокую архитектуру. Запускается, когда тесты зелёные и остался неизрасходованный бюджет токенов. CX Codex +1 770установок

Похожие

tlc-spec-driven Felipe Rodrigues - github.com/felipfr Организует разработку фич по спецификации через четыре фазы: Specify, Design, Tasks и Execute. Автоматически подбирает глубину и проверяет гейты скриптами на Python. CX Codex +1 1 200установок om-auto-create-pr-loop open-mercato Создаёт PR по развёрнутому описанию задачи, ведёт план и фиксирует прогресс по шагам. Нужен для длинных изменений, которые важно продолжать без потери контекста. CX Codex +1 3 700установок bug-hunt-swarm Dimillian Ищет первопричину багов параллельно через субагентов и ранжирует версии. Нужен для регрессий, сбоев и нестабильного поведения без правок кода. CX Codex +1 713установок debugging-and-error-recovery addyosmani Скилл ведёт агента по шагам от воспроизведения ошибки до проверки исправления. Подойдёт, когда падают тесты, ломается сборка или поведение не совпадает с ожиданиями. CX Codex +1 62 800установок no-mistakes kunchenguid Проверяет изменения через цепочку ревью, тестов, линтинга, документации и CI перед отправкой в настроенную ветку. Подходит для валидации задачи после её выполнения. CX Codex +1 5 600установок principle-sequence-verifiable-units backnotprop Скилл учит агента разбивать миграции и массовые правки на мелкие шаги с проверкой каждого. Помогает собирать понятные цепочки коммитов для ревью. CX Codex +1 5 100установок

Рядом в теме «Тесты и QA»

Всё по теме «Тесты и QA» →

Вопросы о backprop

Как установить backprop в Claude Code?

Выполните команду npx skills add JuliusBrussee/cavekit --skill backprop -a claude-code. Файлы скилла будут скопированы в директорию ~/.claude/skills/backprop/SKILL.md.

Что делает скилл backprop?

Он реализует протокол обновления спецификации после нахождения бага. Агент локализует причину ошибки, добавляет запись в секцию §B, формулирует проверяемый инвариант §V, пишет тест и коммитит исправление вместе со SPEC.md.

В каких случаях инвариант §V не добавляется?

Инвариант не создаётся при механических опечатках без системной природы, одноразовых миграциях или сбоях во внешних зависимостях. При этом запись в секцию §B добавляется всегда.

Исходный текст

SKILL.md · MIT
---
name: backprop
description: |
  Bug → spec protocol. When a bug is found or a test fails, trace the cause,
  decide whether a new §V invariant would catch recurrence, append to §B.
  This is the one non-obvious thing SDD does that plan-then-execute doesn't.
  Triggers on test failure, bug report, post-mortem, or explicit user ask.
---

# backprop — bug → spec

Plan-then-execute fixes the code & forgets.
SDD fixes the code AND edits spec so recurrence is impossible.
That edit is backprop.

## WHEN TO BACKPROP

- Test failed at `/build` verification.
- User reports bug.
- Post-mortem after production incident.
- `/check` flags VIOLATE with root cause found.

## SIX STEPS

### 1. TRACE
Read failure output / bug report.
Find exact file:line of wrong behavior.
Name root cause in one caveman sentence.

### 2. ANALYZE
Ask three questions:
- Would a new §V invariant catch this class of bug? (most common: yes)
- Is §I wrong — did spec claim shape the code cannot deliver? (sometimes)
- Is §T wrong — did we build the wrong thing? (rare but real)

### 3. PROPOSE
Draft the spec change. Never skip §B; §V/§I/§T are case-by-case.

Template:
```
§B row: B<next>|<date>|<root cause>|V<N>
§V line: V<next>: <testable rule that would have caught it>
```

Example:
```
§B row: B3|2026-04-20|refund job ran twice on retry|V7
§V line: V7: ∀ refund → idempotency key check before charge reversal
```

### 4. GENERATE TEST
New invariant without test = lie. Add failing test first.
Name test so it cites the invariant: `TestV7_RefundIdempotent`.

### 5. VERIFY
Fix code. Run test. Must pass. Run full suite. Must not regress.

### 6. LOG
Commit spec edit + test + code fix together.
Commit msg: `backprop §B.<n> + §V.<N>: <one-line cause>`.

## WHAT MAKES A GOOD INVARIANT

- Testable in code (grep-able or assert-able).
- Scoped to a behavior, not a file.
- Stated positively when possible (`! hold` over `⊥ forbid`).
- References §I surface where it applies.

**Bad**: V8: code should be correct.
**Good**: V8: ∀ pg_query ! params interpolated via driver, ⊥ string concat.

## WHEN NOT TO ADD §V

- Bug was purely mechanical typo with no class (`i++` vs `i--` in throwaway).
- Fix is a one-time migration.
- Root cause is external dep (upgrade deps instead, note in §C).

Still append §B entry — record that this failure mode was considered. Future bug with same smell → §B search shows precedent.

## OUTPUT SHAPE

Every backprop run produces:
1. §B entry (always).
2. §V entry (usually).
3. Test file (when §V added).
4. Code fix.
5. One commit.

No dashboards. No log files. SPEC.md + git is the full history.

© JuliusBrussee · MIT · JuliusBrussee/cavekit

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой