mcpField
C
cite-verify

cite-verify

github.com/jonckrドキュメント458 回インストール27 週間前に更新
リポジトリ

cite-verify について

cite-verifyは、研究者や執筆者向けの引用確認スキルです。引用メタデータをCrossrefの記録と照合し、識別子とタイトルの不一致や、架空の参考文献を検出します。

主な機能

  1. 01Crossrefメタデータとの引用照合
  2. 02識別子とタイトルの不一致検出
  3. 03一般的な参考文献形式の読み込み
  4. 04確認結果のレポート
  5. 05ハッシュベースの監査ログをローカル保存

活用シーン

  1. 01論文提出前の参考文献確認
  2. 02会話に貼られた引用の検証
  3. 03LLM生成の参考文献の確認
  4. 04研究助成申請書や報告書の引用確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jonckr/cite-verify --skill cite-verify

インストール後、Claude Code で/cite-verifyを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
CHANGELOG.md
CONTRIBUTING.md
LICENSE
README.md
SECURITY.md
requirements.txt
.github/DISCUSSION_TEMPLATE/
catches.yml
ideas.yml
.github/ISSUE_TEMPLATE/
bug.yml
false-negative.yml
feature-request.yml
false-positive.yml
cache/
.gitkeep
docs/
INTERPRETING_REPORTS.md
MIGRATION_v0.1_v0.2.md
examples/
attention-paper-verified.md
acemoglu-partial-match.md
fabricated-not-found.md
transformer-hallucination.md
oster-verified.md
scripts/
install_deps.sh
crossref_lookup.sh
parse_bibtex.py
parse_citation.sh
lint.sh
verify_deps.sh
tests/corpus/
known-hallucination.bib
run_known_hallucination_gate.sh
tests/diagnosis/
01_python_unavailable.sh

詳細

cite-verify

Crossref の正規の書誌メタデータと照合して、参考文献の引用を検証します。実在する識別子(DOI、NBER ワーキングペーパー番号、arXiv ID)に、捏造されたタイトルが組み合わされるという、LLM の特有のハルシネーションを検出します。

使用するタイミング

次の場合に使用します:

  • 参考文献(.bib、.tex、.md、.docx、プレーンテキスト)にハルシネーションによる引用がないか検証する場合

次の場合にこのスキルを呼び出してください:

  • ユーザーが文書内の引用を確認、検証、またはリントするよう求めた場合
  • ユーザーがチャットに1つ以上の引用を貼り付け、それが実在するかどうかを尋ねた場合
  • ユーザーがハルシネーションによる参考文献、偽の引用、または LLM が生成した参考文献に言及した場合
  • ユーザーが論文、助成金申請書、またはレポートを準備しており、提出前にハルシネーションによる引用を見つけたい場合
  • ユーザーが特定の引用について、タイトルが識別子と一致するか確認したい場合

使用しないタイミング

  • 一般的な主張のファクトチェック(このスキルが確認するのは引用のメタデータのみであり、引用元が実際に主張を裏付けているかどうかは確認しません)
  • メモから引用を生成する場合(このスキルはチェッカーであり、作成ツールではありません)
  • 出典の特定自体が機微情報にあたる引用の場合(このスキルは書誌メタデータを公開 API である Crossref に送信します)

入力の解決

ユーザーのメッセージを次の順序で確認してください:

  1. メッセージに貼り付けられた引用テキスト。 ユーザーがメッセージに引用文字列を1つ以上直接含めている場合は、標準入力経由でリンターに渡してください。ファイルは不要です。
  2. 指定されたファイルパス。 ユーザーが .md、.tex、.bib、.txt、または .docx ファイルのパスを指定した場合は、そのパスを引数としてリンターに渡してください。macOS で .docx を扱う場合は、先に変換します:textutil -convert txt -stdout -- "$path" | ~/.claude/skills/cite-verify/scripts/lint.sh
  3. 両方。 ユーザーが両方を指定した場合は、貼り付けられたテキストを先に処理してください。
  4. どちらもない場合。 どの引用を確認するか尋ねてください。

実行方法

