verify-refs 用于检查稿件或文献目录中的参考文献是否为真实存在、元数据是否与引用一致。它是只读审计工具,不会写入 references/ 或 manuscript/_src/refs.bib,不会自行发现文献,也不会用“看起来合理”的引用替换缺失或错误条目,更正需通过 /lit-sync 或由用户处理。
输入:稿件或文献目录,支持 .md、.docx、.bib、.txt、.tsv;可选项目根目录,默认当前目录。可选参数有 --offline(只提取与分类,不调用 API)、--timeout N、--strict、--no-openalex。
用法:运行内置脚本进行核验,例如 python "${CLAUDE_SKILL_DIR}/scripts/verify_refs.py" manuscript/manuscript.md --project-root .;也可用包装脚本快速或离线运行,投稿前严格运行使用 --strict(禁止离线,任一 UNVERIFIED 行都会以非零状态退出)。
核验顺序为 PubMed(PMID)→ CrossRef(DOI)→ OpenAlex,最后做 PubMed 标题检索。只有 DOI、PMID、CrossRef 或通过相似度校验的标题检索证据才判定为 OK;查询失败记为 UNVERIFIED,绝不静默通过。OpenAlex 可找回 PubMed 与 CrossRef 遗漏的会议及非 DOI 引用,但只支持存在性检查与宽松的第一作者检查,不能做严格位置或作者数不一致判定;--no-openalex 可限制为仅用 PubMed 与 CrossRef。
输出:唯一输出为 qc/reference_audit.json(schema_version 4),按条记录 status、note、evidence、引用作者与真实作者、作者数等。status 包括 OK、MISMATCH(作品存在但引用有误)、FABRICATED(标识符不存在且其他方式也找不到)、UNVERIFIED(没有任何证据确认或反驳)。还包含 counts、duplicate_findings(重复 PMID/DOI)及 submission_safe / fully_verified。submission_safe 要求无 FABRICATED、无 MISMATCH 且无重复;投稿前仍需人工处理 UNVERIFIED,不能当作已核查。
质量门:出现 FABRICATED 停止投稿;接受 UNVERIFIED 前需用户确认;任何参考文献改动后必须重跑;作者比对基于 PubMed efetch、CrossRef 与 esummary,比较时归一化大小写、变音符号、连字符与名字助词;凡 DOI/PMID 可解析但作者不一致者记为 MISMATCH。
限制:作者比对退化到仅比第一作者的条件因输入格式而异;截断声明会转为备注;页码占位符(e000–e000、in press、TBD、forthcoming)标为 UNVERIFIED。它只判断引用是否真实及作者归属,不判断正文引用句是否忠实,后者需用 check_claim_fidelity.py 基于已下载全文另行核查。缺失信息如具体收费、平台支持等暂未提供。