rjv-spec-drivenlisted
Install: claude install-skill rjvim/ai-skills
# Spec-driven — durable truth + acceptance criteria
The durable half of the workflow. Where `rjv-work-plan` holds *volatile* branch
state, this owns what's *permanently true*: the spec (as testable acceptance
criteria), the glossary, and the decision records. Load it when a branch is worth
speccing — a real feature/behaviour change — not for a typo fix (proportional; see
`rjv-work-plan`). `rjv-work-plan` is the always-on backbone; this layers on top, the
way `rjv-gated-build` does.
Model: **there is no prose "how it works today" doc** (it rots). Durable truth =
(1) acceptance-criteria spec that carries its own test-backed status, (2) glossary,
(3) ADRs. "What's true today" = code + tests + these three.
## Three durable artifacts — each has a bundled format
| Artifact | Home | Format | Holds |
|---|---|---|---|
| **Spec** | `_docs/features/<area>/spec.md` | [SPEC-FORMAT.md](./SPEC-FORMAT.md) | requirements AS acceptance criteria (`U1`, `U2`…), 1 criterion = 1 test, per-group status |
| **Glossary** | `CONTEXT.md` / `<area>/CONTEXT.md` | [CONTEXT-FORMAT.md](./CONTEXT-FORMAT.md) | ubiquitous language, terms + `_Avoid_` |
| **ADRs** | `docs/adr/NNNN-*.md` | [ADR-FORMAT.md](./ADR-FORMAT.md) | decisions + why, immutable after first commit |
Read the format file when authoring that artifact. **One-shot rule for the AI:**
produce EXACTLY the structure in the format file — fill the template, the worked
example is the target shape, do not invent sections or renumber IDs.
## The s