NEW Browse AI tools across categories — updated daily. See what's new →

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. Trig...

Version1.0.0
LicenseMIT
Token count~764
UpdatedJun 5, 2026

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".

Install

Quick install

via npx skills · works with 57+ agents
npx skills add https://github.com/JuliusBrussee/cavekit
Or pick agent:
npx skills add JuliusBrussee/cavekit --agent claude-code
npx skills add JuliusBrussee/cavekit --agent cursor
npx skills add JuliusBrussee/cavekit --agent codex
npx skills add JuliusBrussee/cavekit --agent opencode
npx skills add JuliusBrussee/cavekit --agent github-copilot
npx skills add JuliusBrussee/cavekit --agent windsurf
More install options

Shorthand — useful for multi-skill repos:

npx skills add JuliusBrussee/cavekit

Manual — clone the repo and drop the folder into your agent's skills directory:

git clone https://github.com/JuliusBrussee/cavekit.git
cp -r cavekit ~/.claude/skills/
How to use: Once installed, ask your agent to "use the Check skill" or describe what you want (e.g. "Read-only drift detector. Diffs SPEC.md against current code and reports violati"). Requires Node.js 18+.

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

---
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.

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.

---

Source: https://github.com/JuliusBrussee/cavekit
Author: JuliusBrussee
Discovered via: skillsdirectory.com
Genre: development

SKILL.md source

---
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. Trig...
---

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

---
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.

## 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.


---

**Source**: https://github.com/JuliusBrussee/cavekit
**Author**: JuliusBrussee
**Discovered via**: skillsdirectory.com
**Genre**: development

Related skills 6

caveman

★ Featured

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

juliusbrussee 167k
Development

secure-linux-web-hosting

★ Featured

Use when setting up, hardening, or reviewing a cloud server for self-hosting, including DNS, SSH, firewalls, Nginx, static-site hosting, reverse-proxying an app, HTTPS with Let's Encrypt or ACME clients, safe HTTP-to-HTTPS redirects, or optional post-launch network tuning such as BBR.

xixu-me 155k
Development

readme-i18n

★ Featured

Use when the user wants to translate a repository README, make a repo multilingual, localize docs, add a language switcher, internationalize the README, or update localized README variants in a GitHub-style repository.

xixu-me 155k
Development

lark-shared

★ Featured

Use when first setting up lark-cli, running auth login, switching user/bot identity (--as), handling permission denied or scope errors, needing to update lark-cli, or seeing _notice in JSON output.

larksuite 155k
Development

improve-codebase-architecture

★ Featured

Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.

mattpocock 151k
Development

paper-context-resolver

★ Featured

Optional RigorPilot helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacin...

lllllllama 127k
Development