spec-driftlisted
Install: claude install-skill devseunggwan/praxis
# spec-drift
## Overview
`~/.praxis/docs/specs/NNNN-slug.md` states what a feature must do. Nothing
reads those statements back, so a requirement that quietly stops holding looks exactly like
one that never stopped — the spec's own prose is the last place that would say
so.
This skill runs each requirement's `Verify:` command and reports the verdict.
It is **report-only**: no writes, no commits, no issues, the same invariant
[`debt`](../debt/SKILL.md) carries.
**Core principle:** only a `Verify:` line is ever executed. A well-written
requirement quotes commands it wants *rejected* as oracles — the worked example
in [`docs/spec-store.md`](../../docs/spec-store.md) → *Verification lines* holds
three backticked spans, of which exactly one is the oracle — so a tool that
guessed between prose backticks would run the one command the spec says not to
trust.
## When to Use
- Asked what a spec still leaves unmet, or whether a feature is fully built.
- Before picking up work on a feature that has a spec — the report names what
is already satisfied, so the work does not redo it.
- Reviewing a PR against a spec: `missing` rows are the diff's unfinished half.
- After a refactor, to find requirements the change silently invalidated.
## Not for
- **Enforcing** a spec. Nothing here blocks a commit, a PR, or a merge.
The spec-store convention sets that boundary: this reports, and the remedy
if that is not enough is a hook, decided then.
- **Skill spec drift** — SKILL.md frontmat