Prove It は、Claude Code、OpenAI Codex、Cursor などの AI コーディングエージェント向けに作られた、オープンソースの敵対的検証 Agent Skill です。
English · 简体中文 · Português do Brasil · 日本語 · Español · Русский
コーディングエージェントは、自分の作業が成功したと示す証拠を見つけるのが得意です。
テスト成功。ビルドの終了コードは 0。ヘルスチェックは 200。ログに ERROR なし。
そして 完了 と言います。
しかし、成功を示すシグナルが、実際の成果まで保証するとは限りません。Prove It は、自分の結論を信じる前に、その結論が間違っている証拠を能動的に探すようエージェントに求めます。
バグ修正、テスト、Pull Request、CI の結果、ログ、デプロイ、そして自信に満ちた「完了」を、そのまま信じる前に検証できます。
動くことを証明しようとするな。動かないことを証明しよう。
AI コーディングエージェントに次の作業を任せるなら、Prove It が役立ちます。
| エージェントが… | Prove It が問うこと |
|---|---|
| バグを修正する | 元のバグはまだ発生し得るか? |
| テストを作成・更新する | 要件が壊れたままでも、このテストは通るか? |
| Pull Request をレビューする | アサーション、型、受け入れ条件が弱められていないか? |
| CI やログを読む | 証拠は完全で、最新で、正しい場所から取得されたものか? |
| デプロイを確認する | 意図したバージョンが本当に全インスタンスで動いているか? |
| タスク完了を報告する | どの観測可能な事実があれば、その結論は誤りになるか? |
これは 「AI が作業を終えた」 と 「あなたがそれを信じる」 の間で使うものです。テストの専門家である必要はありません。skill を呼び出し、検証したい主張を渡してください。
Prove It は skills.sh に掲載されています。インストーラーが Claude Code、Codex、Cursor などの対応エージェントを検出します。
npx skills add Pablo-aps/prove-itその後、直接依頼します。
# Claude Code / Cursor
/prove-it review your last implementation and try to find a case where it still fails
# OpenAI Codex
$prove-it does this CI output actually prove the issue is resolved?
ある主張について「証明して」「検証して」「確認して」「再チェックして」と頼んだとき、skill が自動的に有効になることもあります。
手動インストール
SKILL.md を、エージェント用の prove-it skill ディレクトリへコピーします。
| エージェント | プロジェクト内の配置先 | 呼び出し方 |
|---|---|---|
| Claude Code | .claude/skills/prove-it/SKILL.md |
/prove-it |
| OpenAI Codex | .agents/skills/prove-it/SKILL.md |
$prove-it |
| Cursor | .cursor/skills/prove-it/SKILL.md または .agents/skills/prove-it/SKILL.md |
/prove-it |
| 01 — 定義する | 02 — 攻撃する |
|---|---|
| 「直ったようだ」を、偽になり得る明確な主張へ変える。スコープと受け入れ条件を固定する。 | 何がその主張と矛盾するかを考え、決定力の高い安全なチェックから実行する。 |
| 03 — 結果を見る | 04 — 判定する |
|---|---|
| 終了コード、HTTP 200、緑のヘルスチェックといった代理シグナルではなく、実際の成果を検証する。 | 証拠とともに PROVEN、FAILED、NOT PROVEN、BLOCKED のいずれかを返す。 |
CLAIM
All production replicas run abc123 and the migration is applied.
VERDICT
NOT PROVEN
WHY
The deploy job passed, but only four of six replicas are represented.
FALSIFICATION ATTEMPTS
- checked rollback events -> none found
- compared runtime image SHAs -> evidence exists for 4/6 replicas
- checked migration version -> no production schema evidence supplied
NEXT PROOF
1. read the image SHA from every replica
2. read the production migration version through an approved read-only path
| 判定 | 使用する条件 |
|---|---|
PROVEN |
直接証拠が定義済みのスコープを満たし、意味のある反証の試みでも矛盾が見つからなかった。 |
FAILED |
直接証拠が主張と矛盾している。 |
NOT PROVEN |
実行可能なチェックは行ったが、証拠が間接的、不完全、古い、または狭すぎる。 |
BLOCKED |
アクセス、データ、認証情報、ツール、テスト可能性の不足により、必要なチェックを実行できない。 |
PROVEN のスコープは意図的に限定されています。Prove It は数学的証明、普遍的な正しさ、将来の安全性を主張しません。
テストが緑 ≠ 元のバグが直った
ビルドが緑 ≠ デプロイが動く
デプロイ成功 ≠ 全レプリカが新バージョン
ヘルスチェック 200 ≠ worker と依存先も正常
HTTP 200 ≠ 非同期処理が完了
このログにエラーなし ≠ 関連エラーが起きていない
1 リクエスト成功 ≠ 競合状態が直った
エージェントの自信 ≠ 証拠
さらに、偽装された証明も探します。スキップされたテスト、弱められたアサーション、無視された終了コード、空の catch、ハードコードされた結果、mock で消された対象動作、タイミング障害を再現せずに増やされたタイムアウトなどです。
これらのパターンが常に誤りとは限りません。検証対象の動作を隠す、迂回する、または別のものへすり替える場合に、主張への反証となります。
デプロイ、ログ、非同期処理、支払い競合、肯定的な証明、ブロックされた検証の例は EXAMPLES.md を参照してください。
雰囲気検証とは、十分な肯定的シグナルを見たエージェントが確信し、結論が誤りになる可能性を探すのをやめてしまうことです。
雰囲気検証: 「テストは通った。問題なさそう。」
Prove It: 「バグが残ったままテストだけ通るのは、どんな場合か?」
小さく、覚えやすく、技術スタックを問わず有効な変化です。変えるのはテストフレームワークではなく、検証の目的だからです。
このリポジトリには、次の内容を含む再現可能な 12 ケースの benchmark があります。
FAILEDになるべき、誤解を招く成功シグナルNOT PROVENになるべき、不完全な証拠BLOCKEDになるべき、アクセス不能な証拠PROVENになるべき、肯定的な対照ケース
Codex CLI 0.147.0 · gpt-5.6-luna · low reasoning · 2026-08-18 を用いた 1 回の方向性確認:
| ベースライン | Prove It あり | |
|---|---|---|
| 正しい判定 | 9/12 (75%) | 12/12 (100%) |
| 肯定的対照 | 2/3 (67%) | 3/3 (100%) |
| 誤った安心 | 0/12 | 0/12 |
| 反証を試みた | 12/12 | 12/12 |
この実行で Prove It は 3 つの判断を変えました。利用不可能と明示された 2 つの証明経路は正しく BLOCKED とされ、証拠が完全でスコープが限定された 1 つのデプロイ主張は、いつまでも未証明とされず PROVEN と判定されました。
各ケースで、モデル、プロンプト素材、出力 schema、推論設定は同一です。処置群で変えたのは、Prove It をインストールして明示的に呼び出したことだけです。24 件の生出力と、benchmark/ の完全な手法を確認できます。
skill の開発中に作成したケースに対し、各セルを 1 回ずつ実行した結果です。この固定ケース群で、このモデルの振る舞いが変化した証拠ではありますが、独立研究、モデルランキング、普遍的な性能主張ではありません。
設計は、言語モデルが確証的な証拠を好むことがあり、反例を求めるプロンプトがその偏りを減らし得るという、より広い知見にも基づいています。Failing to Falsify、Large Language Models Cannot Self-Correct Reasoning Yet、Anthropic の言語モデルにおける迎合性の研究を参照してください。これらは仕組みの動機を示すもので、すべてのモデルやタスクでこの skill が有効だと証明するものではありません。
Prove It は、AI コーディングエージェントに反証可能な主張を定義させ、反証を探させ、実際の結果を検証させ、証拠に基づく判定を返させる、小さなオープンソース Agent Skill です。
オープンな Agent Skills 仕様に準拠し、Claude Code、OpenAI Codex、Cursor などの互換エージェントで動作します。振る舞いは 1 つの持ち運び可能な SKILL.md に収められています。
テストとレビューは証拠を生み出します。Prove It は、その証拠をエージェントがどう疑い、解釈するかを変えます。どちらも置き換えません。
いいえ。実際に利用できるチェックと証拠の範囲内で判定を返します。形式的な正しさ、普遍的な安全性、観測していない動作への確実性は主張しません。
Prove It は意図的に、1 回で読める SKILL.md だけで構成されています。実行時依存、hook、バックグラウンドプロセス、テレメトリ、MCP server、オーケストレーション層はありません。
以下のものではありません。
- テストフレームワークやセキュリティスキャナー
- ドメイン固有テスト、可観測性、人間によるレビューの代替
- 本番環境で破壊的な実験を行う許可
- AI が任意のソフトウェアの正しさを証明できるという主張
これは振る舞いのガードレールです。主張を定義し、攻撃し、成果を検証し、判定に値する証拠を集める。
prove-it/
├── README.md # 2 分で理解する
├── README.*.md # 5 言語のガイド
├── EXAMPLES.md # 6 つの具体例
├── skills/prove-it # 振る舞いのすべて
├── benchmark/ # 再現可能な証拠
└── LICENSE
この skill はオープンな Agent Skills 仕様に従います。プロジェクトをフレームワークへ膨らませず、中心となる振る舞いをより鋭くするコントリビューションを歓迎します。