Check

juliusbrussee/cavekit/skills/check

作者 juliusbrussee7421e87d5b51无许可证1.1K 个星标收录于 2026年10月8日更新于 2026年10月8日仓库7周前更新

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

AI 生成的概览

只读漂移检测器,将 SPEC.md 与代码比对并按严重程度报告违规。

功能
读取 SPEC.md 并与当前代码库比对,检查不变量(§V)、接口(§I)和任务状态(§T)。每项被归类为保持、违规、漂移、缺失、多余、过期或无法验证,并附文件与行号证据。输出按严重程度分组的报告,含汇总计数和一行式修复提示,不写入任何内容。
适用场景
适用于构建步骤之后或发布之前,需要确认代码是否仍与规范一致时。也适合检查漂移、审计规范、验证不变量或比对规范与代码的请求。
运行要求
需要工作上下文中的 SPEC.md 文件以及对代码库的读取权限。仅为指令,不含脚本,无需凭据或网络访问。

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 driftV2 VIOLATE: auth/mw.go:47 uses `<` not `≤`. see §B.1.V5 UNVERIFIABLE: no test covers ∀ req path.
## §I driftI.api DRIFT: POST /x returns `{result}` not `{id}`. route.go:112.I.cmd MISSING: `foo bar` absent from cli/*.go.
## §T driftT3 STALE: status `x`, no middleware file exists.
## summary2 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.

来源与署名

来源:juliusbrussee/cavekit位于skills/check提交7421e87

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架