check
Read-only drift detector. Diffs SPEC.md against current code and reports violations grouped by severity. Writes nothing — suggests remedies via the spec or build skills but never invokes them. Triggers when the user asks to check drift, audit the spec, verify invariants, or ask whether code still ma
By juliusbrussee · 2,655 installs
npx skills add juliusbrussee/cavekit --skill check
Source repository · Upstream listing
check — drift report
Pure diagnostic. Reports violations. Writes nothing. User decides remedy.
Spec drifting silently from code is the 1 SDD failure mode. check is the
detector. Run it after each /build and before each ship — drift caught here is
a diff; drift caught in prod is a §B.
LOAD
1. Read SPEC.md . If missing → "no spec, nothing to check." Stop.
2. Parse invocation args:
§V → check invariants only (default)
§I → check interfaces
§T → audit task status vs code
all → all three
CHECK §V — invariants
For each V<n :
1. Translate invariant into verifiable claim about code.
2. Grep / read relevant files.
3. Classify: HOLD / VIOLATE / UNVERIFIABLE .
4. Record address + file:line evidence.
CHECK §I — interfaces
For each I item:
1. Locate implementation.
2. Classify:
MATCH — shape in code = shape in spec.
DRIFT — impl exists, shape differs.
MISSING — impl absent.
EXTRA — code exposes surface not in §I.
CHECK §T — tasks
For each T<n :
1. If x : verify claimed work present.
2. If ~ : note as in progress.
3. If . : note as pending.
4. Flag x rows with no evidence as STALE .
REPORT
Caveman. Grouped by severity.
REMEDY HINTS (not actions)
End report with one line hint per class:
VIOLATE / DRIFT → invoke spec skill bug: <V.n or fix code.
MISSING → invoke build skill on §T.n if task exists; else spec skill amend §T .
STALE → spec skill amend §T to uncheck.
EXTRA → spec skill amend §I to document, or delete code.
Never invoke fixes. Report only.
NON GOALS
Zero writes. No SPEC.md edits. No code edits.
No sub agents. Main thread reads.
No scores, no grades. Binary per item: holds or drifts.