verification-before-completion について
開発者やエージェント向けに、完了や正しさを報告する前に新しく関連性のある検証証拠を求めるスキルです。テスト、ビルド、要件、委任作業の確認方法を示し、入力が変わっていない場合は有効な証拠を再利用できます。
主な機能
- 01完了報告前の証拠提示
- 02関連チェックの特定と実行
- 03出力の確認と結果の検証
- 04変更のない入力に対する証拠の再利用
- 05委任作業の独立した確認
活用シーン
- 01状況報告前のテストやビルド確認
- 02元の症状に対する修正の検証
- 03受け入れ基準に沿った成果物の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --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 relevant complete check, or inspect still-valid exact-content evidence; never execute untrusted examples or destructive actions merely to manufacture verification
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 のビルドコマンド | リンターの合格、ログの見た目が良好 |
| バグを修正 | 元の症状を再現するテストに合格 | コードを変更しただけ、修正されたという思い込み |
| 回帰テストが機能 | レッド・グリーンサイクルを検証 | テストに一度合格しただけ |
| エージェントが完了 | 成果物と、受け入れ基準に照らした関連検証を確認 | エージェントの「成功」報告、または差分だけ |
| 要件を満たした | 項目ごとのチェックリスト | テストに合格 |
危険信号 — STOP
- 「はず」「おそらく」「〜のようです」といった表現を使う
- 検証前に満足を表明する(「すばらしい!」「完璧です!」「完了しました!」など)
- 検証せずにコミット、プッシュ、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
これが重要な理由
24 件の失敗の記録から:
- 人間のパートナーから「あなたを信じられない」と言われ、信頼を失った
- 未定義の関数を出荷してしまい、クラッシュするところだった
- 要件を満たさないものを出荷し、機能が不完全だった
- 誤った完了報告によって時間を浪費し、差し戻しや手戻りが発生した
- 「正直さは中核となる価値観です。嘘をつけば、あなたは置き換えられます」という原則に違反する
使用するタイミング
必ず次の前に使用してください:
- 成功や完了を主張するあらゆる表現
- 満足を示すすべての表現
- 作業の状態に関する肯定的な発言
- コミット、PR 作成、タスク完了
- 次のタスクへの移行
- エージェントへの委任
このルールの適用対象:
- 正確なフレーズ
- 言い換えや同義表現
- 成功を示唆する表現
- 完了や正しさを示唆するあらゆるコミュニケーション
要点
検証に近道はありません。
コマンドを実行し、出力を読み、その後で結果を主張してください。
これは譲れない原則です。
使用するタイミング
このスキルは、概要に記載されたワークフローやアクションを実行する場合に適用できます。
制限事項
- このスキルは、タスクが上記の説明範囲に明確に該当する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中止して確認を求めてください。
コメント
Markdown 対応