mcpField
J
journal-if

journal-if

github.com/agents365-ai生产力97371 次安装2 周前更新
代码仓库

关于 journal-if

journal-if 是用于查询、搜索和批量处理期刊影响因子的命令行技能。它优先查内置 CSV,未命中时调用 OpenAlex 计算近似两年指标,并支持离线查询;OpenAlex 数值并非官方 JCR 影响因子。

主要功能

  1. 01CSV 缓存与 OpenAlex 查询
  2. 02支持模糊匹配的期刊搜索
  3. 03从文件批量处理
  4. 04仅查询离线缓存
  5. 05提供 JSON 和人类可读输出

适用场景

  1. 01查询期刊影响因子
  2. 02按主题查找期刊
  3. 03批量处理期刊名称
  4. 04比较期刊近似指标

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/journal-if确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
journal_if.py
data/
journals_if.csv

详细介绍

期刊影响因子查询

通过双来源级联查询期刊影响因子:捆绑的 CSV 缓存(约 200 种常见期刊)→ OpenAlex API(可查询任意期刊的近似 2 年影响因子)。

重要规则: 查询时始终使用 journal_if.py。切勿猜测影响因子——影响因子每年都会变化,也因版本而异。

快速参考

用户想要……层级命令
查询期刊影响因子读取python3 journal_if.py lookup "Nature Medicine"
搜索期刊读取python3 journal_if.py search "cancer immunology"
处理期刊列表读取python3 journal_if.py batch journals.txt
仅使用缓存(不联网)读取python3 journal_if.py --offline lookup "Cell"
检查缓存状态读取python3 journal_if.py cache status
刷新上游 CSV写入python3 journal_if.py cache update
机器可读的 CLI 合约读取python3 journal_if.py schema
单个子命令的架构读取python3 journal_if.py schema lookup
输出格式

当 CLI 未连接到终端(输出通过管道传输或由 Agent 捕获)时,标准输出为稳定的 JSON 封装;在 TTY 中运行时,则显示为人类可读的视图。 如需指定格式:--format json|table|human|auto。--json 是兼容旧版本的别名,等同于 --format json。

封装结构:

  • 成功:{ "ok": true, "data": {...}, "meta": { "schema_version", "cli_version", "latency_ms" } }
  • 部分成功(批处理):{ "ok": "partial", "data": { "succeeded": [...], "failed": [...] }, "meta": {...} }
  • 错误:{ "ok": false, "error": { "code", "message", "retryable", ... }, "meta": {...} }
退出代码
代码含义
0成功(包括部分成功)
1运行时错误 / 上游错误
2验证错误 / 输入无效(缺少文件、标志无效)
3未找到(未匹配到期刊)
错误代码(位于 error.code 中)
代码可重试退出代码含义
not_found否3查询已完成,但没有来源匹配
upstream_unavailable是1OpenAlex API 暂时不可用;请稍后重试或使用 --offline
file_not_found否2输入文件路径不存在
validation_error否2参数错误或标志组合无效
runtime_error是1意外的内部错误

数据来源

  1. 捆绑的 CSV — 涵盖生命科学、医学、化学、物理学和工程学领域的约 200 种顶级期刊。根据 JCR 数据整理,并随技能一同提供。始终可用,查询即时完成。

  2. OpenAlex API — 免费的开放 API,根据引文数量计算近似的 2 年影响因子。涵盖几乎所有学术期刊。该数值不同于官方 JCR 影响因子——它是按照相同公式计算的引文率指标(第 Y 年对第 Y-1 年和第 Y-2 年发表的内容的引文数,除以这两年的可引用内容数),但使用的是 OpenAlex 自己的文章分类。适用于排名和比较;在正式场合不得将其称为“JCR 影响因子”。

何时使用哪种来源
场景来源
快速查询主要期刊捆绑的 CSV(即时)
小众或较新的期刊自动回退到 OpenAlex
正式投稿 / 申请资助注意:OpenAlex IF ≠ 官方 JCR IF。仅可注明为近似值。
批量处理多个期刊缓存命中的使用 CSV,未命中的使用 OpenAlex
离线 / 隔离网络使用 --offline 标志(仅限捆绑的 CSV)

工作流

第 1 步:识别意图
意图操作
“Nature 的影响因子是多少?”lookup "Nature"
“比较 Cell 和 Science 的影响因子”运行两次 lookup,比较结果
“哪些免疫学期刊的影响因子 > 20?”执行 search "immunology",然后筛选
“处理这份期刊列表”batch journals.txt
“这是一本高影响力期刊吗?”执行 lookup,然后结合学科背景解读影响因子
步骤 2:执行

运行相应的 journal_if.py 命令。脚本会处理:

  1. 本地 CSV 查询(即时,约 200 种精选期刊)
  2. OpenAlex API 回退(自动,近似 2 年 IF)
  3. 模糊匹配——识别细微的名称变体
步骤 3:展示结果
  • 显示期刊名称、影响因子和数据年份
  • 注明数据来源(CSV 缓存或 OpenAlex 近似值)
  • 对于搜索结果:显示包含 IF、年份和类别的表格

了解影响因子

IF 范围常见等级示例
> 30顶尖(前 0.1%)Nature(64.8)、Science(56.9)、Cell(64.5)
20–30卓越(前 1%)Cancer Cell(50.3)、Immunity(32.4)
10–20优秀(前 5%)Nature Communications(16.6)、Sci Adv(13.6)
5–10较强(前 15%)eLife(7.7)、Cell Reports(8.8)
2–5良好PLOS ONE(3.7)、Sci Rep(4.6)
< 2小众 / 新刊许多领域专业期刊和新期刊

注意事项:

  • IF 因领域而异,差异可能很大——顶尖数学期刊的 IF 可能 < 5,而中等水平的肿瘤学期刊 IF 可能 > 10。
  • 务必在同一领域内比较 IF。
  • IF 数据年份很重要;数值每年都会变化。
  • OpenAlex 近似 IF 与官方 JCR IF 不同;应将其视为排名指标,而非认证数值。

批量处理

创建一个文本文件,每行填写一个期刊名称:

Nature Medicine
Journal of Biological Chemistry
Proceedings of the National Academy of Sciences

然后运行:

python3 journal_if.py batch journals.txt

故障排除

问题解决方案
“未找到数据”尝试较短或不同的名称;使用 search 进行模糊匹配
OpenAlex 返回的 IF 为 0 或 None期刊可能太新(需要 2 年以上的数据);使用 --offline 仅检查缓存
OpenAlex IF 与 JCR 不同这是预期情况——OpenAlex 使用自己的文章分类。可用于排名,不适用于正式引用。
缓存下载失败检查网络;捆绑的 CSV 仍可离线使用
匹配到错误的期刊使用更具体的名称;模糊匹配器会选择最接近的子串匹配项

评论

支持 Markdown