# Pasted text mode:
echo "<citation text>" | ~/.claude/skills/cite-verify/scripts/lint.sh

# Multiple citations - separate with blank lines:
printf 'Citation one here.\n\nCitation two here.\n' | ~/.claude/skills/cite-verify/scripts/lint.sh

# File mode:
~/.claude/skills/cite-verify/scripts/lint.sh /path/to/paper.md

# .docx on macOS:
textutil -convert txt -stdout -- "/path/to/paper.docx" | ~/.claude/skills/cite-verify/scripts/lint.sh

出力の解釈

リンターは、次の判定カテゴリを含む Markdown レポートを出力します:

  • VERIFIED - 引用のメタデータが正規のレコードと一致しています。使用しても問題ありません。
  • PARTIAL_MATCH - 正規のレコードは存在しますが、1つ以上のフィールドが異なります(例:ワーキングペーパー版と出版版で年が異なる)。確認して判断してください。
  • METADATA_MISMATCH - 識別子(DOI または NBER 番号)が、タイトルの異なる論文に紐付いています。これは LLM のハルシネーションによる失敗のパターンです。 ほとんどの場合、誤りです。
  • NOT_FOUND - Crossref に一致する正規のレコードがありません。実在するマイナーな出典の可能性も、捏造された論文の可能性もあります。手動での検証が必要です。
  • NEEDS_MANUAL_VERIFICATION - 検証に十分なデータがありません(タイトルが非常に短い、フィールドが欠けているなど)。

レポートをユーザーに提示してください。METADATA_MISMATCH または NOT_FOUND の項目がある場合は、目立つように示し、文書を使用する前に各項目を確認するよう提案してください。

対象範囲の制限

このスキルの対象範囲は意図的に限定されています:

  • Crossref のみを照会します(DOI、NBER ワーキングペーパー番号の検索、またはタイトルと著者による検索を使用)。現在、arXiv や OpenAlex は照会しません。
  • 引用のメタデータ(タイトル、著者、年、掲載誌)のみを確認します。引用された論文が実際に主張を裏付けているかどうかは検証しません。
  • 一般的な学術引用形式(APA、Chicago、単純な BibTeX、通常の参考文献)のみを扱います。複雑な LaTeX 参考文献ファイルを完全に解析することはできません。
  • macOS でのみ .docx をサポートします(textutil が必要です)。Linux の場合は、先にプレーンテキストに変換してください。
  • 1回の実行につき最大60件の引用(DoS 対策)。
  • 1回の実行につき入力は最大1 MB。

プライバシーに関する通知

cite-verify は、書誌メタデータ(タイトル、著者、年、DOI、NBER 番号)を Crossref の公開 API に送信します。以下の情報は送信しません。

  • 文書の本文
  • ツールの作成者やその他のサーバーへのデータ
  • 引用メタデータ以外の情報

~/.claude/skills/cite-verify/logs/verifications.jsonl にローカル監査ログが保存されます。このログには、引用文字列の SHA-256 ハッシュ(生のテキストではありません)、検証ステータス、タイムスタンプが記録されます。このログはユーザーのマシン上に保存され、どこにも送信されません。

引用された論文の一覧さえ機密性の高い文書(機密扱いの助成金申請書、公開前の研究、匿名査読など)には、このスキルを使用しないでください。確認した引用はすべて Crossref に送信されます。

フィードバック

結果を提示する際、レポートに検出結果が示されている場合やユーザーからフィードバックがあった場合は、レポートのフィードバック欄に触れてください(github.com/jonckr/cite-verify/issues へのリンクです)。検出結果の共有、誤検出や見逃しの報告、改善の提案は、こちらから行えます。

理論的基盤

このスキルは、Ludwig、Mullainathan、Rambachan(2025)による「Large Language Models: An Applied Econometric Framework」(NBER Working Paper 33344)の検証原則を適用しています。この論文では、検証用サンプルを収集しない限り、LLM が生成した出力に含まれる体系的な測定誤差が、その後の成果物にも伝播すると証明されています。cite-verify はこの原則を書誌情報に適用し、各引用を、信頼する前に正式な記録と照合して検証すべき LLM 生成ラベルとして扱います。

コメント