請證明
以使用者實際使用的方式來證明變更。不要未經證明就宣稱它有效。
此技能不會在「完成」時自動載入。使用者必須提出要求。它不會載入其他技能。
使用時機
當使用者執行下列動作時載入:
- 執行
/prove-it - 說出「證明它」、「證明變更」、「在瀏覽器中顯示」,或表達相同意圖(包括在第一則訊息中)
如果使用者未提出要求,請跳過。跳過僅處理類型變更、註解、鎖定檔案、以及不涉及行為的文件。
硬性門檻
- 使用者必須提出要求。 如果使用者沒有要求證明,則此技能不執行。
- 除非此技能實際驗證成功,否則不可宣稱「有效」、「已完成」或「已修復」。 跳過即表示未經證明。
- 單一畫面的截圖不構成證明。 必須進行點擊、輸入、提交、導航等操作。
- 不得新增任何套件、依賴項、範例應用程式或瀏覽器執行器,除非使用者自行選擇該選項並表示同意。
- 在此技能結束前,停止所有由此技能啟動的伺服器。 請勿讓
dev/preview保持運行。
UI 與 伺服器
- UI(頁面、元件、路由、表單、可視狀態):在瀏覽器中證明。
- 伺服器 / API / 無畫面的函式庫: 詢問如何證明。請勿自行默默選擇。
- 兩者兼具: 在瀏覽器中證明 UI,並詢問如何證明伺服器部分。
程序
程序 1:分類
- 列出所有表面:UI、伺服器/API,或兩者兼具。
- UI → 程序 2。
- 伺服器/API → 程序 3。
- 兩者兼具 → 先執行程序 2,再針對 API 執行程序 3。
程序 2:瀏覽器 (UI)
- 如果應用程式未在運行,僅啟動現有命令(
dev、preview或儲存庫文件中定義的啟動指令)。如果沒有任何現有命令,請表示無法證明 UI。提供跳過選項,或由使用者自行啟動應用程式。 - 像使用者一樣使用它:
- 點擊、輸入、提交、導航
- 檢查共用此狀態的每個路由/頁面
- 如果此變更涉及空狀態或錯誤 UI,也需檢查
- 如果佈局或 CSS 有變更,需檢查桌面與窄視口
- 不僅要找快樂路徑,更要尋找可能出現的錯誤。
- 在聊天中說明你做了什麼以及看到了什麼。請勿未列出步驟就說「看起來沒問題」。
- 如果此技能啟動了步驟 1 中的處理程序,請將其停止。
- 程序 4。
程序 3:詢問(伺服器 / API)
- 暫停。提出 2–3 個選項。將最合理的第一個選項放在最前面。始終包含跳過。
- 現有的範例 / 練習場 / 示範
- 使用新 API 的範例應用程式(僅在使用者確認位置及任何新的套件/依賴項之後)
- 針對運行中伺服器的 curl 或小型指令碼
- 跳過
- 等待。在他們做出選擇之前,請勿建置或執行。
- 如果是跳過: 表示未經證明。請勿宣稱有效。停止(不執行程序 4)。
- 如果是現有練習場: 執行它,然後如果它包含 UI,在瀏覽器中證明;如果是指令碼,則顯示命令輸出。
- 如果是範例應用程式: 詢問位置。優先使用現有範例。除非使用者同意,否則不要新增套件或依賴項。然後執行並證明。
- 如果是 curl/指令碼: 執行它。引用退出碼以及輸出中能夠證明主張的部分。
- 程序 4。
程序 4:可選報告
- 在實際證明之後,詢問:是否要撰寫截圖報告?預設為否。
- 如果否:停止。聊天記錄中已有證據。
- 如果是:寫入
.agent/scratch/prove-it.md(覆蓋)。如果缺少.agent/scratch/,將其加入.gitignore(與其他暫存檔案相同)。包含點擊了什麼以及截圖。開啟該檔案。請勿提交它。 - 跳過證明 → 不產生報告。
程序 5:停止
在證明或跳過之後,停止。請勿從此技能開始與證明無關的工作。
決策樹
- 使用者未要求證明 → 此技能不適用。
- UI → 程序 2 → 4 → 5。
- 伺服器/API → 程序 3 → 4 → 5(跳過則在程序 3 結束)。
- 兩者兼具 → 先執行 2 再執行 3,然後執行 4 → 5。
- 沒有啟動指令且應用程式未運行 → 表示無法證明 UI。使用者選擇跳過或自行啟動。
- 使用者選擇跳過 → 未經證明。不得宣稱成功。
紅旗信號
| 信號 | 意義 | 應採取的行動 |
|---|---|---|
| 因為測試通過而說完成 | 此技能未被要求,或證明被跳過 | 僅在執行程序 2 或 3 後才能宣稱已證明。 |
| 一張截圖,沒有點擊 | 非使用者路徑 | 程序 2 步驟 2。 |
在他們選擇之前就建置 examples/foo | 未經詢問的應用程式 | 程序 3。等待。 |
| 新增 Playwright / 新伺服器 | 新的依賴項 | 僅使用現有啟動指令。 |
讓 pnpm dev 持續運行 | 監視器未被關閉 | 硬性門檻 5。 |
| 「跳過,但有效」 | 將跳過轉變為主張 | 表示未經證明。 |
將報告檔案放在 docs/ | 產品文件 | .agent/scratch/prove-it.md。 |
| 在使用者說不時開啟報告 | 未經詢問的檔案 | 程序 4 預設為否。 |
| 僅證明新公開 API 的頁面 | 默默跳過伺服器部分 | 對 API 執行程序 3。 |
錯誤處理
- 沒有瀏覽器工具: 表示此處無法證明 UI。提供跳過選項,或由使用者在等待 URL 時自行點擊。請勿偽造截圖。
- 啟動指令失敗: 引用錯誤訊息。請勿宣稱 UI 有效。提供跳過或修復選項,然後再次證明。
- 證明失敗(點擊出現錯誤行為,curl 未回傳 200):表示未經證明。指出失敗的項目。請勿宣稱完成。
- 使用者選擇範例應用程式但拒絕新增套件: 使用 curl、現有範例或跳過。請勿仍擅自新增套件。
- 寫入暫存檔案失敗: 將證明保留在聊天記錄中。表示報告檔案未被寫入。
無須參考其他內容。聊天記錄為預設證據。Markdown 檔案為可選項。