check

check

热门

只读漂移检测器。将 SPEC.md 与当前代码进行差异比较,并按严重程度分组报告违规情况。不写入任何内容——通过 spec 或 build 技能建议修复方法,但绝不调用它们。当用户要求检查漂移、审计规范、验证不变量,或询问代码是否仍符合规范时触发。表述方式:"check drift"、"audit the spec"、"does the code still match §V"、"check invariants"、"spec vs code"。

1129Star
86Fork
更新于 2026/6/18
SKILL.md
readonly只读
name
check
description

只读漂移检测器。将 SPEC.md 与当前代码进行差异比较,并按严重程度分组报告违规情况。不写入任何内容——通过 spec 或 build 技能建议修复方法,但绝不调用它们。当用户要求检查漂移、审计规范、验证不变量,或询问代码是否仍符合规范时触发。表述方式:"check drift"、"audit the spec"、"does the code still match §V"、"check invariants"、"spec vs code"。

check — 漂移报告

纯诊断。报告违规情况。不写入任何内容。用户决定修复方式。

规范悄然偏离代码是 SDD 的第一大失败模式。check 就是检测器。每次 /build 之后和每次发布之前运行它——在这里捕获的漂移只是一个差异;在生产环境中捕获的漂移则是 §B。

加载

  1. 读取 SPEC.md。如果缺失 → "没有规范,无需检查。" 停止。
  2. 解析调用参数:
    • §V → 仅检查不变量(默认)
    • §I → 检查接口
    • §T → 审计任务状态与代码
    • --all → 全部三项

检查 §V — 不变量

对于每个 V<n>:

  1. 将不变量转化为关于代码的可验证声明。
  2. 使用 grep 或读取相关文件。
  3. 分类:保持 / 违反 / 无法验证
  4. 记录地址和文件:行号证据。

检查 §I — 接口

对于每个 I 项:

  1. 定位实现。
  2. 分类:
    • 匹配 — 代码中的形状与规范中的形状一致。
    • 漂移 — 实现存在,但形状不同。
    • 缺失 — 实现不存在。
    • 额外 — 代码暴露了 §I 中未包含的表面。

检查 §T — 任务

对于每个 T<n>:

  1. 如果为 x:验证声称的工作是否存在。
  2. 如果为 ~:标记为进行中。
  3. 如果为 .:标记为待处理。
  4. 将没有证据的 x 行标记为过期

报告

极简风格。按严重程度分组。

## §V 漂移
V2 违反: auth/mw.go:47 使用了 `<` 而不是 `≤`。参见 §B.1。
V5 无法验证: 没有测试覆盖所有请求路径。

## §I 漂移
I.api 漂移: POST /x 返回 `{result}` 而不是 `{id}`。route.go:112。
I.cmd 缺失: `foo bar` 在 cli/*.go 中不存在。

## §T 漂移
T3 过期: 状态为 `x`,但中间件文件不存在。

## 摘要
2 个违反。1 个缺失。1 个过期。1 个无法验证。
下一步:使用 `bug:` 调用 spec 技能,或修复所引用行处的代码。

修复提示(非操作)

在报告末尾为每个类别添加一行提示:

  • 违反 / 漂移 → 调用 spec 技能 bug: <V.n> 或修复代码。
  • 缺失 → 如果任务存在,则在 §T.n 上调用 build 技能;否则调用 spec 技能 amend §T
  • 过期 → 调用 spec 技能 amend §T 以取消勾选。
  • 额外 → 调用 spec 技能 amend §I 以记录,或删除代码。

绝不调用修复。仅报告。

非目标

  • 零写入。不编辑 SPEC.md。不编辑代码。
  • 无子代理。主线程读取。
  • 无评分,无等级。每个项目二选一:保持或漂移。