---
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. ...
```

---

**核心原則**：儘早發現問題，保持嚴格的驗證標準。對於生產環境，應將所有警告視為必須修復的軟體缺陷。
