adr-review
Review an ADR for completeness before implementation. Catches underspecified contracts, missing test requirements, and language layer violations.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Review an ADR for completeness before implementation. Catches underspecified contracts, missing test requirements, and language layer violations.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | adr-review |
| description | Review an ADR for completeness before implementation. Catches underspecified contracts, missing test requirements, and language layer violations. |
| user_invocable | true |
Review an Architecture Decision Record for implementation readiness. This skill applies Sharpee-specific architectural knowledge to catch the gaps that cause bugs — underspecified update contracts, missing end-to-end test requirements, language layer violations, and incomplete acceptance criteria.
/adr-review 143
/adr-review adr-143-naval-compass-directions
/adr-review docs/architecture/adrs/adr-143-naval-compass-directions.md
Find the ADR. Accept a number, partial name, or full path. Search docs/architecture/adrs/ for a match.
Read the ADR and the CLAUDE.md architecture principles (especially Language Layer Separation, Logic Location, and Always Trust the Architecture).
Run the checklist below against the ADR. For each item, report PASS, FAIL, or N/A with a one-line explanation.
Read the implementation (if any) — check the packages named in the ADR's Implementation section. Verify the code matches what the ADR specifies.
Present the report in the format below.
lang-{locale} or parser-{locale} define user-facing text? Check for English strings in world-model, engine, stdlib, or character. Message IDs are fine; prose is not. (Exception: fallbackDisplay fields with explicit fallback documentation.)useVocabulary('naval'), then parse('aft'), assert the result contains direction: Direction.NORTH" is sufficient.Added from ADR-289 (2026-07-29). Its AC4/AC5 required a sweep on restore, which lives in
packages/engine, while its platform-change line named onlypackages/chordandpackages/story-loader. Three review passes (11/14, 13/14, 14/14) missed it and an implementing session discovered it mid-flight. This check is what turns that into a BLOCKER.
ADR Review: ADR-{number} — {title}
Status: {current status}
════════════════════════════════════
Architecture Compliance
Language layer separation: {PASS|FAIL} — {explanation}
Logic location: {PASS|FAIL|N/A} — {explanation}
Capability dispatch: {PASS|FAIL|N/A} — {explanation}
Contract Completeness
All affected packages named: {PASS|FAIL} — {explanation}
Update contracts specified: {PASS|FAIL|N/A} — {explanation}
Interface contracts specified: {PASS|FAIL} — {explanation}
Boundary contracts specified: {PASS|FAIL|N/A} — {explanation}
Test Requirements
End-to-end test specified: {PASS|FAIL} — {explanation}
Boundary tests specified: {PASS|FAIL|N/A} — {explanation}
Negative tests specified: {PASS|FAIL|N/A} — {explanation}
Acceptance Criteria
Explicit acceptance criteria: {PASS|FAIL} — {explanation}
Save/restore implications: {PASS|FAIL|N/A} — {explanation}
Backward compatibility: {PASS|FAIL|N/A} — {explanation}
Open Questions
No unresolved blockers: {PASS|FAIL} — {explanation}
────────────────────────────────────
Score: {pass count}/{total checked}
Verdict: {READY FOR IMPLEMENTATION | NEEDS WORK | BLOCKED}
{If NEEDS WORK or BLOCKED, list the specific items to address.}
If the ADR status is not DRAFT, also check the implementation:
setDirectionVocabulary).Implementation Audit
{package}: {MATCHES|DIVERGES} — {explanation}
...
Missing: {list any ADR requirements not found in code}
Extra: {list any code patterns not covered by the ADR}
ADR-143 (Direction Vocabularies) was implemented without this review. The ADR didn't specify the tokenizer registry update contract, didn't require end-to-end tests, and didn't flag the language layer violation. The implementation shipped two silent failures that only surfaced when a collaborator tried to use naval directions. This skill exists to catch those gaps before code is written.