SKILL.md
唯讀
名稱
build
描述
針對 SPEC.md 進行「先規劃再執行」的實作。原生單執行緒迴圈,無子代理。測試或建置失敗時,會自動呼叫 backprop 技能後再重試——驗證失敗時一律會考慮新增 §V 不變式是否能防止再次發生。當使用者要求建置、實作、執行規格,或處理特定 §T 任務時觸發(`build §T.3`、`build --next`、`implement next task`、`run the build`)。預期 SPEC.md 存在;若不存在,則交由 spec 技能處理。
build — 實作規格
單執行緒原生規劃→執行。你就是主要的 Claude。沒有 swarm。
載入
- 讀取
SPEC.md。若缺少 → 告知使用者先呼叫 spec 技能。停止。 - 若尚未載入,讀取
FORMAT.md一次。 - 若存在,讀取 §R — 建置必須遵守的外部事實,⊥ 重新推導或矛盾。
- 解析呼叫參數:
§T.n→ 僅處理該任務--next→ 狀態為.或~的最低編號列--all或空白 → 依 §T 順序處理每個.列
高影響範圍(共用模組、驗證、資料、金錢、公開 §I)?先執行 /review。瑣碎且可逆?跳過規劃儀式,直接執行 EXECUTE 步驟。
規劃
原生規劃模式 — 你委派給它,不要重新發明任務分解。對於選定的任務:
- 引用每個適用的 §V 不變式。規劃必須遵守所有不變式。
- 引用每個觸及的 §I 介面。規劃必須保持形狀。
- 列出要建立/編輯的檔案。
- 驗證合約 — 指出能證明每個觸及的 §V 的 EXACT 測試/驗收標準。哪個測試,而非「新增測試」。「做 TDD」單獨會適得其反;規格說明 要檢查什麼。每個觸及的 §V → 一個先失敗的具名測試。
- 指出驗證指令(測試、建置、lint)— 這是外部 oracle。綠燈 = 完成;⊥「看起來完成」。
顯示規劃。等待使用者確認,除非是自動模式。
執行
依序處理每個任務:
- 將 §T.n 狀態儲存格從
.翻轉為~。直接寫入 SPEC.md。 - 依規劃編輯程式碼。
- 執行驗證指令。
- 通過 → 將
~翻轉為x。下一個任務。 - 失敗 → 呼叫 backprop 技能。不要盲目重試。
失敗 → BACKPROP
測試/建置失敗時:
- 讀取失敗輸出。
- 詢問:失敗是 (a) 我的程式碼錯誤、(b) 規格錯誤、還是 (c) 未指定的邊緣情況?
- 若是 (a) → 修正程式碼,重新執行。不變更規格。
- 若是 (b) 或 (c) → 先以
bug: <cause>呼叫 spec 技能,讓它更新 §V 和 §B,然後針對更新後的規格繼續建置。
規則:絕不未考慮 backprop 就默默修正根本原因。§B 是防止再次發生的記憶。
寫入政策
- 僅翻轉 §T 狀態。build 不進行其他 SPEC.md 編輯。
- 其他規格編輯 → 呼叫 spec 技能。
- 每個 §T 完成後提交。訊息:
T<n>: <goal line>+ §V 引用。
驗證
僅在以下情況將任務標記為 x:
- 驗證指令(oracle)退出碼為 0。
- 每個觸及的 §V 都有驗證合約中的具名測試,且測試通過。
- 沒有 §V 不變式回歸(最後執行完整測試套件)。
非目標
- 無子代理。無平行工作者。僅主執行緒。
- 無進度儀表板。
cat SPEC.md | grep §T就是儀表板。 - 不進行超出所選任務範圍的投機性工作。




