manage-bibliography
关于
This skill manages BibTeX bibliography files by adding entries, validating fields, detecting duplicates, and standardizing citation keys. It's useful for creating new bibliographies, importing entries from DOIs or ISBNs, and maintaining existing .bib files. The skill integrates with R's RefManageR and bibtex packages for programmatic reference management.
快速安装
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是Meta推出的7-8B参数内容审核模型,专门用于过滤LLM的输入和输出内容。它能检测六大安全风险类别(暴力/仇恨、性内容、武器、违禁品、自残、犯罪计划),准确率达94-95%。开发者可通过HuggingFace、vLLM或Sagemaker快速部署,并能与NeMo Guardrails集成实现自动化安全防护。
cost-optimization
其他这个Claude Skill帮助开发者优化云成本,通过资源调整、标记策略和预留实例来降低AWS、Azure和GCP的开支。它适用于减少云支出、分析基础设施成本或实施成本治理策略的场景。关键功能包括提供成本可视化、资源规模调整指导和定价模型优化建议。
quantizing-models-bitsandbytes
其他这个Skill使用bitsandbytes库量化大语言模型,能在GPU内存有限时通过8位或4位量化减少50-75%内存占用,同时保持精度损失最小。它支持INT8、NF4、FP4等多种量化格式,可与HuggingFace Transformers无缝集成,适用于需要部署更大模型或加速推理的场景。还提供QLoRA训练和8位优化器支持,让开发者能轻松实现高效模型压缩。
dispatching-parallel-agents
其他该Skill用于并行处理3个以上无依赖关系的独立故障,可为每个问题域分派专属Claude代理同时执行调查修复。它通过并发处理多个独立问题显著提升故障排查效率,特别适用于测试文件、子系统等无共享状态的场景。
