insert-reference-skill
URLへの参照(論文の引用、プレプリントへのリンク、コードリポジトリへのリンク、説明的なメタデータを含むウェブページへのリンク)をファイルやメッセージに挿入する前に、URLの内容を取得し、その周囲にある説明文(第一著者名、著者一覧(表示されている場合)、出版年、論文タイトル、ジャーナル名/学会名/リポジトリ名)がすべて取得したページと一致していることを確認します。不一致が見つかった場合は、記憶に頼らず修正してから挿入します。このスキルは、Claudeが引用文献、参考文献リスト、または説明テキスト付きの「<URL>を参照」形式の参照を作成しようとするたびに実行されます。また、「reference を挿入」「citation を追加」「〜を引用」「reference を確認」「citation をチェック」などのフレーズでも実行されます。
description の原文を見る
Before inserting a URL reference (citation to a paper, link to a preprint, link to a code repo, link to a web page with descriptive metadata) into any file or message, fetch the URL target and verify that every piece of descriptive text around it — first author, full author list if shown, publication year, title, journal / venue / repository name — matches the fetched page. Correct any mismatches before insertion; do not rely on memory. Triggers whenever Claude is about to write a citation, bibliography entry, or "see <URL>" style reference with accompanying descriptor text. Also triggers on the phrases "insert reference", "add citation", "cite this", "verify reference", "check citation".
SKILL.md 本文
insert-reference-skill
URL参照の取得・検証ゲート。すべての参照挿入は、テキストをファイルに書き込む前に
scripts/verify_reference.py(単一参照)またはscripts/batch_verify.py(複数参照)を通す必要があります。
スクリプトは構造化されたJSONを出力します。以下のワークフローでそれらを実行する方法と、
不一致に対応する方法について説明します。
実行するタイミング
以下のいずれかをファイル、メッセージ、PR、またはチャットレスポンスに挿入しようとする際に、 このスキルを実行してください:
- 論文への引用(例: "Pancotti et al., 2024, MUSE-XAE, ...")。
- プレプリント(arXiv、bioRxiv、medRxiv)へのリンク。
- 公開論文(DOI、ジャーナルHTML、PubMed)へのリンク。
- 著者/ツール帰属を伴うコードリポジトリへのリンク。
- そのページの内容や著者が誰であるかを述べている、Webページへのリンク。
説明文のない生のURL(例: ステータスメッセージ内の単純なリンク)には実行しないでください。
検証チェックリスト
すべての参照について、以下を検証します:
- 最初の著者の姓 — "X et al." または "X and Y" の先頭の名前。
- 著者全員のリスト — 記載されている場合。
- 発行年。
- タイトル — 正確に、引用または言い換えられているもの。
- 掲載誌 — ジャーナル名、カンファレンス、プレプリントサーバー(arXiv/bioRxiv/medRxiv)、 またはリポジトリホスト(GitHub/GitLab)。
- 引用されたクレーム — ターゲットが述べていることを引用している場合、 取得したページに対して引用または言い換えを確認します。
ワークフロー
ステップ1 — 予想されるレコードを構築する
ドラフトテキストから、書き込もうとしているフィールドを抽出します。例:
{"url": "https://arxiv.org/abs/2402.03776",
"first_author": "Pancotti",
"year": "2024",
"title": "MUSE-XAE",
"venue": "arXiv"}
ステップ2 — 検証する
単一参照:
python3 ~/.claude/skills/insert-reference-skill/scripts/verify_reference.py \
"https://arxiv.org/abs/2402.03776" \
--author Pancotti --year 2024 --title "MUSE-XAE" --venue arXiv
複数参照(複数がある場合は推奨): JSONアレイを作成してパイプで入力します:
python3 ~/.claude/skills/insert-reference-skill/scripts/batch_verify.py <<'EOF'
[
{"url": "https://arxiv.org/abs/2402.03776",
"first_author": "Pancotti", "year": "2024", "title": "MUSE-XAE"},
{"url": "https://doi.org/10.1038/s41586-020-1943-3",
"first_author": "Alexandrov", "year": "2020"}
]
EOF
スクリプトは各ターゲットタイプの信頼できるソースから取得します:
| ターゲット | ソース |
|---|---|
arxiv.org/abs/* | arXiv API (export.arxiv.org/api/query) |
DOI / doi.org/* | Crossref API (api.crossref.org/works/<DOI>) |
pubmed.ncbi... | NCBI E-utilities (esummary.fcgi) |
| bioRxiv / medRxiv | api.biorxiv.org/details/<server>/<doi> |
github.com/o/r | GitHub API (api.github.com/repos/o/r) |
| その他 | HTML <meta name="citation_*"> スクレイプ + <title> |
ステップ3 — 結論に対応する
各結果には verdict フィールドがあります:
match— ドラフトどおりに参照を挿入してください。mismatch— ドラフトどおりには挿入しないでください。fetchedの値を使用して テキストを修正してから、検証を再実行(推奨ですが必須ではありません)し、 修正されたバージョンを挿入してください。例: fetched.first_author = "Pancotti" だが expected = "Islam" → 引用を "Pancotti et al., 2024" に書き直します。unverified— 取得に失敗しました(ペイウォール、403、空のメタデータ)。 参照をインラインフラグ[unverified: <reason>]と共に挿入し、 ターン終了時のサマリーで言及して、ユーザーが手動で確認できるようにしてください。
ステップ4 — ユーザーへのサマリー
バッチを完了したら、ユーザーに簡潔に報告してください:
- 検証OK数
- 適用した修正(旧値 → 新値、URL付き)
- 未検証の取得
スコープ/非目標
- このスキルは、論文が関連性があるか正しいかを判断するものではなく、 URLの周囲の説明テキストが正確かどうかのみを判定します。
- 引用を自動検索しません(それはモデルの仕事です)。
- メタデータ検索以上にPDFを修正したり、コンテンツを再ダウンロードしません。
既知の制限事項
- 一部のパブリッシャーは
urllibユーザーエージェントをブロックします。 汎用HTMLパスは403を返す可能性があります。これらはunverifiedを期待し、フラグを付けてください。 - HTMLフォールバックは
<meta name="citation_*">タグに依存します。 これらがないサイトは検証が弱くなります —<title>の健全性チェックには まだ使用可能ですが、著者には使用できません。 fuzzy_eqはタイトルと掲載誌に部分文字列比較を使用します。 必要に応じて後で完全一致モードを追加できます。
例: MUSE-XAE修正
挿入しようとしていたドラフトテキスト:
Islam et al., 2024, "MUSE-XAE", https://arxiv.org/abs/2402.03776
実行:
python3 .../verify_reference.py https://arxiv.org/abs/2402.03776 \
--author Islam --year 2024 --title "MUSE-XAE"
予想される出力(省略):
{
"verdict": "mismatch",
"mismatches": [
{"field": "first_author", "expected": "Islam", "fetched": "Marco A. Pancotti"}
],
"fetched": {"first_author": "Pancotti", "year": "2024",
"title": "MUSE-XAE: MUtational Signature Extraction ..."}
}
修正されたテキスト:
Pancotti et al., 2024, "MUSE-XAE: MUtational Signature Extraction ...", https://arxiv.org/abs/2402.03776
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- steverozen
- ライセンス
- MIT
- 最終更新
- 2026/4/24
Source: https://github.com/steverozen/insert-reference-skill / ライセンス: MIT