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...
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
npx skills add https://github.com/JuliusBrussee/cavekitnpx skills add JuliusBrussee/cavekit --agent claude-codenpx skills add JuliusBrussee/cavekit --agent cursornpx skills add JuliusBrussee/cavekit --agent codexnpx skills add JuliusBrussee/cavekit --agent opencodenpx skills add JuliusBrussee/cavekit --agent github-copilotnpx skills add JuliusBrussee/cavekit --agent windsurfMore install options
Shorthand — useful for multi-skill repos:
npx skills add JuliusBrussee/cavekitManual — clone the repo and drop the folder into your agent's skills directory:
git clone https://github.com/JuliusBrussee/cavekit.gitcp -r cavekit ~/.claude/skills/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
- Read
SPEC.md. If missing → "no spec, nothing to check." Stop. - 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>:
- Translate invariant into verifiable claim about code.
- Grep / read relevant files.
- Classify: HOLD / VIOLATE / UNVERIFIABLE.
- Record address + file:line evidence.
CHECK §I — interfaces
For each I item:
- Locate implementation.
- 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>:
- If
x: verify claimed work present. - If
~: note as in-progress. - If
.: note as pending. - Flag
xrows 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.nif task exists; else spec skillamend §T. - STALE → spec skill
amend §Tto uncheck. - EXTRA → spec skill
amend §Ito 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
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.
secure-linux-web-hosting
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.
readme-i18n
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.
lark-shared
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.
improve-codebase-architecture
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.
paper-context-resolver
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...