検証ループスキル
Claude Codeセッションのための包括的な検証システム。
使用タイミング
以下の場合にこのスキルを呼び出します:
- 機能または重要なコード変更を完了した後
- PRを作成する前
- 品質ゲートを通過していることを確認したい場合
- リファクタリング後
検証フェーズ
フェーズ1: ビルド検証
# プロジェクトがビルドできるか確認
npm run build 2>&1 | tail -20
# OR
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
変更された各ファイルを以下の観点でレビュー:
- 意図しない変更
- エラーハンドリングの欠落
- 潜在的なエッジケース
出力フォーマット
全フェーズ実行後、以下の検証レポートを作成します:
検証レポート
==================
ビルド: [PASS/FAIL]
型: [PASS/FAIL] (X エラー)
リント: [PASS/FAIL] (X 警告)
テスト: [PASS/FAIL] (X/Y 成功, Z% カバレッジ)
セキュリティ: [PASS/FAIL] (X 問題)
差分: [X ファイル変更]
全体: [READY/NOT READY] PR可能
修正すべき問題:
1. ...
2. ...
継続的モード
長時間のセッションでは、15分ごとまたは大きな変更後に検証を実行します:
メンタルチェックポイントを設定:
- 各関数の完了後
- コンポーネントの完了後
- 次のタスクに移る前
実行: /verify
フックとの統合
このスキルはPostToolUseフックを補完しますが、より深い検証を提供します。 フックは問題を即座に検出し、このスキルは包括的なレビューを提供します。