manage-bibliography
について
このスキルは、BibTeX文献ファイルを管理し、エントリの追加、フィールドの検証、重複の検出、引用キーの標準化を行います。新しい文献目録の作成、DOIやISBNからのエントリのインポート、既存の.bibファイルのメンテナンスに役立ちます。このスキルは、RのRefManageRおよびbibtexパッケージと統合され、プログラムによる文献管理を実現します。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-bibliographyこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
name: manage-bibliography description: > BibTeXファイルの作成・管理・保守を行う。エントリの追加、フィールドの検証、 重複の検出、引用キーの標準化、およびRのrefmanager/bibtexパッケージを使用した 参考文献データベースの管理を含む。 license: MIT allowed-tools: Read Grep Glob WebFetch WebSearch metadata: author: Philipp Thoss version: "1.0" domain: citations complexity: basic language: multi tags: citations, bibtex, bibliography, reference-management, r-packages locale: ja source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16
参考文献の管理
BibTeX参考文献データベースの作成、検証、保守を行う。エントリの追加、必須フィールドの検証、重複の検出と解決、引用キーの標準化、およびRパッケージ(RefManageR、bibtex)を用いたプログラム的な操作を含む。
使用タイミング
- 研究プロジェクト用の新しいBibTeXデータベースをゼロから作成する場合
- DOI、PubMed ID、またはISBNからエントリを追加する場合
- 既存の
.bibファイルの重複エントリや不整合を検出する場合 - 引用キーの命名規則を標準化する場合
- 複数の
.bibファイルを一つの統合データベースに結合する場合 - RのRefManageRまたはbibtexパッケージを使用してプログラム的に参考文献を操作する場合
入力
- 必須: BibTeXデータベースファイルのパス(既存の
.bibファイルまたは新規作成先パス) - 必須: 操作内容(エントリの追加、検証、重複検出、キーの標準化、またはファイルの結合)
- 任意: DOI、PubMed ID、またはISBNのリスト(エントリ追加時)
- 任意: 引用キーの命名規則(例:
AuthorYear、Author_Year_Journal) - 任意: 検証するBibTeXフィールドのリスト
手順
ステップ1: BibTeXファイルの読み込みと検査
既存のデータベースの読み込みまたは新規データベースの初期化を行う:
- ファイルの読み込み: RのRefManageRパッケージの
ReadBib()またはbibtexパッケージのread.bib()を使用して.bibファイルを読み込む。 - エントリタイプの分布: エントリタイプ(article、book、inproceedingsなど)ごとの数を集計する。
- フィールドの完全性: 各エントリタイプの必須フィールドが存在するか確認する。
- エンコーディング: ファイルのエンコーディングがUTF-8であることを確認する。LaTeXの特殊文字エスケープ(
{\"o}、{\ss}など)とUnicode文字の混在をチェックする。 - 統計の記録: 総エントリ数、エントリタイプ別内訳、不完全なエントリの数を記録する。
library(RefManageR)
bib <- ReadBib("references.bib", check = "warn")
summary(bib)
期待結果: BibTeXデータベースが正常に読み込まれ、エントリの概要統計が生成される。
失敗時: パースエラーが発生した場合は、対応する行番号を確認する。一般的なエラーには、括弧の不一致、フィールド値の引用符の欠落、エントリ間のカンマの欠落がある。
ステップ2: エントリの追加と拡充
新しい参考文献エントリをデータベースに追加する:
- DOIからの追加:
GetBibEntryWithDOI()を使用してCrossref APIからメタデータを取得する。 - PubMedからの追加:
ReadPubMed()を使用してPubMedからメタデータを取得する。 - 手動追加: 必須フィールドを含むBibTeXエントリを手動で作成する。
- フィールドの検証: 追加された各エントリが該当するエントリタイプの必須フィールドをすべて含んでいることを確認する。
- 引用キーの割り当て: 指定された命名規則に従って引用キーを生成する。
# DOIからエントリを追加
new_entry <- GetBibEntryWithDOI("10.1234/example.2024")
bib <- c(bib, new_entry)
期待結果: 新しいエントリが完全なメタデータと標準化された引用キーでデータベースに追加される。
失敗時: DOIの解決に失敗した場合は、DOIの正確性を確認する。APIレート制限に達した場合は、リクエスト間に遅延を入れるか、手動でエントリを作成する。
ステップ3: 重複の検出と解決
重複エントリを特定して解決する:
- 完全一致: DOI、タイトル、または著者+年の組み合わせで完全一致を検索する。
- あいまい一致: タイトルの類似度(レーベンシュタイン距離、コサイン類似度)を用いてほぼ重複を検出する。
- 引用キーの衝突: 同じ引用キーを持つ異なるエントリを特定する。
- 解決: 重複が確認されたペアについて、より完全なエントリを保持するか、フィールドをマージする。
- 記録: 削除または統合されたエントリをログに記録する。
期待結果: すべての重複が特定され、解決方法(保持、マージ、削除)が文書化される。
失敗時: あいまい一致で偽陽性が多い場合は、類似度の閾値を上げる。同じタイトルで異なるバージョン(プレプリントと出版版)の場合は、両方を保持して注記を追加する。
ステップ4: 引用キーの標準化
すべての引用キーを一貫した命名規則に統一する:
- 現在のキーの分析: 既存の引用キーのパターンを分析する。
- 命名規則の適用: 指定された命名規則(例:
AuthorYear→Smith2024、Author_Year_Short→Smith_2024_NatComm)を適用する。 - 衝突の回避: 同じキーが生成される場合は、サフィックス(a、b、c)を追加する。
- 参照の更新:
.texファイル内の\cite{}コマンドも同時に更新する(提供されている場合)。
期待結果: すべての引用キーが一貫した命名規則に従い、衝突がない。
失敗時: 関連する.texファイルが提供されていない場合は、引用キーの変更マッピングを出力し、ユーザーに手動更新を依頼する。
ステップ5: データベースの書き出しと検証
更新されたデータベースを保存し、最終検証を行う:
- 書き出し:
WriteBib()を使用して更新された.bibファイルを書き出す。 - 再読み込みテスト: 書き出されたファイルを再度読み込み、エラーが発生しないことを確認する。
- 差分の確認: 元のファイルとの差分を確認し、意図しない変更がないことを検証する。
- バックアップ: 元のファイルのバックアップを作成する。
WriteBib(bib, file = "references_updated.bib")
bib_check <- ReadBib("references_updated.bib", check = "error")
期待結果: 更新されたBibTeXファイルがエラーなく書き出され、再読み込みで正常に検証される。
失敗時: 書き出し時にエンコーディングエラーが発生した場合は、UTF-8エンコーディングを明示的に指定する。再読み込み時にエラーが発生した場合は、書き出されたファイルの該当箇所を手動で確認する。
バリデーション
- BibTeXファイルが正常に読み込まれ、パースエラーがない
- 各エントリタイプの必須フィールドがすべて存在する
- 重複エントリが検出され、解決されている
- 引用キーが一貫した命名規則に従っている
- 引用キーの衝突がない
- ファイルのエンコーディングがUTF-8である
- 更新されたファイルが再読み込みで正常に検証される
よくある落とし穴
- LaTeXエスケープとUnicodeの混在: 同じファイル内で
{\"o}とöを混在させると、一部のツールで問題が発生する。どちらか一方に統一すること。 - 必須フィールドの欠落:
articleタイプにはauthor、title、journal、yearが必須。これらが欠けるとLaTeXコンパイル時に警告が出る。 - 引用キーの特殊文字: 引用キーにスペース、日本語文字、特殊記号を使用しないこと。英数字、ハイフン、アンダースコアのみを使用する。
- DOI APIのレート制限: 大量のDOIを一度に解決しようとするとAPIレート制限に達する可能性がある。バッチ処理時は遅延を入れること。
- バックアップの忘れ: 大規模な変更を行う前に必ず元のファイルをバックアップすること。
関連スキル
format-citations-- BibTeXデータベースを使用した引用のフォーマットvalidate-references-- 参考文献の整合性と正確性の検証
GitHub リポジトリ
関連スキル
llamaguard
その他LlamaGuardは、暴力やヘイトスピーチなど6つの安全性カテゴリーにおいて、LLMの入力と出力をモデレートするMetaの70-80億パラメータモデルです。94〜95%の精度を提供し、vLLM、Hugging Face、Amazon SageMakerを使用してデプロイ可能です。このスキルを使用して、AIアプリケーションにコンテンツフィルタリングと安全策を簡単に統合できます。
cost-optimization
その他このClaudeスキルは、リソースの適正サイジング、タグ付け戦略、支出分析を通じて、開発者がクラウドコストを最適化することを支援します。AWS、Azure、GCPにわたるクラウド支出の削減とコストガバナンスの実施のためのフレームワークを提供します。インフラコストの分析、リソースの適正サイジング、または予算制約への対応が必要な際にご利用ください。
quantizing-models-bitsandbytes
その他このスキルは、bitsandbytesを使用してLLMを8ビットまたは4ビット精度に量子化し、精度の低下を最小限に抑えつつ50〜75%のメモリ削減を実現します。限られたGPUメモリでより大規模なモデルを実行したり、推論を高速化するのに理想的で、INT8、NF4、FP4などのフォーマットをサポートしています。HuggingFace Transformersと統合され、QLoRAトレーニングや8ビットオプティマイザーを可能にします。
dispatching-parallel-agents
その他このClaudeスキルは、複数のエージェントを配備し、3つ以上の独立した問題を並行して調査・修正します。共有状態や依存関係がなく解決可能な、無関係な障害が発生するシナリオ向けに設計されています。中核となる機能は並列問題解決であり、効率を最大化するために独立した問題領域ごとに1つのエージェントを割り当てます。
