Community研究&データ分析github.com

enestanerr/prove

文書の主張を一つ一つ監査:数値を再計算し、グラフと文章の整合性を確認し、引用元が存在するかをチェックします。レポート・PDF・デッキ・スプレッドシート・ドラフトの監査、検証、ファクトチェック、または数字の整合性確認をユーザーが依頼したときに使用します。判定はモデルではなく、バンドルされたスクリプトが行います。

prove とは?

Proveは、文書内のすべての数値主張を体系的に検証するAIエージェント向けスキルです。ユーザーが「監査」「検証」「ファクトチェック」を依頼した文書(PDF、スプレッドシート、プレゼンテーション、ドラフトなど)を読み込み、数値の再計算、グラフとテキストの突き合わせ、引用元の存在確認を自動化します。特筆すべきは、最終的な判定(正しい・間違っている・要確認など)をAIモデルが下すのではなく、Pythonスクリプト`provecheck`が実行する点です。これにより、ハルシネーションのリスクを排除し、客観的で再現性のある結果を提供します。スキルはClaude Codeなどのツール上で動作し、ユーザーは`cli`コマンドの生成とファイル操作のみを担当。文書の取り込み(`ingest`)、数値トークンのスキャン、クレームファイルの作成、検証(`check`)、ソース確認、レポート生成という7ステップのワークフローで構成され、最終的にHTML/MD形式の監査レポートを出力します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/enestanerr/Prove/tree/HEAD/plugin/skills/prove

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

prove は何をしますか?

あなたは文書を読み、チェック項目を提案します。provecheck がすべての判定を下します。

以下で PROVE は python3 ${CLAUDE_SKILL_DIR}/scripts/provecheck.pyz を意味します。 ${CLAUDE_SKILL_DIR} があなたがこれを読んでいるパスに置き換えられていない場合は、この SKILL.md が置かれているフォルダです。

  • python3 がないか失敗した場合(Windowsでは多くの場合Storeショートカットのみ)、同じコマンドを python で実行し、それも失敗した場合は py -3 で実行してください。マシン上でインタプリタを検索しないでください。
  • すべてのコマンドにフルパスを記述してください。シェル変数に格納しないでください。1回の呼び出しにつき1つの PROVE コマンドを実行してください。パスにスペースが含まれる場合は引用符で囲んでください。
  • reference/ ファイルはファイル読み取りツールで開き、claims.json はファイル書き込みツールで作成してください。cat やシェルのヒアドキュメントは使用しないでください。

絶対に破ってはいけないルール

  1. provecheck が出力していない判定を述べてはいけません。変更もしてはいけません。自分の判断で主張を「間違い」「正しい」「問題なし」「疑わしい」と呼んではいけません。
  2. 数値は印刷された通りに、その文または表の行とともに正確にコピーしてください。修正、丸め、再フォーマット、変換をしてはいけません。
  3. 数値が正確である理由(count、ledger、defined、cell)を挙げられない限り、その数値は丸められたものとして扱います。
  4. 数値がどのように計算されるべきか言えない場合は、導出をでっち上げてはいけません。そのままクレームなしにしておきます。
  5. 文書内のすべての数値は、numbers か理由付きの skipped のいずれかに収められます。カバレッジステップを実行し、見逃したものがあれば戻ってください。
  6. 文書を修正してはいけません。verdicts.json やレポートを編集してはいけません。

手順

カレントディレクトリに prove-work/ というフォルダを作成して作業します。DOC はユーザーのファイルです。

  1. 取り込み (Ingest)。 PROVE ingest DOC -o prove-work/doc.json --render-pages prove-work/pages PDFサポートがないと表示された場合は、pip install pymupdf を一度試してください。それが不可能な場合は、自分のツールでファイルを読み込み、ステップ4で --doc をスキップし、数値を根拠付けられなかったため矛盾を報告できないことをユーザーに伝えてください。
  2. スキャン (Scan)。 PROVE scan prove-work/doc.json は、すべての数値トークンとそのページを一覧表示します。これはルール5のためのチェックリストです。PROVE text prove-work/doc.json は各ページのテキストを出力します。引用はここからコピーしてください。
  3. prove-work/claims.json の読み取りと書き込み。 最初にこのスキルのフォルダにある reference/claims-schema.md を読んでください。すべてのフィールドが定義されています。次に文書自体(PDFの場合はページ画像も)を読み、以下を記録してください。
    • 導出された数値: 合計、差、シェア、成長率、平均、CAGR、順位。各項目が印刷されている場合、シェアは印刷された全体からではなく、各項目の合計から計算してください(全体自体もチェック対象です)。
    • 相互参照: 同じ数量が2か所で印刷されている場合 (eq)。
    • グラフ: reference/charts.md を読んだ後でのみ。各マークを2回読み取り、2回目は PROVE crop で作成した2倍クロップから読み取ってください。点ではなく、正直な区間を指定してください。
    • ソース: DOI、arXiv ID、URL、およびそのソース付きの直接引用。
    • その他すべての数値は、理由(年、ページ番号など)とともに skipped に入れてください。 ページ番号と引用は、あなたの記憶ではなく PROVE text が出力したものと一致しなければなりません。
  4. チェック (Check)。 PROVE check prove-work/claims.json --doc prove-work/doc.json 判定を出力し、prove-work/verdicts.json に書き込みます。スキーマエラー、not-grounded、parse-mismatch、unit-mismatch、scale-mismatch、または見逃した数値が報告された場合、原因は通常 あなたの クレームファイルにあります。ファイルを修正して再実行してください。文書の内容を変更して修正してはいけません。文書に対して真となるものだけが残るまで続けてください。
  5. ソース (Sources)。 PROVE sources prove-work/claims.json(ファイルにソースがリストされている場合)。ネットワークアクセスがない場合は --offline を追加し、ソースがチェックされなかったことをユーザーに伝えてください。
  6. レポート (Report)。 PROVE report prove-work/verdicts.json --html --md --card ここで終了コード1は、少なくとも1つのクレームが矛盾していることを意味します。これは発見であり、失敗ではありません。
  7. ユーザーに伝える、この順序で:
    • 矛盾したクレームの数、次にそれぞれを provecheck が出力した計算とともに一文で;
    • 疑わしいクレーム、それぞれに可能な範囲;
    • カバレッジ行、および見逃した数値がある場合はその数;
    • チェックされなかったものとその理由(未検証のクレーム、オフライン時のソース、読み取れなかったグラフ);
    • prove-work/prove-report.html のパス。

各判定について言うべきこと

  • 矛盾 (contradicted): 「これはいかなる丸めの下でも正しくありえません。」数値を示してください。
  • 疑わしい (suspect): 「これは入力が丸めの限界値にある場合にのみ成り立ちます。」範囲を示してください。
  • 未検証 (unverified): 「チェックされていません」とその理由。文書の問題として提示してはいけません。
  • 検証済み (verified): 件数を述べてください。リストは尋ねられた場合のみ表示してください。

グラフの判定は画像の読み取り結果に基づき、レポートでは read とタグ付けされます。その旨を伝え、要約内では計算されたものと区別してください。

クリーンなレポートは、チェックされたクレームがすべて合格したことを意味します。チェックされた件数を伝えてください。

必要なときに読み込む詳細情報

  • reference/claims-schema.md — クレームファイル、フィールドごと、関係のリストと各 unverified 理由の意味。ステップ3の前に読んでください。
  • reference/charts.md — Prove用のグラフの読み方。グラフクレームの前に読んでください。
  • reference/examples.md — 2つの完全な実例。

関連スキル