adr-verify — скилл для Claude Code: проверка графа ADR
Читает сохранённый граф ADR из памяти и находит битые ссылки, циклы замены и несовпадения статусов. Пригодится сразу после adr-index и как гейт в CI.
npx skills add ruvnet/ruflo --skill adr-verify -a claude-codeЧто делает adr-verify
Скилл читает то, что adr-index записал в пространства памяти adr-patterns и adr-edges, и ищет три вида поломок: ссылки на несуществующий ADR, циклы замены (ADR-A заменяет ADR-B и наоборот) и записи, где ADR служит источником ребра supersedes, но статус у него так и не стал Superseded. Обычная причина последнего — забыли обновить статус при продвижении ADR-наследника.
Запуск — одна строка: node plugins/ruflo-adr/scripts/verify.mjs. По умолчанию код выхода 1 только при найденном цикле; VERIFY_STRICT=1 роняет прогон на любой проблеме, VERIFY_FORMAT=json переключает отчёт с markdown на JSON. Разрешения скилла ограничены Bash и двумя инструментами памяти, файлы он не правит.
Есть слепое пятно: строка в adr-patterns для ADR, удалённого с диска, у которой нет ни одного ребра ни в одну сторону, не видна ни одной проверке. Если счётчик ADR в отчёте больше, чем файлов на диске, гонять adr-verify второй раз бессмысленно — нужен adr-reindex. И проверять есть что только после импорта, потому что оба пространства заполняет adr-index.
Какие задачи решает
- поймать ребро, ведущее на ADR, которого нет в графе
- найти цикл взаимной замены между ADR
- вычистить записи, где статус забыли перевести в
Superseded - поставить fail-closed гейт в CI перед релизом ADR
- получить отчёт в JSON для внешнего скрипта
Примеры запросов агенту
- Прогони `node plugins/ruflo-adr/scripts/verify.mjs` и покажи отчёт по графу ADR.
- Запусти проверку со `VERIFY_STRICT=1`, чтобы сборка падала на любой проблеме, а не только на цикле.
- Сделай отчёт через `VERIFY_FORMAT=json` и перечисли все циклы замены.
Как установить adr-verify
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill adr-verify -a claude-code2Вручную: положить файлы
~/.claude/skills/adr-verify/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/adr-verify/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill adr-verify -a codex2Вручную: положить файлы
.agents/skills/adr-verify/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill adr-verify -a cursor2Вручную: положить файлы
.cursor/skills/adr-verify/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo adr-verify2Вручную: положить файлы
.github/skills/adr-verify/SKILL.md1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill adr-verify -a gemini-cli2Командой платформы
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-adr/skills/adr-verifyВручную: положить файлы
.devin/skills/adr-verify/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill adr-verify -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора104
Весь набор →Похожие
Вопросы о adr-verify
Как установить adr-verify в Claude Code?
Выполни npx skills add ruvnet/ruflo --skill adr-verify -a claude-code. Скилл окажется в ~/.claude/skills/adr-verify/SKILL.md.
Что делает adr-verify?
Читает пространства adr-patterns и adr-edges после импорта и показывает битые ссылки, циклы замены и ADR с необновлённым статусом. При цикле выходит с кодом 1.
Чем adr-verify отличается от adr-reindex?
adr-reindex нужен, когда в adr-patterns осталась строка удалённого ADR без единого ребра — такую запись проверка не замечает. adr-verify работает по уже собранному графу.
Исходный текст
SKILL.md · MIT
--- name: adr-verify description: Read back adr-patterns + adr-edges namespaces, surface dangling refs / supersede cycles / Unknown statuses; exit 1 on cycles argument-hint: "" allowed-tools: Bash mcp__plugin_ruflo-core_ruflo__memory_list mcp__plugin_ruflo-core_ruflo__memory_retrieve --- # ADR Verify Companion to `adr-index`. After import, reads the persisted graph and surfaces integrity issues: - **Dangling refs** — edge points at an ADR ID that doesn't exist in `adr-patterns`. Common cause: the referenced ADR is in a sibling repo or got deleted. - **Supersede cycles** — `ADR-A supersedes ADR-B` and `ADR-B supersedes ADR-A` (or longer cycles). Always data corruption. - **Status mismatches** — an ADR is the source of a `supersedes` edge but its own status isn't `Superseded`. Usually a missed status update during a successor ADR's promotion. **What this skill cannot catch:** an `adr-patterns` row for an ADR that was deleted from disk and has zero edges referencing it or from it — invisible to every check above (issue #2666). If the reported ADR count looks higher than what's actually on disk, run `adr-reindex`, not `adr-verify` again. ## When to use - Right after `adr-index` to confirm the graph is healthy - In CI as a fail-closed gate (`VERIFY_STRICT=1` exits 1 on any issue) - Before publishing an ADR-related release ## Steps ```bash node plugins/ruflo-adr/scripts/verify.mjs ``` Optional env: - `VERIFY_FORMAT=json` — JSON instead of markdown - `VERIFY_STRICT=1` — exit 1 on ANY issue (default: only on cycles) ## Exit codes | Code | Meaning | |---|---| | `0` | Graph healthy (or dangling refs / status mismatches present in non-strict mode) | | `1` | Supersede cycle detected, OR strict mode + any issue present | ## Cross-references - `adr-index` — populates the data this skill verifies - `scripts/import.mjs` — has its own dry-run validation; this skill is the read-back companion - `adr-reindex` — reconciles a deleted ADR that `adr-verify` cannot detect
© ruvnet · MIT · ruvnet/ruflo