nature-ref-verifier
对学术文献逐条执行多源交叉验证,逐字段对比作者、标题、年份、卷期、页码, 标记卷年/DOI年冲突、作者顺序异常、页码偏差等问题,输出结构化验证报告。 可批量处理整篇论文/开题报告的参考文献列表,也可单条校验,支持与 Zotero 同步修正。
By yuan1z0825 · 7,721 installs
npx skills add yuan1z0825/nature-skills --skill nature-ref-verifier
Source repository · Upstream listing
nature ref verifier — 学术参考文献多源验证技能
需要处理批量差异、反复出现的字段错误、DOI/标题冲突、作者顺序异常、页码漂移或
报告措辞时,读取 references/common patterns.md 。其他任务不要预加载该文件;
manifest.yaml 记录了同一按需路由,新增资源时必须同时在本文件中写明加载条件。
触发词
verify references 、 校验文献 、 check references 、 核对参考文献 、 文献验证 、 ref check
适用场景
开题报告/论文提交前,对全部参考文献做最终核查
收到审稿意见指出引用错误时,精准定位问题
从旧项目迁移参考文献到新论文时,批量验证有效性
Zotero 库定期健康检查
工作流
Step 1: 解析输入
支持三种输入格式:
A. 整篇论文/开题报告
提取所有 [N] 编号的参考文献列表
自动识别每条的 DOI(如有)
B. 单条参考文献
用户直接粘贴一条引用文本
或传入 Zotero item key
C. BibTeX 文件
直接解析 .bib ,逐条校验
Step 2: 多源并行查询
Step 2.0(最便宜、最先做):DOI 可解析性检查。 对每条有 DOI 的文献先请求 https://api.crossref.org/works/<DOI :404 → DOI 本身错误(高度疑似错号);200 → 比对返回记录的标题/作者/卷期页与条目,不一致即"DOI 张冠李戴"。单次请求即可发现实践中最常见的一类错误(一次 35 条核查中 7/9 的错误属于此类)。
对每条文献,并行查询以下来源(可用哪些取决于环境配置):
来源 适用文献 典型覆盖率
Crossref 有 DOI 的外文期刊 ~70%(IEEE 老文献、中文期刊常有缺失)
IEEE Xplore IEEE 期刊/会议 IEEE DOI 404 时的备选
WebSearch (Bing/Google) 无 DOI 或来源缺失的文献 兜底方案
CNKI/万方 (kimi datasource / webbridge) 中文期刊、学位论文 中文文献必查
Zotero 本地库 (zotero mcp) 已入库文献 快速比对已有数据
查询策略: 优先用 DOI 查 Crossref,失败后降级用标题+作者搜 Web。
批量策略: 超过 20 条时按 10–15 条一组拆给并行子代理,每组独立查询后汇总——35 条规模实测 3 个并行子代理即可在一次往返内完成,串行会慢一个数量级。
Step 3: 字段级对比
对每条文献执行以下对比矩阵,按严重程度分为三级:
🔴 Critical(必须修正)
检查项 说明 典型案例
作者 姓名/顺序 不一致 第一作者不同、顺序颠倒、完全编造 Smogavec→Leckebusch、Vainikainen→Mikhnev
作者 漏人 条目作者数少于出版方记录(常见于 5+ 作者文献只录前 3 4 人) TGRS 2019 PCA 文漏第 5 作者 Ge;TAES 2021 UAV 文漏第 5 作者 Kim
页码 差异 ≥5 页码完全不匹配 Noon: 1309 1319→1444 1449
文章号字母误判 文章号含字母被写成形近数字(T/7、l/1、O/0) SPIE 101880T 误作 1018807
标题核心词 不一致 非大小写/标点差异 Iwasaki T→Wu K H、Zhang W→Zhu M H
DOI 指向不同论文 DOI 存在但标题/作者不对应 Abidi 1995: 10.1109/4.482157→10.1109/4.482187
DOI 张冠李戴 DOI 可解析但解析到 另一篇 论文(比对标题作者即可发现) JAG 2017 SVD 文 DOI 指向同卷 ERT 论文;AST 2022 旋翼文 DOI 指向涡轮噪声论文
🟡 Warning(建议核对)
检查项 说明 典型案例
卷年 ≠ DOI 年 卷归属年份与 DOI 编号年不一致 Dadrass 卷2025/上线2024、Ni 卷2022/DOI含2020
Early Access 元数据漂移 IEEE 等期刊 Early Access 转正式出版后卷/期/页/年会变化, 以 CrossRef 现值为准 TGRS autoencoder 文 59(12):10437 10449,2021 → 60:1 13,2022
作者 中间名缺失/多余 "Rabiner L" vs "Rabiner L R" 一般不影响检索
期号 缺失 脚本有卷无期 Smogavec 2025: 17→17(10)
页码偏差 ≤4 细微差异 Leckebusch 15 24→15 25
出版社名写法差异 "IET" vs "IEE" 历史名称变更
🟢 Info(仅供参考)
检查项 说明
标题大小写不同 Title Case vs Sentence case
期刊名缩写 vs 全称 "IEEE Trans. AES" vs "IEEE Transactions on Aerospace and Electronic Systems"
标点/连接词差异 "and" vs "&" 等
Step 4: 置信度评估
每条文献最终给出一个综合置信度:
等级 含义
✅ Verified 多源一致,无需修改
⚠️ Check suggested 存在 🟡 级差异,需人工判断
❌ Needs fix 存在 🔴 级差异,必须更正
❓ Unverifiable 所有来源均无法查到(如内部报告、老旧学位论文)
Step 5: 输出报告
支持以下输出格式:
Markdown 摘要报告:
BibTeX Patch: 直接生成修正后的 .bib 文件内容。
Zotero 更新指令: 生成修正指令列表,用于批量修正 Zotero 库。注意写入路径的限制(2026 年实测):
Zotero 7 本地 HTTP API(localhost:23119)只读 ——写操作返回 501,zotero mcp 类集成不稳定多源于此层包装或 Zotero 繁忙,直连 curl 加 max time 探测即可判断;
批量写入首选 pyzotero Web 模式 (需 userID + API key,全功能 CRUD,自带 429 退避);
无 key 时可用本地 /connector/saveItems 端点 新增 条目(不能改已有条目);
直接改 zotero.sqlite 仅在 Zotero 关闭后可行,且需手工维护多表关联与版本号, 仅作最后手段 ;
修正前先确认条目在库:按标题检索为空则说明 bib 另有来源(如文献管理 CSV),Zotero 侧无需修正。
多来源交叉验证策略
已知局限与应对
局限 应对
中文 DOI 不在 Crossref 中 降级到 CNKI/万方(通过 webbridge 或 WebSearch)
IEEE 老文献 DOI 返回 404 用 IEEE Xplore 直接搜(其 DOI 不在 Crossref 注册)
学位论文无 DOI 用 CNKI / 万方 / ProQuest 验证标题+作者+年份
产品手册/专利 不验证元数据,只确认来源可访问
谷歌学术搜不到部分文献 切换搜索引擎(Bing、百度学术、Semantic Scholar)
环境依赖
以下工具为可选,有则启用、无则降级:
pyzotero[cli] :推荐的 Zotero 读写通道(本地只读 + Web 读写双模式,CLI 可直接被 agent 以 Bash 调用,无常驻进程)
zotero cli / zotero mcp :Zotero 库读写(本地包装层,实测稳定性较差)
kimi datasource (scholar):学术搜索
kimi webbridge :带登录态的 CNKI 查询
基础 WebSearch / FetchURL:通用兜底