mcpField
V
verification-before-completion

verification-before-completion

github.com/obraエージェントワークフロー307.4k256.6k 回インストール1 週間前に更新
リポジトリ

verification-before-completion について

Verification Before Completion は、タスク完了やテスト成功、ビルド成功を主張する前に検証コマンドを実行し、実際の出力を確認することを求めるエージェント向けスキルです。コミットや PR 作成、タスク委譲の前に証拠ベースの厳密な確認を必要とするコーディングエージェントのワークフローに適しています。

主な機能

  1. 01完了を主張する前に最新の検証結果が必要
  2. 02識別・実行・読み取り・検証の手順を定義
  3. 03よくある主張ごとに必要な検証を一覧化
  4. 04証拠のない成功を示す表現を検出
  5. 05回帰テストの赤緑検証パターン

活用シーン

  1. 01コーディングエージェントがコミットや PR 作成を行う前のテストとビルドの確認
  2. 02エージェントの成功報告と VCS の差分の照合
  3. 03要件チェックリストに基づく作業完了の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/obra/superpowers --skill verification-before-completion

インストール後、Claude Code で/verification-before-completionを入力して読み込まれたか確認します。

詳細

完了前の検証

概要

基本原則: 常に、主張する前に証拠を示してください。

このルールの文面に違反することは、このルールの精神に違反することです。

絶対原則

NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE

このメッセージ内の検証コマンドを実行していない場合、それが合格したと主張することはできません。

ゲート機能

BEFORE claiming any status or expressing satisfaction:

1. IDENTIFY: What command proves this claim?
2. RUN: Execute the FULL command (fresh, complete)
3. READ: Full output, check exit code, count failures
4. VERIFY: Does output confirm the claim?
   - If NO: State actual status with evidence
   - If YES: State claim WITH evidence
5. ONLY THEN: Make the claim

Skip any step = lying, not verifying

よくある失敗

主張必要なもの十分ではないもの
テストに合格テストコマンドの出力:失敗 0 件以前の実行結果、「合格するはず」
リンターに問題がないリンターの出力:エラー 0 件部分的なチェック、推測
ビルドに成功ビルドコマンド:終了コード 0リンター合格、ログの見た目が良好
バグを修正元の症状を再現するテスト:合格コードを変更したこと、修正されたという思い込み
回帰テストが機能レッド・グリーンサイクルを検証済みテストに一度合格したこと
エージェントが完了VCS の差分に変更が示されているエージェントが「成功」と報告したこと
要件を満たした1 行ずつのチェックリストテストに合格したこと

危険信号 - 作業を止める

  • 「はず」「おそらく」「と思われる」を使う
  • 検証前に満足を表す(「すばらしい!」「完璧です!」「完了です!」など)
  • 検証せずにコミット/プッシュ/PR を行おうとしている
  • エージェントの成功報告を信頼する
  • 部分的な検証に頼る
  • 「今回だけなら」と考える
  • 疲れていて作業を終わらせたくなっている
  • 検証を実行せずに成功を示唆する表現を使おうとしている

正当化の防止

言い訳現実
「これで動くはず」検証を実行してください
「自信がある」自信 ≠ 証拠
「今回だけなら」例外はありません
「リンターは合格した」リンター ≠ コンパイラー
「エージェントが成功したと言った」独立して検証してください
「疲れている」疲労 ≠ 言い訳
「部分的なチェックで十分」部分的なチェックでは何も証明できません
「違う言葉だからルールは適用されない」文面より精神を重視

主なパターン

テスト:

✅ [Run test command] [See: 34/34 pass] "All tests pass"
❌ "Should pass now" / "Looks correct"

回帰テスト(TDD のレッド・グリーン):

✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
❌ "I've written a regression test" (without red-green verification)

ビルド:

✅ [Run build] [See: exit 0] "Build passes"
❌ "Linter passed" (linter doesn't check compilation)

要件:

✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
❌ "Tests pass, phase complete"

エージェントへの委任:

✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
❌ Trust agent report

適用するタイミング

必ず、以下の前に適用してください:

  • 成功/完了を示すあらゆる表現
  • 満足を表すすべての表現
  • 作業状況についての肯定的な発言
  • コミット、PR の作成、タスクの完了
  • 次のタスクへの移行
  • エージェントへの委任

このルールの適用対象:

  • 正確な定型表現
  • 言い換えや同義語
  • 成功を示唆する表現
  • 完了/正確性を示唆するあらゆるコミュニケーション

コメント