verify-claims について
Chain-of-Verificationの手順で草稿をファクトチェックするスキルです。事実主張を抽出して独立検証し、引用が主張を裏付けるかも確認します。検証不能または情報源と矛盾する内容を報告します。
主な機能
- 01検証可能な事実主張の抽出
- 02主張ごとの質問作成
- 03独立した検証エージェントの利用
- 04重大度別の結果集約
- 05必要に応じた該当箇所の修正
活用シーン
- 01引用と帰属内容の確認
- 02数値、データセット、固有名詞の検証
- 03情報源と矛盾する主張や検証不能な主張の特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pedrohcgs/ claude-code-my-workflow --skill verify-claimsインストール後、Claude Code で/verify-claimsを入力して読み込まれたか確認します。
同梱ファイルevals/cases/fresh-context-independence.mdevals/marker.txt
詳細
/verify-claims — 草稿の Chain-of-Verification
Post-Flight Verification プロトコル(.claude/rules/post-flight-verification.md)を使って草稿のファクトチェックを行います。
入力: $ARGUMENTS — 草稿を含むファイル(markdown、.qmd、.tex、.md)へのパス、または簡略ポインター。任意のフラグ:
--source <path-or-url>— ソース資料へのポインターを1つ以上指定します(複数指定する場合は繰り返します)。省略した場合、このスキルがコンテキスト(例:参照されている論文、引用されたarXiv URL)から推定します。--no-fail-closed— 再生成せずに、FAIL の結果を警告に格下げします。必要な場合に限って使用してください。
このスキルを選ぶ場合
/verify-claims(このスキル) — ユーザーから渡されたあらゆる草稿やテキストブロックを、その場でファクトチェックします。1回限りの、ユーザーが呼び出すスキルです。- Post-Flight を内部で自動実行する他のスキル(
/lit-review、/research-ideation、/respond-to-referees、/review-paper --peer) — 個別に呼び出す必要はありません。これらのスキルはすでに実行しています。 /proofread— 文法、誤字脱字、文字数超過を確認します。確認の観点が異なります。/review-paper(デフォルトモード) — 主張の検証だけでなく、原稿全体をレビューします。/validate-bib— 引用が存在するか、形式が正しいか(構造と DOI)を確認します。このスキルでは、引用が妥当か(引用した論文が、帰属させた主張を裏付けているか)を確認します。両者は相互補完的です。投稿前に両方を実行してください。
仕組み
Dhuliawala et al. 2023(arXiv:2309.11495)による4段階の CoVe ループを実装し、独立性を保つための新しいコンテキストを使う手法をアーキテクチャで強制します。
Phase 0 — 事前確認
以下を確認します:
- 草稿ファイルが存在し、読み取り可能である
- 少なくとも1つのソースポインターが利用できる(
--sourceまたは草稿から自動検出) claim-verifierエージェントのファイルが.claude/agents/claim-verifier.mdに存在する
いずれかに失敗した場合 → 失敗を提示し、続行しないでください。
Phase 1 — 主張の抽出
草稿を読みます。以下の種類の事実に関する主張を特定します:
| 種類 | 例 |
|---|---|
| 引用 | "Smith (2019, JEL) shows X" |
| 数値的事実 | "N = 10,000", "ATT = 0.42" |
| 否定的な文献主張 | "No prior work studies X" |
| 固有名詞 | 研究者、論文タイトル、掲載誌、パッケージ、推定量の名称 |
| データセットに関する主張 | "The CPS contains field educ_attain" |
対象外:意見、将来に向けた提案、草稿内で導入する定義。
引用に関する主張では、引用だけでなく、主張と引用のペアを抽出します。 草稿がどの内容をどの研究に帰属させているかを記録し、検証者が単なる存在確認ではなく、妥当性(Smith 2019 は実際に X を示しているか)を確認できるようにします。「Smith (2019) shows a positive wage effect」は {cite: Smith2019, attributed: "positive wage effect"} となります。これは /validate-bib が明示的に対象外としている確認項目です。validate-bib は引用が存在し、形式が正しいことを確認し、このスキルは引用が妥当であることを確認します。引用先の論文は存在するものの、別の内容を述べている、または反対のことを述べているという誤引用は、具体的な author_alternative が記録されていない限り、まさに数値または方向性の矛盾に該当し、HIGH-WARN となります(記録されている場合は EXPLAINED)。
主張一覧表を出力します:
| ID | Claim | Source hint |
|----|-------|-------------|
| C1 | ... | ... |
Phase 2 — 検証用の質問を生成
主張ごとに質問を1つ作成します。ソースだけから回答できる、具体的な質問にしてください。
Phase 3 — claim-verifier を起動(新しいコンテキスト — 会話のフォークは禁止)
Agent: subagent_type=claim-verifier # a named subagent starts fresh; a /fork copy would inherit the draft
Prompt: hand over claims table + verification questions + source material pointers.
Do NOT include the draft text.
フォークされたエージェントが、CoVe の独立回答ステップを実行します。草稿を見たことがないため、確証バイアスの影響を受けません。構造化された検証レポートを返します。
フェーズ 4 — 照合
検証器は、各主張に対する判定を次の重大度ティアのいずれかで返します。
- HIGH-WARN — 捏造された参考文献(引用された論文が、記載された会場・年で存在しない)、ソースによって直接矛盾するドラフト内の主張、または検証器が幻覚的な引用と解釈する
not_foundの取得結果。フェイルクローズ — これらを最初に提示し、1 つでも残っている間はドラフトを検証済みとして提示してはなりません。これは報告ルールであり、機械的なゲートではありません。/commitや pre-commit フックのいずれもこれらの判定を読み取らないため、判断するのは著者であり、HIGH-WARN が残された場合はユーザーが目にするレポートに記載されます。 - MED-WARN — 一時的なインフラ/取得の失敗(検証器が通常はキャッシュされたメタデータ経由で回避できるペイウォール、DOI リゾルバーのタイムアウト、PDF の部分的な読み取り)。著者に提示しますが、ゲートによる拒否は行いません。
- LOW-WARN — ソースが真にアクセス不能(ペイウォールかつキャッシュに存在しない、非公開データセット、プレプリントサーバーの一時的な問題)。
cannot-verifyフラグを付けて提示しますが、ゲートによる拒否は行いません。 - EXPLAINED(v2.0) — 著者が、具体的で名前を挙げた代替案(別の妥当な版、仕様、サンプル、または丸めの慣例)によって事前に正当化した数値的/方向性の矛盾であり、その主張の
author_alternativeフィールドを通じて検証器に渡されます。証拠と記録された理由とともに提示され、非ゲーティングです。ハードフロアは維持されます。捏造された引用が EXPLAINED になることは決してなく、空欄または曖昧な代替案は HIGH-WARN のままです。これはaudit-reproducibilityの数値的主張に対する EXPLAINED の扱いを反映しています。妥当な代替案が名前を挙げて示されている場合、不一致は必ずしも失敗ではありません。
抽出されたすべての主張にわたるティア別の判定の集約(EXPLAINED は LOW と同様に非ゲーティングとして数えます):
| ティアのカウント | 結果 | レポートの記載内容 |
|---|---|---|
| 0 HIGH、0 MED、≥ 0 LOW/EXPLAINED | PASS(緑ブロック) | ドラフト検証済み |
| 0 HIGH、≥ 1 MED、任意の LOW/EXPLAINED | PARTIAL(黄ブロック) | 警告付きで検証済み |
| ≥ 1 HIGH | FAIL(赤ブロック) | HIGH-WARN が残っている間は検証済みとして決して報告されません(--no-fail-closed でない限り) |
--no-fail-closed は、HIGH-WARN の判定をフェイルクローズする代わりに通常の警告として報告します。使用は控えめにしてください。これは、ユーザーが書面でリスクを受け入れるオフライン/幻覚に敏感なコンテキスト向けに存在します。
ドラフトが書き込み可能で、ユーザーが自動修正を求めた場合は、検証器の証拠を使用して影響を受けるセクションを再生成します。そうでない場合は、レポートを返してユーザーに判断を委ねます。
例
/verify-claims quality_reports/lit-review_measurement-error.md --source master_supporting_docs/author_2021_method.pdf --source master_supporting_docs/coauthor_2020_survey.pdf
期待される出力(抜粋):
## Post-Flight Verification — lit-review_measurement-error.md
**Claims extracted:** 14
**Verified independently:** 14 (fresh-context claim-verifier)
**Outcome:** FAIL — 12 verified, 1 contradicted by its source (HIGH-WARN), 1 unverifiable (LOW-WARN); the draft is not reported as verified until C7 is corrected
### Discrepancies
- **C7** — draft claims "Coauthor (2020) *proposes* a bias-corrected estimator." Source Section 4 shows they propose a weighting estimator, not a bias-corrected one. Recommend correction.
### Unverifiable
- **C12** — draft cites "Third Author et al. 2024 (working paper)". No canonical URL in provided sources. Recommend user supply DOI or arXiv link.
### Verified
| ID | Claim | Evidence |
|----|-------|----------|
| C1 | "Author 2021 defines the calibration constant as a ratio of moments" | p. 5, eq. (3) |
| ... | ... | ... |
失敗モードとリカバリ
検証器がタイムアウトする: 警告ブロックを提示し、ドラフトを暫定版として返します。黙って出荷しないでください。
ソース資料にアクセスできない(ペイウォール、404): それに依存する特定の主張を報告し、cannot-verify としてフラグを立て、ユーザーに代替ソースの提供を推奨します。
ドラフトが意見/将来予測的なテキストのみを含む: 「検証可能な事実的主張が抽出されませんでした — チェックするものはありません」と報告して返します。
相互参照
.claude/agents/claim-verifier.md— フレッシュコンテキストの検証器。.claude/rules/post-flight-verification.md— プロトコル。- Chain-of-Verification 対 critic-fixer 対 cross-artifact review に関する MEMORY.md の
[LEARN:pattern]。