check

check

熱門

唯讀漂移偵測器。將 SPEC.md 與目前程式碼比對,並依嚴重度分組回報違規。不寫入任何內容——會建議透過 spec 或 build 技能來修正,但絕不呼叫它們。當使用者要求檢查漂移、稽核 spec、驗證不變量,或詢問程式碼是否仍符合 spec 時觸發。常見說法:「檢查漂移」、「稽核 spec」、「程式碼是否仍符合 §V」、「檢查不變量」、「spec vs code」。

1129星標
86分支
更新於 2026/6/18
SKILL.md
唯讀
名稱
check
描述

唯讀漂移偵測器。將 SPEC.md 與目前程式碼比對,並依嚴重度分組回報違規。不寫入任何內容——會建議透過 spec 或 build 技能來修正,但絕不呼叫它們。當使用者要求檢查漂移、稽核 spec、驗證不變量,或詢問程式碼是否仍符合 spec 時觸發。常見說法:「檢查漂移」、「稽核 spec」、「程式碼是否仍符合 §V」、「檢查不變量」、「spec vs code」。

check — 漂移報告

純診斷。回報違規。不寫入任何內容。由使用者決定修正方式。

Spec 默默偏離程式碼是 SDD 失敗的首要模式。check 就是偵測器。每次 /build 之後、每次發布之前執行——在這裡抓到的漂移只是 diff;在正式環境抓到的漂移就是 §B。

載入

  1. 讀取 SPEC.md。若不存在 → 「沒有 spec,無從檢查。」停止。
  2. 解析呼叫參數:
    • §V → 僅檢查不變量(預設)
    • §I → 檢查介面
    • §T → 稽核任務狀態 vs 程式碼
    • --all → 全部三項

檢查 §V — 不變量

針對每個 V<n>:

  1. 將不變量轉換成可驗證的程式碼宣稱。
  2. 用 grep / 讀取相關檔案。
  3. 分類:HOLD / VIOLATE / UNVERIFIABLE
  4. 記錄位址 + 檔案:行號的證據。

檢查 §I — 介面

針對每個 I 項目:

  1. 找出實作。
  2. 分類:
    • MATCH — 程式碼中的形狀 = spec 中的形狀。
    • DRIFT — 實作存在,但形狀不同。
    • MISSING — 實作不存在。
    • EXTRA — 程式碼暴露了 §I 中沒有的表面。

檢查 §T — 任務

針對每個 T<n>:

  1. 若為 x:驗證宣稱的工作是否存在。
  2. 若為 ~:標記為進行中。
  3. 若為 .:標記為待辦。
  4. 將沒有證據的 x 列標記為 STALE

報告

簡潔。依嚴重度分組。

## §V 漂移
V2 VIOLATE: auth/mw.go:47 使用 `<` 而非 `≤`。見 §B.1。
V5 UNVERIFIABLE: 沒有測試涵蓋所有 req 路徑。

## §I 漂移
I.api DRIFT: POST /x 回傳 `{result}` 而非 `{id}`。route.go:112。
I.cmd MISSING: `foo bar` 在 cli/*.go 中不存在。

## §T 漂移
T3 STALE: 狀態為 `x`,但沒有 middleware 檔案存在。

## 摘要
2 違規。1 缺失。1 過時。1 無法驗證。
下一步:使用 `bug:` 呼叫 spec 技能,或修正所引用行號的程式碼。

修正提示(非動作)

在報告結尾,每個類別給一行提示:

  • VIOLATE / DRIFT → 呼叫 spec 技能 bug: <V.n> 或修正程式碼。
  • MISSING → 若任務存在,則對 §T.n 呼叫 build 技能;否則呼叫 spec 技能 amend §T
  • STALE → 呼叫 spec 技能 amend §T 以取消勾選。
  • EXTRA → 呼叫 spec 技能 amend §I 以記錄,或刪除程式碼。

絕不呼叫修正。僅回報。

非目標

  • 零寫入。不編輯 SPEC.md。不編輯程式碼。
  • 無子代理。主執行緒讀取。
  • 無評分、無等級。每個項目二元:成立或漂移。