← ClaudeAtlas

verification-gatelisted

完成前驗證閘門,強制要求提供新鮮的驗證證據才能宣稱完成。當 agent 或使用者聲稱「完成了」「修好了」「測試通過」「done」「fixed」但未附驗證證據時自動啟用。
kopp0510/claude-dd · ★ 6 · AI & Automation · score 78
Install: claude install-skill kopp0510/claude-dd
# Verification Gate — 完成前驗證閘門 借鑑 obra/superpowers 的 `verification-before-completion` 概念。 ## 鐵律 **執行命令 → 讀取輸出 → 然後才能宣稱結果。** 沒有新鮮證據就不能宣稱完成。 「新鮮」= 本次工作中、最後一次修改**之後**實際執行並觀察到的結果。 「之前跑過」「應該可以」「改動很小」都不算。 ## 驗證流程 1. **識別驗證項目** — 依宣稱類型對照: | 宣稱 | 必要驗證 | |---------|---------| | 測試通過 | 執行測試指令,讀完整輸出(通過/失敗/跳過數,不只看 exit code) | | 建置成功 | 執行 build,確認零錯誤、輸出檔案存在 | | bug 已修復 | 重現原始問題步驟,確認不再發生 | | 功能已實作 | 端對端執行該��能(真實 API / 瀏覽器,同 6 步迴圈步驟 5) | | 沒有迴歸 | 執行完整相關測試套件,確認無新增失敗 | | lint / 型別正確 | 執行 linter / type checker,確���零錯誤 | | subagent 回報完成 | 讀 subagent 改的檔案 + 親自重跑它聲稱通過的驗證 | 2. **執行並讀取** — 等命令完成,逐行讀輸出,記錄警告與異常 3. **裁決** — 全過 → 附證據宣稱完成;任何失敗 → 停止、修復、從頭重驗 4. **宣稱完成(附證據)** — 報告格式:項目 / 命令 / 結果 / 證據摘要,逐列列出 修 bug 時的迴歸驗證模式:`git stash && <測試>`(看到失敗)→ `git stash pop && <測試>`(看到通過)。 ## 紅旗 — 看到即停下補驗證 - 「應該」「大概」「我覺得」等不確定語氣出現在完成宣稱裡 - 宣稱完成但沒有貼出任何命令輸出 - 引用修改**前**的測試結果 - 「手動驗證過了」但沒說步驟 - 未經確認就採信 subagent 的回報 ## 合理化防範 | 藉口 | 現實 | |---------|------| | 「這只是重構,不影響行為」 | 重構是最常引入 bug 的操作之一 | | 「型別系統已經保證了」 | 型別不能保證運行時行為 | | 「改動太小」 | 小改動也能破壞系統 | | 「我很確定」 | 確定程度不能替代證據 | | 「時間不夠 / 測試太慢」 | debug 花的時間更多;至少跑相關子集 | | 「本地跑得好好的」 | 環境差異存在,CI 也要過 | ## 與原生 `/goal` 的關係 互補:`/goal`(Claude Code ≥ 2.1.139)負責「要不要再跑一輪」;本閘門負責「這一輪能不能 說完成」。用 `/goal` 自主收斂時,鐵律仍適用於每一輪 — 評估器讀到的「完成」必須是 執行命令、讀取輸出後的結果。 ## 不適用 純討論/設計(沒有完成宣稱)、文件撰寫、探索性調查。