check · juliusbrussee — скилл проверки дрейфа спецификации для Claude Code
Скилл читает SPEC.md и сравнивает его с кодом. Ничего не пишет, только сообщает о расхождениях по степеням важности.
npx skills add JuliusBrussee/cavekit --skill check -a claude-codeЧто делает check
Спецификация тихо расходится с кодом — это главный провал в разработке через спецификации. check ловит такой дрейф. Запускайте его после каждого /build и перед выпуском: расхождение, найденное здесь, — это диф; расхождение, найденное в проде, — это уже баг.
Скилл читает SPEC.md. Если файла нет, работа останавливается. Дальше он разбирает аргументы запуска: §V проверяет только инварианты (это режим по умолчанию), §I — интерфейсы, §T — статус задач против кода, --all — все три раздела. Для каждого инварианта скилл формулирует проверяемое утверждение о коде, ищет по файлам и помечает результат: HOLD, VIOLATE или UNVERIFIABLE. Для интерфейсов — MATCH, DRIFT, MISSING или EXTRA. Для задач — сверяет отметку x с фактическим кодом и помечает строки без подтверждения как STALE.
Отчёт выходит скупым, сгруппированным по важности: адрес, файл и строка с доказательством. В конце — по одной подсказке на каждый класс нарушений. Скилл предлагает починить код или вызвать скилл spec с bug:, но сам ничего не запускает. Записей ноль: ни правок SPEC.md, ни правок кода, ни субагентов. Оценок и баллов тоже нет — по каждому пункту только двоичный ответ: держится или дрейфует.
Какие задачи решает
- Спецификация расходится с кодом незаметно, и вы узнаёте об этом уже в проде
- После правок кода никто не сверяет инварианты и интерфейсы со
SPEC.md - Отметки о выполненных задачах в спецификации устаревают и не совпадают с реальными файлами
Примеры запросов агенту
- проверь дрейф между спецификацией и кодом
- проверь инварианты из §V
- сверь интерфейсы из §I с реализацией
Как установить check
1Через Skills CLI (Vercel)
npx skills add JuliusBrussee/cavekit --skill check -a claude-code2Вручную: положить файлы
~/.claude/skills/check/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/check/
1Через Skills CLI (Vercel)
npx skills add JuliusBrussee/cavekit --skill check -a codex2Вручную: положить файлы
.agents/skills/check/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add JuliusBrussee/cavekit --skill check -a cursor2Вручную: положить файлы
.cursor/skills/check/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install JuliusBrussee/cavekit check2Вручную: положить файлы
.github/skills/check/SKILL.md1Через Skills CLI (Vercel)
npx skills add JuliusBrussee/cavekit --skill check -a gemini-cli2Командой платформы
gemini skills install https://github.com/JuliusBrussee/cavekit --path skills/checkВручную: положить файлы
.devin/skills/check/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add JuliusBrussee/cavekit --skill check -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора9
Другие версии check
Похожие
Рядом в теме «Код-ревью и рефакторинг»
Всё по теме «Код-ревью и рефакторинг» →Вопросы о check
Что делает скилл check?
Сравнивает SPEC.md с текущим кодом и сообщает о расхождениях, сгруппированных по важности. Ничего не пишет и не правит.
Как установить check в Claude Code?
Командой npx skills add JuliusBrussee/cavekit --skill check -a claude-code. Файл скилла окажется в ~/.claude/skills/check/SKILL.md.
Скилл сам исправляет нарушения?
Нет. Он только сообщает и подсказывает, что делать: починить код или вызвать скилл spec. Правки не запускаются.
Исходный текст
SKILL.md · MIT
---
name: check
description: |
Read-only drift detector. Diffs SPEC.md against current code and reports
violations grouped by severity. Writes nothing — suggests remedies via
the spec or build skills but never invokes them. Triggers when the user
asks to check drift, audit the spec, verify invariants, or ask whether
code still matches the spec. Phrasings: "check drift", "audit the spec",
"does the code still match §V", "check invariants", "spec vs code".
---
# check — drift report
Pure diagnostic. Reports violations. Writes nothing. User decides remedy.
Spec drifting silently from code is the #1 SDD failure mode. check is the
detector. Run it after each `/build` and before each ship — drift caught here is
a diff; drift caught in prod is a §B.
## LOAD
1. Read `SPEC.md`. If missing → "no spec, nothing to check." Stop.
2. Parse invocation args:
- `§V` → check invariants only (default)
- `§I` → check interfaces
- `§T` → audit task status vs code
- `--all` → all three
## CHECK §V — invariants
For each V<n>:
1. Translate invariant into verifiable claim about code.
2. Grep / read relevant files.
3. Classify: **HOLD** / **VIOLATE** / **UNVERIFIABLE**.
4. Record address + file:line evidence.
## CHECK §I — interfaces
For each I item:
1. Locate implementation.
2. Classify:
- **MATCH** — shape in code = shape in spec.
- **DRIFT** — impl exists, shape differs.
- **MISSING** — impl absent.
- **EXTRA** — code exposes surface not in §I.
## CHECK §T — tasks
For each T<n>:
1. If `x`: verify claimed work present.
2. If `~`: note as in-progress.
3. If `.`: note as pending.
4. Flag `x` rows with no evidence as **STALE**.
## REPORT
Caveman. Grouped by severity.
```
## §V drift
V2 VIOLATE: auth/mw.go:47 uses `<` not `≤`. see §B.1.
V5 UNVERIFIABLE: no test covers ∀ req path.
## §I drift
I.api DRIFT: POST /x returns `{result}` not `{id}`. route.go:112.
I.cmd MISSING: `foo bar` absent from cli/*.go.
## §T drift
T3 STALE: status `x`, no middleware file exists.
## summary
2 violate. 1 missing. 1 stale. 1 unverifiable.
next: spec skill with `bug:` or fix code at cited lines.
```
## REMEDY HINTS (not actions)
End report with one-line hint per class:
- VIOLATE / DRIFT → invoke spec skill `bug: <V.n>` or fix code.
- MISSING → invoke build skill on `§T.n` if task exists; else spec skill `amend §T`.
- STALE → spec skill `amend §T` to uncheck.
- EXTRA → spec skill `amend §I` to document, or delete code.
Never invoke fixes. Report only.
## NON-GOALS
- Zero writes. No SPEC.md edits. No code edits.
- No sub-agents. Main thread reads.
- No scores, no grades. Binary per item: holds or drifts.
© JuliusBrussee · MIT · JuliusBrussee/cavekit