citation-management について
研究者や学術執筆者向けの文献管理スキルで、複数データベースの検索、メタデータ抽出、BibTeXの整理、引用情報の検証を扱います。段階的なスクリプト手順により、欠落情報の補完、重複除去、原著との照合を支援します。
主な機能
- 01OpenAlex・PubMed・Google Scholarで検索
- 02DOI・PMIDなどからメタデータを抽出
- 03不足する引用情報を補完
- 04BibTeXの整形と重複除去
- 05参考文献・DOI・本文引用の検証
活用シーン
- 01論文や学位論文の参考文献表を作成
- 02DOIやPMIDをBibTeXに変換
- 03投稿前に参考文献の完全性を確認
- 04複数検索結果を統合して重複を整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kalarislabs/ research-agent-skills --skill citation-managementインストール後、Claude Code で/citation-managementを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/bibtex_template.bibcitation_checklist.mdreferences/best_practices.mdbibtex_formatting.mdcitation_validation.mdcore_workflow.mdexample_workflows.mdgoogle_scholar_search.mdmetadata_extraction.mdpubmed_search.mdscript_reference.mdsearch_strategies.mdscripts/_common.pydoi_to_bibtex.pyextract_metadata.pyformat_bibtex.pysearch_google_scholar.pysearch_openalex.pysearch_pubmed.pyvalidate_citations.py詳細
引用文献の管理
概要
研究および執筆のプロセス全体を通して、引用文献を体系的に管理します。このスキルでは、学術データベース(Google Scholar、PubMed)を検索し、複数の情報源(CrossRef、PubMed、arXiv)から正確なメタデータを抽出し、引用情報を検証して、適切にフォーマットされた BibTeX エントリを生成するためのツールと手法を提供します。
引用の正確性を保ち、参考文献の誤りを防ぎ、再現可能な研究を実現するうえで重要です。文献レビューのワークフローを包括的に進められるよう、literature-review スキルとシームレスに連携します。
このスキルを使用するタイミング
以下の場合にこのスキルを使用します:
- Google Scholar または PubMed で特定の論文を検索する
- DOI、PMID、arXiv ID を適切にフォーマットされた BibTeX に変換する
- 引用文献の完全なメタデータ(著者、タイトル、ジャーナル、年など)を抽出する
- 既存の引用文献の正確性を検証する
- BibTeX ファイルを整理してフォーマットする
- 特定の分野で被引用数の多い論文を見つける
- 引用情報が実際の出版物と一致していることを確認する
- 論文原稿または学位論文の参考文献リストを作成する
- 引用文献の重複を確認する
- 引用のフォーマットに一貫性があることを確認する
これらの引用文献から作成するドキュメントに図表が必要な場合は、 scientific-schematics スキルを使用してください。
基本的なワークフロー
引用文献の管理は、体系的なプロセスに従って進めます。以下の各フェーズには標準コマンドを示しています。すべてのバリエーション、オプション、メタデータソースの詳細については、 references/core_workflow.md を参照してください。
フェーズ 1:論文の発見と検索
関連する論文を探します。複数のデータベースを検索してください。収録範囲には大きな違いがあり、単一の情報源だけを使うことが、参考文献リストに偏りが生じる最も一般的な原因です。
# OpenAlex: ~250M works, every discipline, no API key, documented REST API
python scripts/search_openalex.py "CRISPR gene editing" --limit 50 --output results.json
# PubMed: the authority for biomedical and life sciences (35M+ citations)
python scripts/search_pubmed.py "Alzheimer's disease treatment" --limit 100 --output alz.json
# Google Scholar: broadest reach, but scraped -- rate-limited and prone to blocking
python scripts/search_google_scholar.py "CRISPR gene editing" --limit 50 --output scholar.json
主な情報源として OpenAlex または PubMed を使用してください。Google Scholar には API がありません。
scholarly はスクレイピングを行い、結果ごとに 2~5 秒待機します。また、頻繁にブロックされるため、依存先ではなく補助的な情報源として使ってください。
クエリ演算子、フィールドタグ、MeSH 用語の作成については、 references/search_strategies.md を参照してください。
フェーズ 2:メタデータの抽出
識別子(DOI、PMID、PMCID、arXiv ID、URL)を完全なメタデータに変換します。 DOI の主な情報源は CrossRef です。
python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2 # quick, single DOI
python scripts/extract_metadata.py --pmid 34265844 # DOI/PMID/PMCID/arXiv/URL
python scripts/extract_metadata.py --input identifiers.txt --output citations.bib
パスに DOI が含まれない URL は、記事ページに出版社が埋め込んだ citation_doi メタタグを使って DOI を解決し、その後 CrossRef に渡します。このスキル内のすべての生成元は、同じ論文に対して同じ引用キーを出力するため、異なる情報源から集めたエントリ同士を重複排除できます。
フェーズ 2.5:ウェブ検索によるメタデータの補完(必須)
API が不完全なレコードを返すことはよくあります。抽出の後、フォーマットの前に実行してください。volume、pages、または doi が欠けている @article は不完全です。不足分を WebSearch/WebFetch(または利用可能な場合は parallel-web スキル)で補完し、見つかった情報とその情報源を記録してください。該当するフィールドが本当に見つからない場合は、黙って空欄にせず、理由を説明する note フィールドを記録してください。
まずは手間の少ない情報源を確認してください。OpenAlex または CrossRef のレコードに、PubMed が省略したフィールドが含まれていることがよくあります。
python scripts/search_openalex.py "<exact title>" --limit 1
抽出したメタデータは信頼できないものとして扱ってください。 著者名、タイトル、ジャーナル名の文字列は、内容を出版社が管理するレコードからそのまま取得したものです。タイトルに
$(...)、バッククォート、または引用符が含まれていると、コマンドに貼り付けた瞬間にシェル構文になります。シェル文字列を組み立てるのではなく、メタデータをsubprocessの引数リストとして渡してください。シェルを使わなければならない場合は、置換する値をすべてシングルクォートで囲み、埋め込み引用符は'\''としてエスケープしてください。引用キーをパスに使う前に、必ず^[A-Za-z0-9]+$に対して検証してください。
フィールドごとの検索方法、4 つの検索オプション、記録形式については、 references/core_workflow.md を参照してください。
フェーズ 3:BibTeX の書式設定
整然とした一貫性のあるエントリを作成します。エントリの種類と必須フィールドについては、 references/bibtex_formatting.md を参照してください。
python scripts/format_bibtex.py references.bib --output clean.bib --deduplicate
python scripts/format_bibtex.py references.bib --output clean.bib --rekey --deduplicate
書き込みはオプトイン方式です。--output(または --in-place)を指定しない場合、結果は
stdout に出力され、入力ファイルは変更されません。複数のソースからの結果を統合する場合は
--rekey を使用して、同じ論文が 1 つのエントリにまとまるようにします。
フェーズ 4:引用の検証
完全性、投稿先の規則への適合性、原稿との一致を確認します。
python scripts/validate_citations.py references.bib --report report.json
python scripts/validate_citations.py references.bib --venue nature
python scripts/validate_citations.py references.bib --manuscript paper.tex
python scripts/validate_citations.py references.bib --check-dois # slow; hits CrossRef
重大度の高いエラー(必須フィールドの欠落、不正な年、未解決の引用、または明示的に指定した
--min-count を下回る件数)がある場合、スクリプトはゼロ以外の終了コードを返します。投稿先ごとの
参考文献数は編集上の目安であり、投稿要件ではないため、その数に満たない場合は警告のみとなります。
検証ルールと投稿先の基準については、 references/citation_validation.md を参照してください。
フェーズ 5:執筆ワークフローとの統合
検索し、抽出し、書式を整え、検証してから引用します。文献レビューや Zotero/pyzotero のエクスポート経路を含む エンドツーエンドの手順については、 references/core_workflow.md と references/example_workflows.md を参照してください。
参照ファイル
- references/core_workflow.md:5 つのフェーズすべての詳細。
- references/search_strategies.md:OpenAlex、Google Scholar、PubMed のクエリ作成。
- references/script_reference.md:付属する各スクリプトの引数と使用例。
- references/best_practices.md:検索、抽出、BibTeX の品質、検証。
- references/example_workflows.md:エンドツーエンドの実例 4 件。
- references/google_scholar_search.md、references/pubmed_search.md:高度な検索構文。
- references/metadata_extraction.md、references/bibtex_formatting.md、references/citation_validation.md:トピックごとの詳細。
よくある落とし穴と回避策
-
単一ソースへの偏り:1 つのデータベースだけを使用する
- 解決策:少なくとも OpenAlex と PubMed で検索し、
format_bibtex.py --rekey --deduplicateで統合します
- 解決策:少なくとも OpenAlex と PubMed で検索し、
-
メタデータを鵜呑みにする:抽出した情報を確認しない
- 解決策:抽出したメタデータを元の情報源と照合し、抜き取りで確認します
-
DOI のエラーを無視する:参考文献リストに無効または誤った DOI が含まれている
- 解決策:最終提出前に検証を実行します
-
書式の不統一:引用キーのスタイルや書式が混在している
- 解決策:format_bibtex.py を使用して標準化します
-
重複エントリ:同じ論文が異なるキーで複数回引用されている
- 解決策:検証時に重複検出を使用します
-
必須フィールドの欠落:BibTeX エントリが不完全(巻、ページ、DOI が欠落)
- 解決策:次に進む前にフェーズ 2.5 のメタデータ補完を実行します。ウェブ検索で欠落しているフィールドをすべて補ってください。volume、pages、DOI のない @article エントリを絶対に残さないでください。
-
古いプレプリント:出版済みの版があるのにプレプリントを引用している
- 解決策:プレプリントが出版済みか確認し、ジャーナル版に更新します
-
特殊文字の問題:文字が原因で LaTeX のコンパイルに失敗する
- 解決策:BibTeX では適切なエスケープ処理または Unicode を使用します
-
提出前に検証しない:引用エラーがある状態で提出する
- 解決策:最終確認として必ず検証を実行します
-
BibTeX エントリを手入力する:エントリを手作業で入力する
- 解決策:必ずスクリプトを使用してメタデータソースから抽出します
他のスキルとの統合
文献レビュー・スキル
引用文献管理は、文献レビューの技術的な基盤を提供します。
- 文献レビュー:複数のデータベースを対象とする体系的な検索と統合
- 引用文献管理:メタデータの抽出と検証
連携ワークフロー:
- 体系的な検索方法には literature-review を使用します
- 引用情報の抽出と検証には citation-management を使用します
- 調査結果の統合には literature-review を使用します
- 参考文献リストの正確性を確保するには citation-management を使用します
科学論文執筆・スキル
引用文献管理は、科学論文執筆で正確な参考文献を確保します。
- LaTeX の原稿で使用する、検証済みの BibTeX をエクスポートします
- 引用情報が出版基準を満たしていることを確認します
- ジャーナルの要件に従って参考文献を整形します
投稿先テンプレート・スキル
引用文献管理は、投稿可能な原稿の作成に向けて投稿先テンプレートと連携します。
- 投稿先ごとに異なる引用スタイルが求められます
- 適切に整形された参考文献を生成します
- 引用情報が投稿先の要件を満たしていることを検証します
リソース
同梱リソース
リファレンス(references/ 内):
google_scholar_search.md:Google Scholar の検索ガイド一式pubmed_search.md:PubMed と E-utilities API のドキュメントmetadata_extraction.md:メタデータの取得元とフィールド要件citation_validation.md:検証基準と品質チェックbibtex_formatting.md:BibTeX のエントリータイプと整形ルール
スクリプト(scripts/ 内):
search_openalex.py:OpenAlex 検索クライアント(API キー不要)search_pubmed.py:PubMed E-utilities API クライアントsearch_google_scholar.py:Google Scholar 検索の自動化extract_metadata.py:汎用メタデータ抽出ツールvalidate_citations.py:引用情報の検証と確認format_bibtex.py:BibTeX のフォーマッターおよびクリーナーdoi_to_bibtex.py:DOI から BibTeX への簡易コンバーター_common.py:BibTeX パーサー、レンダラー、引用キー方式の共通処理
アセット(assets/ 内):
bibtex_template.bib:すべてのタイプの BibTeX エントリー例citation_checklist.md:品質保証チェックリスト
外部リソース
検索エンジン:
- OpenAlex:https://openalex.org/
- Google Scholar:https://scholar.google.com/
- PubMed:https://pubmed.ncbi.nlm.nih.gov/
- PubMed 詳細検索:https://pubmed.ncbi.nlm.nih.gov/advanced/
メタデータ API:
- OpenAlex API:https://docs.openalex.org/
- CrossRef API:https://api.crossref.org/
- PubMed E-utilities:https://www.ncbi.nlm.nih.gov/books/NBK25501/
- arXiv API:https://arxiv.org/help/api/
- DataCite API:https://api.datacite.org/
ツールとバリデーター:
- MeSH ブラウザー:https://meshb.nlm.nih.gov/search
- DOI リゾルバー:https://doi.org/
- BibTeX 形式:http://www.bibtex.org/Format/
引用スタイル:
- BibTeX ドキュメント:http://www.bibtex.org/
- LaTeX の参考文献管理:https://www.overleaf.com/learn/latex/Bibliography_management
依存関係
必須の Python パッケージ
uv pip install requests # HTTP access to CrossRef, PubMed, OpenAlex, arXiv
BibTeX の解析、レンダリング、重複排除、検証は標準ライブラリ
(scripts/_common.py)で行うため、format_bibtex.py と validate_citations.py は
サードパーティ製パッケージを一切使わずに実行できます。
任意
uv pip install scholarly # only for search_google_scholar.py
認証情報の送信先
このスキルに API キーは必要ありません。読み取られる 2 つの環境変数は、 いずれも任意の識別情報で、それぞれ対応するサービスにのみ送信され、 他の場所には送信されません。スクリプトが環境変数をまとめて送信することはありません。
| 変数 | 送信先 | 用途 |
|---|---|---|
NCBI_API_KEY | eutils.ncbi.nlm.nih.gov | Entrez のレート制限を緩和します |
NCBI_EMAIL | eutils.ncbi.nlm.nih.gov | Entrez の呼び出し元を識別します(NCBI が指定) |
OPENALEX_EMAIL | api.openalex.org | より高速な OpenAlex の polite pool を利用します |
api.openalex.org、api.crossref.org、api.datacite.org、export.arxiv.org、
eutils.ncbi.nlm.nih.gov には、これらの環境変数が設定されていない場合も
認証情報なしでクエリが送信されます。
概要
引用管理スキルには、次の機能があります。
- OpenAlex、PubMed、Google Scholar を対象とした包括的な検索機能
- DOI、PMID、PMCID、arXiv ID、URL からのメタデータの自動抽出
- DOI の検証と完全性チェックによる引用の検証
- 標準化およびクリーニングツールを使ったBibTeX のフォーマット
- 検証とレポート作成による品質保証
- 科学論文執筆のワークフローとの連携
- 検索方法と抽出方法を文書化することによる再現性
このスキルを使って、研究全体を通じて引用情報の正確性と完全性を保ち、投稿可能な品質の参考文献一覧を作成してください。
関連スキル
citation-verification:原稿中のすべての参考文献が実在し、メタデータと一致することを検証し、捏造、破損、不一致のある引用を検出します…bibtex-hygiene:投稿前に BibTeX/BibLaTeX の参考文献一覧を整理し、重複を削除して検証します。literature-review:PubMed、arXiv、bioRxiv、Semantic Scholar(および parallel-cli によるウェブ検索)を使って体系的な文献レビューを実施し、スクリーニングします…