驗證迴圈技能
Claude Code 會話的全面驗證系統。
使用時機
在以下情況呼叫此技能:
- 完成一個功能或重大程式碼變更後
- 在建立 PR 之前
- 當您想要確保品質關卡通過時
- 重構後
驗證階段
階段 1:建置驗證
# 檢查專案是否能建置
npm run build 2>&1 | tail -20
# 或者
pnpm build 2>&1 | tail -20
如果建置失敗,請停止並修復後再繼續。
階段 2:型別檢查
set -o pipefail
# TypeScript 專案
npx --no-install tsc --noEmit 2>&1 | head -30
# Python 專案
pyright . 2>&1 | head -30
回報所有型別錯誤。在繼續之前修復關鍵錯誤。
階段 3:程式碼檢查
# JavaScript/TypeScript
npm run lint 2>&1 | head -30
# Python
ruff check . 2>&1 | head -30
階段 4:測試套件
# 執行測試並包含覆蓋率
npm run test -- --coverage 2>&1 | tail -50
# 檢查覆蓋率門檻
# 目標:最低 80%
回報:
- 總測試數:X
- 通過數:X
- 失敗數:X
- 覆蓋率:X%
階段 5:安全性掃描
# 檢查機密資訊
grep -rn "sk-" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
grep -rn "api_key" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
# 檢查 console.log
grep -rn "console.log" --include="*.ts" --include="*.tsx" src/ 2>/dev/null | head -10
階段 6:差異審查
# 顯示變更內容
git diff --stat
git diff HEAD~1 --name-only
審查每個變更的檔案:
- 非預期的變更
- 缺少錯誤處理
- 潛在的邊界情況
輸出格式
執行所有階段後,產生驗證報告:
驗證報告
==================
建置: [通過/失敗]
型別: [通過/失敗] (X 個錯誤)
程式碼: [通過/失敗] (X 個警告)
測試: [通過/失敗] (通過 X/Y,覆蓋率 Z%)
安全性: [通過/失敗] (X 個問題)
差異: [X 個檔案變更]
整體: [準備就緒/尚未就緒] 可提交 PR
待修復問題:
1. ...
2. ...
持續模式
對於長時間的會話,請每 15 分鐘或在重大變更後執行驗證:
設定心智檢查點:
- 完成每個函式後
- 完成每個元件後
- 移動到下一個任務前
執行:/verify
與鉤子的整合
此技能可補充 PostToolUse 鉤子,但提供更深入的驗證。 鉤子可立即捕捉問題;此技能則提供全面的審查。