Communitygithub.com

ritamgh/claude-skills

在建立、審閱或修改非瑣碎的實作計劃時,自動套用證據合約。在開始大量程式碼編輯前,將計劃主張錨定在儲存庫證據上,為假設標註觀察/推論/未知狀態,識別受影響的檔案與依賴,並為每個計劃項目提供可執行的成功檢查。

claude-skills 是什麼?

Evidence Contract 是一項 AI 代理技能,旨在強制執行嚴謹的計劃驅動開發流程。當使用者要求建立非瑣碎的實作計劃(例如架構、功能、錯誤修復、重構或遷移計劃)時,該技能會自動觸發。其主要目標是防止 AI 代理產生看似合理但無根據的猜測。 此技能透過結構化的六步驟工作流程運作:首先確認意圖與成功標準,然後從儲存庫收集最低限度的必要證據(如讀取 PROJECT_CONTEXT.md、定位功能進入點、追蹤依賴關係)。接著,它要求將每個重要的主張分類為「觀察到的」(由直接檔案或工具輸出支持)、「推論的」(由強烈暗示得出)或「未知的」(尚未確定)。在撰寫計劃前,必須解決可能影響架構或範圍的「未知」問題。最終的計劃必須包含具體的變更、根據觀察到的證據、受影響的範圍、可執行的成功檢查以及推論的風險。 這個技能支援任何以 Markdown 為基礎的 AI 代理平台(如 Claude Code),並透過在整個計劃中加入驗證閘門(completion gate)來確保每個需求都對應到一個可觀察的檢查,且沒有未標註的假設。它非常適合需要高品質、可稽核計劃的開發團隊,因為它能將計劃從模糊的意圖轉變為以證據為基礎、可測試的任務清單。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ritamgh/claude-skills/tree/HEAD/skills/evidence-contract

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

證據合約 (Evidence Contract)

建立可測試、且紮根於實際儲存庫的計劃,而非看似合理的猜測。

觸發條件

當任務需要非瑣碎的實作計劃或計劃審閱時,自動套用此技能。無需等待使用者明確喚起。

對於目標、行為與驗證方式已十分明顯的瑣碎變更,則跳過完整合約,直接陳述簡單的檢查方式。

此技能僅用於規劃。除非使用者同時要求執行計劃,否則請勿編輯實作檔案。

工作流程

1. 確認意圖與成功標準

用一句話重述預期的成果。從請求中提取具體的驗收行為。若措辭模稜兩可,應先調查儲存庫,再詢問使用者。僅在調查後仍存在實質不同的結果時,才向使用者提問。

2. 收集最低限度的足夠證據

在提出架構或命名受影響檔案之前:

  1. 若存在 PROJECT_CONTEXT.md,則先閱讀該檔案。
  2. 透過有目標的搜尋,定位功能進入點。
  3. 閱讀最小量的相關實作、設定與測試檔案。
  4. 追蹤重要的呼叫者、依賴關係、持久化邊界與公開介面。
  5. 記錄文件與程式碼之間的矛盾。將程式碼與可執行行為視為更強力的證據。

當有目標的證據已足夠時,避免進行廣泛的儲存庫掃描。

3. 為每個重要主張進行分類

內部使用下列標籤,並在必要時揭露:

  • 已觀察 (Observed):直接由某個檔案、符號、命令結果、測試或執行時期觀測支持。
  • 推論 (Inferred):由已觀察到的證據強烈暗示,但未直接證明。
  • 未知 (Unknown):尚未確立的重要資訊。

切勿將推論或未知的主張當作事實呈現。對於重要的已觀察主張,應附上程式碼位置或工具觀測結果。不要憑空捏造檔案路徑、API、依賴關係或既有行為。

4. 解決阻礙性的未知事項

調查可能影響架構、範圍、資料流程、相容性或驗收行為的未知事項。若某項未知無法在本地端解決,則:

  • 明確陳述之,
  • 說明其重要性,
  • 提出最安全的有限假設,且
  • 僅在若繼續前進可能導致錯誤結果時,才詢問使用者。

5. 產出以證據為門檻的計劃

每個非瑣碎的計劃項目必須包含:

  1. 變更:最小的連貫實作步驟。
  2. 證據:證明該步驟合理的觀察到儲存庫事實,並附上相關路徑或符號。
  3. 受影響範圍:可能變更的檔案、介面、資料、呼叫者、依賴關係或工作流程。
  4. 成功檢查:可執行的測試、建置、lint、執行時期或驗收觀測。
  5. 風險或假設:僅在重大時加入,並標註為推論或未知。

偏好一個需求對應一個可觀察檢查的計劃。對於錯誤修復與相容性敏感的變更,應包含迴歸測試覆蓋。

6. 執行計劃閘門

在呈現計劃之前,請驗證:

  • 每個要求的成果至少對應一個計劃項目。
  • 每個計劃項目都有證據與具體的成功檢查。
  • 命名的檔案與符號是觀察到的,而非猜測的。
  • 重大的假設是可見且已分類的。
  • 依賴關係與整合邊界已涵蓋。
  • 計劃採用了能滿足請求的最小變更。
  • 未加入任何推測性的功能或無關的重構。

若閘門檢查失敗,請先調查或修訂計劃,再回傳。

輸出格式

除非任務複雜,否則保持結果簡潔。

## 證據合約
- 已觀察: `path/to/file` 確立了 ...
- 推論: ... 因為 ...
- 未知: ...;有限假設或需要的決策 ...

## 計劃
1. **變更** ...
   - 證據: ...
   - 受影響: ...
   - 驗證: ...
   - 風險/假設: ...

## 完成閘門
- [ ] 需求到檢查的對應完整
- [ ] 無未標註的假設殘留
- [ ] 驗收檢查是可執行的

省略空的推論或未知章節。對於小型計劃,可將每個項目壓縮為一行,同時保留證據與驗證資訊。

不良模式

請勿:

  • 僅從檔案名稱推測計劃,
  • 使用「可能」、「大概」或「應該」而不標註為推論,
  • 未執行測試就聲稱測試通過,
  • 以模擬檢查取代可用的真實驗收路徑,
  • 用可從儲存庫回答的問題來困擾使用者,
  • 對瑣碎變更將合約變成文書作業,
  • 僅因計劃完成就開始實作。

相關技能