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 — это модель от Meta с 7–8 миллиардами параметров для модерации входных и выходных данных больших языковых моделей по шести категориям безопасности, таким как насилие и разжигание ненависти. Она обеспечивает точность 94–95% и может быть развернута с помощью vLLM, Hugging Face или Amazon SageMaker. Используйте этот навык, чтобы легко интегрировать фильтрацию контента и защитные механизмы в ваши ИИ-приложения.
cost-optimization
ДругоеЭтот навык Claude помогает разработчикам оптимизировать облачные расходы за счет правильного подбора ресурсов, стратегий тегирования и анализа затрат. Он предоставляет framework для сокращения облачных расходов и внедрения управления затратами в AWS, Azure и GCP. Используйте его, когда вам нужно проанализировать расходы на инфраструктуру, оптимизировать ресурсы или уложиться в бюджетные ограничения.
quantizing-models-bitsandbytes
ДругоеЭтот навык выполняет квантизацию LLM до 8-битной или 4-битной точности с использованием библиотеки bitsandbytes, обеспечивая сокращение использования памяти на 50-75% при минимальной потере точности. Он идеально подходит для запуска больших моделей при ограниченной памяти GPU или для ускорения вывода, поддерживая форматы INT8, NF4 и FP4. Навык интегрируется с HuggingFace Transformers и позволяет использовать обучение QLoRA и 8-битные оптимизаторы.
dispatching-parallel-agents
ДругоеЭтот навык Claude распределяет нескольких агентов для исследования и устранения трёх и более независимых проблем параллельно. Он предназначен для сценариев с несвязанными сбоями, которые можно устранить без общего состояния или зависимостей. Ключевая возможность — параллельное решение проблем, где за каждую независимую предметную область назначается отдельный агент для максимальной эффективности.
