review-spec
Review Spec
Read a spec artifact READ-ONLY and emit a references-first review report into the target spec's reviews/ folder. This skill reads the spec, checks every one of the eight semantic-contract elements against the handoff-grade bar, checks the spec for consistency with the thread's decision logs, drafts the report end-to-end, and writes one record per review run. By default it runs end-to-end without walking findings with the user one-at-a-time, but it honors an invocation that asks it to check in or walk the findings interactively. It does not commit.
Inputs
This skill accepts ONE input: the path to a spec artifact. A spec lives at specs/NNN[-<desc>]/spec.md inside the thread root. The path may be passed thread-relative or repo-relative.
If the path is not supplied, ASK the user which spec to review — do not pick by recency. If the thread holds multiple spec lineages (specs/001-api/, specs/002-cli/) and the user's reference is vague ("the spec", "the auth spec"), ASK which lineage is intended. There is NO "most recent lineage" or "highest NNN" fallback. Each lineage holds exactly one alive spec.md whose version lives in its frontmatter, so "which version" never arises — but "which lineage" can, and silently picking by number would hide a real decision (which lineage variant the user intends to review) behind a sort order. If the reference could point at a spec in another thread, ASK which thread.
Eight Semantic-Contract Elements
A spec MUST cover all EIGHT of the following elements in its body. This skill checks every one of them against the handoff-grade bar: