mcpField
J
journal-meta

journal-meta

github.com/agents365-ai生産性97274 回インストール2 週間前に更新
リポジトリ

journal-meta について

journal-meta は、論文の識別子やタイトルから書誌メタデータを取得する CLI スキルです。OpenAlex を主な情報源とし、一部の DOI では Crossref を使い、関連スキルで雑誌略称やインパクトファクターを補完できます。

主な機能

  1. 01DOI、PMID、arXiv、OpenAlex ID、タイトルの解決
  2. 02書誌メタデータの JSON 出力
  3. 03論文リストの一括処理
  4. 04雑誌略称とインパクトファクターの補完
  5. 05各フィールドの情報源の記録

活用シーン

  1. 01DOIやPMIDからの引用情報作成
  2. 02論文リストのメタデータ調査
  3. 03インパクトファクターの情報源確認
  4. 04引用に向けたarXiv論文の情報取得

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/agents365-ai/365-skills --skill journal-meta

インストール後、Claude Code で/journal-metaを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
.skillspector-baseline.yaml
journal_meta.py

詳細

論文メタデータ検索

論文識別子を指定して、完全なメタデータレコードを取得します。主なデータソースはOpenAlex(無料、API キー不要)です。OpenAlex にインデックスされていない DOI については、Crossrefをフォールバックとして使用します。ジャーナル名は、インストールされている場合、2 つの関連スキルに委任して補完します。

  • journal-abbrev → ISO-4/MEDLINE ジャーナル略称(JabRef キャッシュ、約 25K 件のジャーナル)
  • journal-if → 厳選された JCR インパクトファクター

これらのスキルが見つからない場合は、自動的に略称には AbbrevISO、概算の IF には OpenAlex の 2yr_mean_citedness を使用します。

重要なルール: 必ず journal_meta.py を使用してください。著者、責任著者、日付、インパクトファクターを決して捏造せず、取得してください。

クイックリファレンス

ユーザーの要望...コマンド
DOI からメタデータを取得python3 journal_meta.py "10.1038/s41586-020-2649-2"
PMID からメタデータを取得python3 journal_meta.py 32939066
arXiv ID からメタデータを取得python3 journal_meta.py 1706.03762
タイトルからメタデータを取得python3 journal_meta.py "Attention is all you need"
リストを処理python3 journal_meta.py batch papers.txt
インパクトファクターの検索を省略python3 journal_meta.py <id> --no-if
略称の検索を省略python3 journal_meta.py <id> --no-abbrev
機械可読な仕様python3 journal_meta.py schema

サブコマンド lookup は省略可能です。識別子だけを指定しても動作します。識別子の種類(DOI/PMID/arXiv/OpenAlex ID/タイトル)は自動判定されます。

出力形式

パイプまたはキャプチャ時の標準出力は安定した JSON エンベロープになり、TTY では人が読みやすいキーと値の形式になります。--format json|human|auto で指定できます(--json は --format json と同じです)。

エンベロープ:{ "ok": true, "data": {...}, "meta": { "schema_version", "cli_version", "sources", "latency_ms" } }。 meta.sources には各フィールドの出典(例:journal-abbrev (JabRef)、journal-if (local cache)、またはフォールバック)が記録されるため、厳選データと概算値を見分けられます。

データフィールド(data)

title、authors(リスト)、author_count、first_author、corresponding_authors(リスト。レコードに OpenAlex の責任著者フラグがない場合は空)、 publication_date、year、journal、journal_abbrev、impact_factor、 impact_factor_source、impact_factor_year、volume、issue、pages、 doi、pmid、openalex、issn、type、is_oa、cited_by_count、abstract。

終了コード
コード意味
0成功
1実行時エラー/上流エラー(再試行可能)
2検証エラー/不正な入力(ファイルがない、クエリが空など)
3見つからない(一致する論文がない)

ワークフロー

  1. 入力を特定します。 DOI(10.x/...)、PMID(数字)、arXiv ID (NNNN.NNNNN)、OpenAlex ID(W...)、またはタイトル文字列はすべて自動判定されます。 DOI または PMID を優先してください。タイトル検索では OpenAlex の単一の最上位候補が返されます。 そのため、非常によくあるタイトルの場合、版の記録ではなくプレプリントや再インデックスされた複製が返ることがあります。ユーザーがタイトルを指定した場合は、返された DOI/年を確認してください。
  2. python3 journal_meta.py <id> を実行します。
  3. ユーザーが求めたフィールドを提示します。完全な引用には、 first_author、journal_abbrev、year、volume、issue、pages、doi を使用します。 IF を報告する際は impact_factor_source を明記してください。厳選された JCR の値と OpenAlex の概算値は同じものではありません。

注意事項と留意点

  • 責任著者は OpenAlex の is_corresponding フラグに基づきます。このフラグが入力されるのは、出版社から情報が提供された場合に限られます。リストが空の場合は「メタデータに記載がない」という意味であり、「該当者がいない」という意味ではありません。推測せず、その旨を伝えてください。
  • journal-if のインパクトファクターは厳選された JCR の値です。フォールバックは OpenAlex の 2 年平均被引用数であり、公式の JCR IF とは異なります。正式な引用には厳選された値のみを使用し、概算値であることを明記してください。
  • arXiv ID は arXiv DataCite DOI(10.48550/arXiv.<id>)を介して解決されます。プレプリントがそこにインデックスされていない場合は、タイトル検索にフォールバックします。

環境変数

変数効果
JOURNAL_META_MAILTO / OPENALEX_MAILTOOpenAlex のポライトプール用メールアドレスです(高速で、推奨されています)。
JOURNAL_ABBREV_CLIjournal-abbrev の jabbrv.py の明示的なパスです(自動検出をスキップします)。
JOURNAL_IF_CLIjournal-if の journal_if.py の明示的なパスです。

関連スキルが標準以外の場所にある場合は、これらを設定すると、組み込みのフォールバックではなく、スキルが管理するデータを使って情報が補完されます。

トラブルシューティング

問題解決方法
IF に JCR ではなく「OpenAlex ... (approx)」と表示されるjournal-if が見つかりません。インストールするか、JOURNAL_IF_CLI を設定してください。
略称が間違っている/正式名称と同じ単語が 1 つのタイトル(Nature、Cell、Science)は、ISO 4 に従って略記されません。それ以外は、journal-abbrev により ISO-4 形式で略記されます。
タイトル検索で別の論文が返されたDOI または PMID を使用してください。タイトル検索では OpenAlex の最上位の結果のみが返されます。
新しい DOI で not_found が返されるOpenAlex のインデックス登録には時間がかかります。Crossref のフォールバックでほとんどの場合は対応できますが、ごく新しい DOI では 1 日ほど待つ必要がある場合があります。
corresponding_authors が空出版社がメタデータに記載していません。推測で補わないでください。

コメント