Verification Loop Skill
Claude Code セッションのための包括的な検証システムです。
使用するタイミング
このスキルは以下のタイミングで呼び出してください:
- 機能や重要なコード変更を完了した後
- PRを作成する前
- 品質ゲートを通過することを確認したい時
- リファクタリング後
検証フェーズ
フェーズ1: ビルド検証
# プロジェクトがビルドできるか確認
npm run build 2>&1 | tail -20
# または
pnpm build 2>&1 | tail -20
ビルドが失敗した場合、STOPして修正してから続行してください。
フェーズ2: 型チェック
set -o pipefail
# TypeScript プロジェクト
npx --no-install tsc --noEmit 2>&1 | head -30
# Python プロジェクト
pyright . 2>&1 | head -30
すべての型エラーを報告します。重大なものは修正してから続行してください。
フェーズ3: Lintチェック
# 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: Diffレビュー
# 変更内容を表示
git diff --stat
git diff HEAD~1 --name-only
変更された各ファイルについて以下をレビュー:
- 意図しない変更
- 欠落しているエラーハンドリング
- 潜在的なエッジケース
出力形式
すべてのフェーズを実行した後、検証レポートを生成します:
VERIFICATION REPORT
==================
Build: [PASS/FAIL]
Types: [PASS/FAIL] (X errors)
Lint: [PASS/FAIL] (X warnings)
Tests: [PASS/FAIL] (X/Y passed, Z% coverage)
Security: [PASS/FAIL] (X issues)
Diff: [X files changed]
Overall: [READY/NOT READY] for PR
Issues to Fix:
1. ...
2. ...
継続モード
長時間のセッションでは、15分ごと、または大きな変更後に検証を実行します:
メンタルチェックポイントを設定:
- 各関数の完了後
- コンポーネントの完了後
- 次のタスクに移る前
実行: /verify
フックとの統合
このスキルはPostToolUseフックを補完し、より深い検証を提供します。 フックは問題を即座にキャッチしますが、このスキルは包括的なレビューを提供します。