integration-verifylisted
Install: claude install-skill CloudyWing/ai-dotfiles
# Integration Verification
此 Skill 是「開發完成後讓 AI 自行整合驗證」的總入口。它負責判斷專案類型、判定執行環境、與使用者確認驗證範圍、執行既有單元測試,再依類型路由到對應的煙霧驗證流程。它本身不直接執行瀏覽器或 API 操作,實際驗證由分支 skill 或本檔的對應小節承擔。
此 Skill 不是完整 E2E 測試框架,不負責新增可重跑的測試案例。若使用者要求建立正式測試,改依專案既有測試架構處理。
## 行為基準
驗證的預設姿態是**積極推進**,不是**消極保守**。
這條基準凌駕於本檔所有後續步驟與規範之上。當後續條文出現「可」、「視情況」、「必要時」這類有解釋空間的措辭時,依本基準解讀為「主動推進、主動確認」,不是「省事略過」。「不確定」對應到「主動釐清」而非「退場」或「先不測」,驗證的目標是**證明功能可用**而非**證明流程已跑過**。詢問時機見 §主動詢問規範,結果判準見 §結果驗證原則。
下列**省事路徑反例**一律禁止,發現自己正要走其中一條時立即停止並回到對應步驟:
- 未列出至少 3 種判定依據,就以「環境不確定」為由停止驗證。
- 偵測到整合測試(Docker、Testcontainers、實體服務依賴)存在,未詢問使用者就略過。
- 寫入動作完成、收到 2xx 或無例外,就直接在報告標記通過,沒有任何回查資料來源的步驟。
- 只跑一條正常路徑就回報「驗證完成」,未涵蓋邊界與錯誤情境。
- 看到單元測試全綠就跳過煙霧驗證,未確認本次變更涉及的端點或畫面實際可用。
## 啟動條件
符合任一條件時套用:
- 使用者在功能開發完成後說「幫我驗證」、「驗證一下功能」、「自己整合測試看看」,但未指定驗證方式。
- 完成一輪開發或修改後,需要在交付前確認功能可用。
以下情境不套用:
- 使用者已明確指定方式(如「用瀏覽器驗證」直接觸發 `browser-smoke`、「測 API」直接觸發 `api-smoke`)��
- 只修改文件、設定或註解,無行為變更。
## 驗證流程總覽
1. 判斷專案類型。
2. 判定執行環境。
3. 確認驗證範圍。
4. 執行既有單元測試。
5. 依專案類型路由到對應的煙霧驗證。
6. 寫入動作完成後執行回查 gate。
7. 收尾清理。
8. 彙整結果,輸出整合驗證報告。
## 結果驗證原則
各分支煙霧驗證共用的指導原則。觸發了動作、收到 2xx 回應、畫面沒有報錯,都不等於功能正確。
- **驗證結果而非動作**:每個情境都要確認實際產出與預期一致(回應內容、畫面顯示的資料、狀態變化),不以「動作有被觸發」當作通過。
- **寫入操作須回查資料來源**:本原則為總則,實際執行規範見 §步驟六:寫入回查 gate,是必經步驟而非可選建議。
- **持久化往返**:寫入後重新載入(重新整理頁面、重新呼叫查詢端點、重啟程式或重開視窗),確認資料正確持久化並能正常載回。
- **覆蓋多情境**:對本次修改相關功能,至少涵蓋正常、邊界與錯誤情境,不以單一正常路徑通過即視為完成。
各分支 skill 依此原則,在自身驗證流程中落實對應的具體做法。
## 主動詢問規範
此規範與 §行為基準、§結果驗證原則 並列為貫穿全流程的行為原則,��用於步驟四單元測試、步驟五煙霧驗證、步驟六寫入回查等所有階段。
執行驗證過程中,依操作風險決定是否需向使用者出聲確認:
- **內部唯讀驗證**(查詢端點、頁面瀏覽、單元測試):不詢問,直接推進。