citation-check-skill について
citation-check-skillは、あらゆる言語の文書に含まれる主張を、信頼できるウェブ情報源または指定文書と照合するスキルです。抽出と検証を分ける二段階方式を採用し、数値や図表も厳密に確認します。
主な機能
- 01ウェブ検索と文書限定の検証モード
- 02主張の抽出と照合を分ける二段階方式
- 03引用の実在と主張との整合性確認
- 04数値の厳密な精度チェック
- 05図表データと表示の確認
活用シーン
- 01レポートや論文の引用確認
- 02指定文書だけを用いた主張の監査
- 03スライドの数値や図表の検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ serenakeyitan/ citation-check-skill --skill citation-check-skillインストール後、Claude Code で/citation-check-skillを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdLICENSEreferences/citation_schema.json詳細
引用・ハルシネーションチェッカー v2
ビジョン機能とウェブ検索を備えた検証ツールです。あらゆる主張を、信頼できる情報源または提供された文書と照合して検証します。あらゆる言語のコンテンツに対応しています。
設計原則: 決定論的な検証。同じ入力 → 同じ出力。
2 つの検証モード
モード 1:検索による検証(デフォルト)
- 信頼できる情報源をウェブで検索します
- 引用元が実際に存在するかを検証します
- 引用元に主張の内容が記載されているかを確認します
- 統計データの原典を探します
モード 2:文書のみでの検証
- ユーザーがソース文書を提供します
- すべての内容をそれらの文書にたどれる必要があります
- 外部の知識に基づいていると思われる内容にはフラグを立てます
- トリガー:「この文書のみを使用」/「PDF のみと照合して検証」/「ウェブを検索しないで」
2 パスのアーキテクチャ
重要: 必ず別々の 2 つのパスを使用してください。抽出と検証を決して交互に行わないでください。
パス 1:抽出のみ
- 文書/スライド/画像全体を読みます
- 以下の「主張の抽出ルール」に従って、すべての主張を抽出します
- 番号付きリストを出力します:
[claim_id] | [claim_text] | [claim_type] | [location] - このパスでは検証を行いません
- 先に進む前に、抽出結果をユーザーに提示して確認してもらいます
パス 2:検証のみ
- パス 1 の出力を固定入力として扱います
- 各 claim_id を順番に検証します
- 再抽出は禁止です。パス 1 の主張のみを使用します
- 各主張にステータス判定ツリーを適用します
- 最終レポートを生成します
これにより、検証中に「新しい主張を発見」することを防ぎ、一貫性を確保できます。
主張の抽出ルール(網羅的)
次の種類の主張のみを抽出します。ルールを厳密に適用し、判断に委ねないでください。
次の内容を主張として抽出します:
| 種類 | パターン | 例 |
|---|---|---|
| 統計 | 単位または文脈を伴う数値(%、$、件数、比率、小数) | 「精度 92.3%」、「市場規模 47 億ドル」 |
| 比較 | X は Y より[比較級]である | 「ベースラインより 3 倍高速」 |
| 時間 | 時期が限定された主張 | 「2024 年に、導入率は……に達しました」 |
| 帰属 | 情報源に結び付けられた主張 | 「WHO によると……」、「Smith らは……と発見しました」 |
| 因果 | X が Y を引き起こす/もたらす/結果として生じさせる | 「これによりレイテンシが……削減されます」 |
| 存在 | 何かが存在する/真実であると主張する | 「5 億人のユーザーがいます」、「このモデルは……をサポートしています」 |
| 順位 | 順位に関する主張 | 「最大」、「初」、「上位 3 位」 |
| 引用 | 直接引用 | 情報源に帰属する、引用符で囲まれたすべてのテキスト |
主張として抽出しない項目:
| 種類 | 例 | 理由 |
|---|---|---|
| 定義 | "機械学習はAIの一分野です" | 定義であり、事実に関する主張ではない |
| 意見であることが明示された見解 | "私たちは〜と考えています…", "私たちの見解では…" | 主観的であることが明示されている |
| 仮定 | "導入が続けば…", "潜在的に可能性があります…" | 推測的である |
| 質問 | "成長を促す要因は何でしょうか?" | 断定ではない |
| 出典のない将来予測 | "2030年までに100億ドルに達するでしょう" | 予測レポートを引用している場合を除く |
| 方法論の説明 | "PyTorch 2.0を使用しました" | プロセスであり、事実に関する主張ではない |
| 謝辞 | "協力者の皆さまに感謝します" | 検証できない |
抽出結果の形式
[C01] | "Model achieves 96.555% accuracy on ImageNet" | Statistic | Slide 3, bullet 2
[C02] | "Outperforms GPT-4 by 12% on reasoning tasks" | Comparative | Slide 3, bullet 3
[C03] | "According to Chen et al. (2024), transformers scale linearly" | Attribution | Slide 5, para 1
[C04] | "Market size reached $4.7B in 2024" | Statistic + Temporal | Slide 7, chart title
ステータス判定ツリー
すべての主張にこのツリーを適用してください。省略せず、必ず指示どおりに進めてください。
START
│
├─ Is this a CITATION claim (references a paper/report/source)?
│ ├─ YES → Go to CITATION VALIDATION
│ └─ NO → Go to STATISTIC/FACT VALIDATION
│
│
CITATION VALIDATION
│
├─ Step 1: Does the cited source exist?
│ │ Run ALL mandatory search queries (see Search Templates)
│ │
│ ├─ NO → Status: "Citation Not Found"
│ │ Issue: "Cannot locate [citation] in any database"
│ │ STOP
│ │
│ └─ YES → Step 2: Does source contain the claimed topic?
│ │
│ ├─ NO → Status: "Misquoted"
│ │ Issue: "Source exists but does not discuss [topic]"
│ │ STOP
│ │
│ └─ YES → Step 3: Does source support the exact claim?
│ │
│ ├─ YES (exact match) → Status: "Verified"
│ │ Confidence: "exact"
│ │
│ ├─ YES (paraphrase, same meaning) → Status: "Verified"
│ │ Confidence: "paraphrase"
│ │
│ ├─ PARTIALLY (missing context) → Status: "Misleading"
│ │ Issue: "Claim omits critical context: [what's missing]"
│ │
│ └─ NO (contradicts) → Status: "Hallucination"
│ Issue: "Source says [X], claim says [Y]"
│
│
STATISTIC/FACT VALIDATION
│
├─ Step 1: Can you find an authoritative source?
│ │ Run ALL mandatory search queries (see Search Templates)
│ │
│ ├─ NO (no source found) → Status: "Unverified"
│ │ Issue: "No authoritative source found"
│ │ STOP
│ │
│ └─ YES → Step 2: Do values match EXACTLY?
│ │
│ ├─ YES → Status: "Verified"
│ │ Confidence: "exact"
│ │ STOP
│ │
│ └─ NO → Status: "Numerical Error"
│ Go to NUMERICAL ERROR DETAILS
│
│
NUMERICAL ERROR DETAILS (Academic Precision Mode)
│
├─ Record:
│ • Source value: [exact number from source]
│ • Claimed value: [number in document being checked]
│ • Deviation: [calculate exact difference]
│ • Source location: [page, table, section]
│
├─ Classification:
│ • ANY rounding → Numerical Error
│ • ANY truncation → Numerical Error
│ • Significant figures mismatch → Numerical Error
│ • Unit mismatch → Numerical Error
│ • Wrong direction (e.g., increase vs decrease) → Hallucination
│
└─ Exception: If source ITSELF provides rounded figure
• e.g., Source says "96.555% (approximately 97%)"
• Then claiming "97%" → Verified (cite the approximation)
数値の精度に関するルール(学術標準)
デフォルトモード:学術的な厳密さを優先します。正確な数値のみ使用してください。
| ルール | 出典 | 主張 | ステータス |
|---|---|---|---|
| 完全一致が必須 | 96.555% | 96.555% | ✓ 検証済み |
| いかなる丸めもエラー | 96.555% | 97% | ✗ 数値エラー |
| いかなる丸めもエラー | 96.555% | 96.6% | ✗ 数値エラー |
| 切り捨てもエラー | 96.555% | 96.5% | ✗ 数値エラー |
| 有効数字を一致させる | 0.834 | 0.83 | ✗ 数値エラー |
| 単位を一致させる | 96.555% | 0.96555 | ✗ 数値エラー |
| 増減の方向も重要 | 成長率+12% | 成長率+15% | ✗ ハルシネーション |
| 桁数 | $4.7B | $47B | ✗ ハルシネーション |
数値エラーの出力形式
### Numerical Error: [Claim ID]
| Field | Value |
|-------|-------|
| Claim | "Model achieves 97% accuracy" |
| Location | Slide 4, bullet 2 |
| Source | Chen et al. (2024), Table 3, p.8 |
| Source value | 96.555% |
| Claimed value | 97% |
| Deviation | +0.445% (rounded up) |
| Status | Numerical Error |
| Fix | Replace with: "Model achieves 96.555% accuracy" |
信頼度の分類
| レベル | 基準 | 使用する場合 |
|---|---|---|
| 完全一致 | 単語の一致率が95%以上、または単位も一致する数値が同一 | 直接引用、正確な統計値 |
| 言い換え | 同じ事実を別の言葉で表現し、解釈を加えていない | 調査結果の言い換え |
| 解釈 | 出典のデータから導いた推論 | 出典に基づく計算、統合した情報 |
ルール: レベルの判断に迷った場合は、より保守的な選択肢を使用し、レビュー対象としてフラグを付けてください。
必須の検索テンプレート
該当するテンプレートをすべて実行してください。最初の結果で終了しないでください。
学術的な引用の場合
Query 1: "[first author last name] [year] [first 3 words of title]"
Query 2: "[full paper title]" site:semanticscholar.org OR site:arxiv.org
Query 3: "[first author] [year] [venue/journal name]"
Query 4: "doi:[DOI]" (if DOI provided)
Query 5: "arxiv:[arxiv_id]" (if arXiv ID provided)
統計の場合(市場規模、利用数など)
Query 1: "[exact number with unit] [topic] [year]"
Query 2: "[topic] [year] statistics report site:statista.com"
Query 3: "[topic] [year] report site:mckinsey.com OR site:gartner.com"
Query 4: "[topic] market size [year] site:gov OR site:edu"
Query 5: "[topic] [number] original source"
企業・製品に関する主張の場合
Query 1: "[company name] [claim topic] press release [year]"
Query 2: site:[company domain] [claim topic]
Query 3: "[company name] [metric] official announcement"
Query 4: "[company name] [claim] SEC filing" (for public companies)
健康・医療に関する主張の場合
Query 1: "[claim topic] site:who.int OR site:cdc.gov OR site:nih.gov"
Query 2: "[claim] systematic review site:cochrane.org"
Query 3: "[claim] meta-analysis pubmed"
政府・政策に関する主張の場合
Query 1: "[policy/law name] site:gov"
Query 2: "[statistic] official statistics [country]"
Query 3: "[claim] [agency name] report"
ソースの信頼性の優先順位
複数のソースが見つかった場合は、次の順に優先します。
| 順位 | ソースの種類 | 例 |
|---|---|---|
| 1 | 一次ソース | 原著研究、公式レポート、生データ |
| 2 | 政府機関・公的機関 | WHO、CDC、世界銀行、各国の統計局 |
| 3 | 査読付き出版物 | Nature、Science、IEEE、ACM |
| 4 | 出典が明記された業界レポート | Gartner、McKinsey、Statista(方法論を含む) |
| 5 | 一次ソースを引用する信頼できるニュース | NYT、一次ソースを引用するReuters |
| 6 | 二次的な情報のまとめ | Wikipedia(出典を確認すること) |
ルール: 順位5~6のソースしか見つからない場合、ステータスを「未検証」とし、「二次ソースのみ見つかりました」という注記を付けます。
複数ソースによる検証(検索モード)
次の条件を満たした場合にのみ、主張のステータスを「検証済み」とします。
| 条件 | 必要なソース |
|---|---|
| 一次ソースが見つかった | 1件(権威あるソース:.gov、査読済み、公式の場合) |
| 二次ソースのみの場合 | 独立した2件以上のソースが一致 |
| ソース間に矛盾がある | ステータスを「未検証」とし、矛盾について注記する |
判断が分かれる場合のルール
判断に迷った場合は、次のルールを適用します。独自の判断は加えません。
| 状況 | ルール |
|---|---|
| 主張の日付が記載されていない | 入手可能な最新の年を指すものとみなし、「日付が必要」と明記する |
| ソース間に矛盾がある | 最新の権威あるソースを使用し、両方を引用して矛盾について注記する |
| すべての検索を終えてもソースが見つからない | ステータスを「未検証」とする(「幻覚」ではない) |
| 通貨換算により数値が異なる | 「要確認:通貨/単位」と明記する |
| 同じ組織のレポートが複数ある | 最新のものを使用し、日付を添えて引用する |
| 主張に「約」または「およそ」が使われている | 元の数値が妥当な範囲内(ソースの±10%)であることも検証する |
| ソースが有料で閲覧できない | 「ソースは有料で、正確な記述を検証できません」と注記する |
| ソースが異なる言語で書かれている | 翻訳して検証し、翻訳であることを注記する |
視覚データの検証
すべてのチャート、グラフ、表、図について、次の手順で確認します。
ステップ1:データポイントを抽出する
- 視覚資料からすべての値を読み取ります
- 軸ラベル、単位、尺度、凡例を記録します
- 視覚的な歪み(省略された軸、3D 効果など)があれば記録します
ステップ2:ソースを探す
- 検索モード:データの検索テンプレートを実行します
- ドキュメントのみモード:ソースドキュメント内で該当箇所を探します
ステップ3:値を1つずつ比較する
| Visual Element | Extracted Value | Source Value | Status |
|----------------|-----------------|--------------|--------|
| Bar 1 (2022) | 45% | 45.0% | ✓ Verified |
| Bar 2 (2023) | 62% | 58.3% | ✗ Numerical Error |
| Bar 3 (2024) | 78% | Not in source | ✗ Hallucination |
ステップ4:視覚的な整合性を確認する
| 確認項目 | 問題の種類 |
|---|---|
| Y 軸がゼロ以外から始まっている | 「視覚的な歪み:軸の操作」 |
| 3D 効果により比率が歪められている | 「視覚的な歪み:3D による誇張」 |
| ソースにある誤差範囲が表示されていない | 「誤解を招く表現:不確実性の省略」 |
| ソースと対象期間が異なる | 「誤解を招く表現:都合のよい期間の選択」 |
ドキュメントのみモードのワークフロー
起動フレーズ:
- 「このドキュメントのみを使用して」
- 「ウェブを検索しないで」
- 「PDF のみを使って検証して」
- 「すべての情報をソースから取得して」
ステップ1:ソースドキュメントに索引を付ける
検証を始める前に、完全な索引を作成します。
SOURCE INDEX
Document: [filename]
Pages: [count]
Page 1:
- Text: [summary of content]
- Statistics: [list all numbers with context]
- Tables: [Table 1: columns X, Y, Z]
- Figures: [Figure 1: shows X]
Page 2:
...
ステップ2:2パス方式を適用する
検索モードと同じですが、検証にはソースの索引のみを使用します。
ステップ3:各主張の出典を追跡する
Claim: [C01] "Model achieves 92% accuracy"
Search index for: "92", "accuracy", "performance"
├─ Found: Section 4.2, p.8 — "Our model achieves 92.1% accuracy"
│ └─ Status: Numerical Error (92% vs 92.1%)
│
OR
│
├─ Not found in index
│ └─ Status: "Not in Source"
│ Issue: "This claim cannot be traced to the provided document"
│ Likely: External knowledge / hallucination
ステップ 4:外部知識をすべてフラグ付けする
ドキュメントのみのモードでは、ソースまでたどれない主張はすべて問題です
### External Knowledge Detected
These claims are NOT in the provided document:
| Claim ID | Claim | Status | Issue |
|----------|-------|--------|-------|
| C07 | "This method is widely adopted in industry" | Not in Source | Appears to be from model training data |
| C12 | "Published in Nature 2024" | Not in Source | Publication venue not mentioned in source |
出力形式
要約ブロック(常に最初)
## Verification Report
**Mode:** [Search / Doc-Only]
**Document:** [filename or description]
**Generated:** [timestamp]
### Summary
| Metric | Count |
|--------|-------|
| Total claims extracted | X |
| Verified | Y |
| Numerical Error | Z |
| Unverified | A |
| Hallucination | B |
| Misleading | C |
| Not in Source (doc-only) | D |
**Overall Status:** [PASS: All verified / FAIL: Issues found]
詳細な調査結果(ステータス別)
### ✓ Verified Claims (N)
| ID | Claim | Source | Location | Confidence |
|----|-------|--------|----------|------------|
| C01 | "92.1% accuracy" | Chen et al. 2024 | Table 3, p.8 | exact |
### ✗ Numerical Errors (N)
| ID | Claim | Source Value | Claimed Value | Deviation | Fix |
|----|-------|--------------|---------------|-----------|-----|
| C03 | "97% accuracy" | 96.555% | 97% | +0.445% | Use 96.555% |
### ✗ Hallucinations (N)
| ID | Claim | Issue | Source Says |
|----|-------|-------|-------------|
| C05 | "3x faster" | Contradicts source | Source: 2.1x faster |
### ⚠ Unverified (N)
| ID | Claim | Issue |
|----|-------|-------|
| C08 | "$50B market" | No authoritative source found |
### ⚠ Misleading (N)
| ID | Claim | Issue | Missing Context |
|----|-------|-------|-----------------|
| C10 | "Best performance" | Cherry-picked metric | Only on subset; overall performance lower |
参照したソース
### Sources
| ID | Citation | Type | URL | Used For |
|----|----------|------|-----|----------|
| S1 | Chen et al. (2024) | arxiv | https://arxiv.org/... | C01, C02, C03 |
| S2 | Statista Market Report | report | https://statista.com/... | C08 |
重要なルール
- 必ず 2 段階で実施する — まず抽出し、次に検証します。決して交互に行わないでください。
- すべての主張を確認する — 例外はありません。「明らかな」主張も飛ばさないでください。
- 数値は正確に記載する — 学術モードでは、96.555% ≠ 97% です。
- 出典を見つける — 出典不明の一次資料を引用している二次資料を受け入れないでください。
- 検索テンプレートをすべて実行する — 最初の結果で止めないでください。
- 引用文献が実在することを確認する — 論文やレポートの存在を検索して確かめてください。
- ソースに実際に何が書かれているか確認する — 実在する論文でも、誤って引用されている場合があります。
- ドキュメントのみのモードでは、外部知識をすべてフラグ付けする — たとえ真実であっても対象です。
- 確信が持てない場合は、慎重に判断する — 誤った「検証済み」よりも「未検証」のほうが安全です。
- タイブレークルールに従う — その場限りの判断をしないでください。
言語サポート
- あらゆる言語のコンテンツを受け付けます
- ソースを探す際は、適切な言語で検索します
- ユーザーのリクエストと同じ言語で報告します
- 言語をまたいだ検証に対応しています(例:中国語のスライドで英語の論文を引用)
- 検証のために翻訳する場合は、「[言語]から翻訳」と記載してください
出力形式のオプション
クイック: 要約+重大な問題のみ(数値エラー、ハルシネーション、未検証) フル: すべての主張を追跡できる完全なレポート JSON: 機械可読な監査データ(references/citation_schema.json を参照)
変更履歴
v2.0 — 一貫性を向上
- 2 段階アーキテクチャ(抽出 → 検証の分離)を追加
- 網羅的な主張抽出ルールを追加
- ステータス判定ツリー(決定論的な分類)を追加
- 厳密な数値精度ルール(学術モード)を追加
- 必須の検索テンプレートを追加
- 複数ソースによる検証要件を追加
- エッジケース向けのタイブレークルールを追加
- 信頼度分類のしきい値を追加