| name | check-spec-references |
| description | Partial Skill: invoke by name only — project-spec/check-spec-references' engine that resolves every relative reference in one project spec's markdown and fails on the ones pointing at nothing — run from the per-project CI entrypoint, not triggered by users directly. |
| user-invocable | false |
| metadata | {"internal":true} |
Check Spec References
The concrete engine for the spec-reference resolution check. It walks every .md under one
project spec, extracts each explicitly-relative reference, resolves it against the file's own
directory, and fails on every one that resolves to nothing. Read-only, deterministic, and — unlike
its check-spec-structure sibling — single-severity: a reference that does not resolve is always a
defect, so there is one mode, not a report mode and a gate mode. It carries a self-contained .mts
script (the repo's node-≥23.6 / no-deps convention).
It closes a failure review cannot catch: a consistent off-by-one reads as entirely plausible —
right filename, right-looking depth, wrong level — so re-reading a reference by eye is not a check
on it. The project-spec/check-spec-references node of the SDD project spec (repo-only) carries the
full design rationale, the actors, and the control-flow graph the scenarios derive from.
What counts as a reference
Two forms, and only when the path is explicitly relative ( or ):