关于 check
check 是只读技能,用于报告 SPEC.md 与代码之间的偏差。它可检查不变量、接口或任务状态,并提供证据和处理提示,但不会修改文件。
主要功能
- 01检查规格不变量
- 02比对接口与实现
- 03核对任务状态与代码
- 04报告文件位置及证据
- 05提供处理提示但不执行修改
适用场景
- 01构建后检查不变量
- 02发现规格未记录的接口变化
- 03审计已完成任务的声明
- 04发布前检查规格偏差
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ juliusbrussee/ cavekit --skill check安装后在 Claude Code 中输入/check确认已加载。
详细介绍
check — 偏差报告
纯诊断。报告违规项。不写入任何内容。由用户决定如何处理。
规范与代码悄然偏离是 SDD 失败的头号原因。check 是检测器。每次 /build 后、每次发布前都运行它——在这里发现偏差,只是一个 diff;在生产环境中发现偏差,就成了 §B。
LOAD
- 读取
SPEC.md。如果缺失 → “没有规范,无需检查。”停止。 - 解析调用参数:
§V→ 仅检查不变量(默认)§I→ 检查接口§T→ 审计任务状态与代码是否一致--all→ 检查以上全部内容
CHECK §V — 不变量
对每个 V:
- 将不变量转化为可验证的代码声明。
- 搜索 / 读取相关文件。
- 分类:HOLD / VIOLATE / UNVERIFIABLE。
- 记录地址 + 文件:行号证据。
CHECK §I — 接口
对每个 I 项:
- 定位实现。
- 分类:
- MATCH — 代码中的结构 = 规范中的结构。
- DRIFT — 实现存在,但结构不同。
- MISSING — 实现不存在。
- EXTRA — 代码暴露了 §I 中未列出的接口。
CHECK §T — 任务
对每个 T:
- 如果是
x:验证所声称的工作已完成。 - 如果是
~:标记为进行中。 - 如果是
.:标记为待处理。 - 将没有证据的
x行标记为 STALE。
REPORT
简短直白。按严重程度分组。
## §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)
在报告末尾,为每种类别提供一行提示:
- VIOLATE / DRIFT → 调用规范技能
bug: <V.n>或修复代码。 - MISSING → 如果任务存在,则对
§T.n调用构建技能;否则调用规范技能amend §T。 - STALE → 调用规范技能
amend §T取消勾选。 - EXTRA → 调用规范技能
amend §I进行记录,或删除代码。
绝不调用修复操作。只报告。
NON-GOALS
- 零写入。不编辑 SPEC.md。不编辑代码。
- 不使用子 Agent。由主线程读取。
- 不打分,不评级。每项二元判断:符合或偏离。
评论
支持 Markdown