69 lines
2.3 KiB
Markdown
69 lines
2.3 KiB
Markdown
---
|
||
name: verification-loop
|
||
description: "適用於 Claude Code 會話的全面驗證系統。"
|
||
---
|
||
|
||
# 驗證循環技能 (Verification Loop Skill)
|
||
|
||
用於確保 Claude Code 任務執行品質的全面驗證流程。
|
||
|
||
## 何時啟用
|
||
|
||
- 完成一項功能開發或重大的程式碼變更後。
|
||
- 在建立 Pull Request (PR) 之前。
|
||
- 希望進行品質關卡 (Quality Gates) 檢查時。
|
||
- 重構現有程式碼後。
|
||
|
||
## 驗證階段詳解
|
||
|
||
### 階段 1:構建驗證 (Build)
|
||
執行 `npm run build` 或 `pnpm build`。若構建失敗,**必須立即停止**並修正,嚴禁在報錯基礎上繼續開發。
|
||
|
||
### 階段 2:類型檢查 (Type Check)
|
||
- **TypeScript**:執行 `npx tsc --noEmit`。
|
||
- **Python**:執行 `pyright .`。
|
||
回報所有類型錯誤,並在繼續前修正關鍵錯誤。
|
||
|
||
### 階段 3:代碼風格與語法檢查 (Lint)
|
||
執行 `npm run lint` 或 `ruff check .`,確保代碼風格一致且無明顯低級錯誤。
|
||
|
||
### 階段 4:測試套件 (Tests)
|
||
執行完整測試並產出覆蓋率報告。
|
||
- **目標**:整體覆蓋率應達到 **80% 以上**。
|
||
回報項目:測試總數、通過數、失敗數、覆蓋率百分比。
|
||
|
||
### 階段 5:安全性掃描 (Security)
|
||
- **秘密資訊檢查**:搜尋代碼中是否存在硬編碼的 `sk-`、`api_key` 等敏感字串。
|
||
- **調試資訊清除**:檢查是否殘留過多的 `console.log`。
|
||
|
||
### 階段 6:變更內容審查 (Diff Review)
|
||
執行 `git diff` 系列指令,審查每個變動的項目:
|
||
- 是否有無意間修改到的部分?
|
||
- 錯誤處理是否完整?
|
||
- 是否考慮到了邊際案例 (Edge Cases)?
|
||
|
||
## 驗證報告模板
|
||
|
||
完成所有階段後,請產出如下格式的報告:
|
||
|
||
```
|
||
驗證報告 (VERIFICATION REPORT)
|
||
=============================
|
||
|
||
專案編譯: [通過/失敗]
|
||
類型檢查: [通過/失敗] (共 X 個錯誤)
|
||
語法檢查: [通過/失敗] (共 X 個警告)
|
||
全量測試: [通過/失敗] (X 通過 / Y 總數, 覆蓋率 Z%)
|
||
安全掃描: [通過/失敗] (共 X 個問題)
|
||
變更審查: [共 X 個檔案變動]
|
||
|
||
綜合評定: [READY / NOT READY] (是否建議建立 PR)
|
||
|
||
需修正事項:
|
||
1. ...
|
||
```
|
||
|
||
---
|
||
|
||
**核心原則**:儘早發現問題,保持嚴格的驗證標準。對於生產環境,應將所有警告視為必須修復的軟體缺陷。
|