Skip to content

/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

From plugin
ck
1.1k9 skills7 commands
Install
$ npx -y skills add JuliusBrussee/cavekit --skill check --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/check

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

check.SKILL.md
name: check
description: |
  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 matches the spec. Phrasings: "check drift", "audit the spec",
  "does the code still match §V", "check invariants", "spec vs code".

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.

## §V drift
V2 VIOLATE: auth/mw.go:47 uses `<` not `≤`. see §B.1.
V5 UNVERIFIABLE: no test covers ∀ req path.

## §I drift
I.api DRIFT: POST /x returns `{result}` not `{id}`. route.go:112.
I.cmd MISSING: `foo bar` absent from cli/*.go.

## §T drift
T3 STALE: status `x`, no middleware file exists.

## summary
2 violate. 1 missing. 1 stale. 1 unverifiable.
next: spec skill with `bug:` or fix code at cited lines.

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.
Read more
Ships withck

Frozen — compressed spec-driven development plugin for Claude Code. Still works; active development moved to JuliusBrussee/caveman.

Get the whole plugin, auto-invoked
Stats
1,143
Stars
88
Forks
Active
Maintenance
MIT
License
1mo ago
Last commit
6mo ago
Created

Repo: JuliusBrussee/cavekit

Other skills on ck.

grill
Auto-invokedSkill

grill

Calibrated interrogation of a fuzzy idea before it becomes a spec. Asks one question at a time, recommends an answer, and lands each answer in §G (goal) or §C…