Back to Skills
yuan1z0825/nature-skillsCheck passed

SKILL DETAIL

nature-ref-verifier

yuan1z0825/nature-skills/nature-ref-verifier

nature-ref-verifier is an academic reference multi-source verification skill that checks reference lists in papers or proposals entry by entry. It queries multiple sources in parallel, such as Crossref, IEEE Xplore, WebSearch, CNKI/Wanfang, and local Zotero libraries, to compare fields like authors, titles, years, volumes, issues, and pages, flagging issues such as volume-year/DOI-year conflicts, abnormal author order, and page number discrepancies. The skill accepts full papers, single citations, or BibTeX files as input, and outputs Markdown summary reports, BibTeX patches, or Zotero update instructions. It provides a three-level discrepancy rating (Critical, Warning, Info) and four confidence levels (Verified, Check suggested, Needs fix, Unverifiable) to help users quickly locate and correct citation errors.

Installs · 148View source

Installation

npx skills add https://github.com/yuan1z0825/nature-skills --skill nature-ref-verifier

Skill files

SKILL.md

Last synced · Aug 27, 2026

agents/openai.yaml
interface:
  display_name: "Nature Reference Verifier"
  short_description: "Verify scholarly references across independent sources"
  default_prompt: "Use $nature-ref-verifier to verify every field of these references across independent scholarly sources."
manifest.yaml
name: nature-ref-verifier
version: 1.0.1
description: >
  Declarative manifest for the multi-source reference verification workflow.
  SKILL.md carries the core DOI/title/source-check procedure; pattern libraries
  are loaded only when the user needs batch diagnosis, severity examples, or
  field-specific correction guidance.

# Design note: reference verification can run on a single citation or a full
# bibliography. Keep the default path lightweight and open pattern references
# only for ambiguous or batch cases.

always_load:
  - SKILL.md

references:
  on_demand:
    - condition: diagnosing recurring bibliography errors, field-level mismatch patterns, DOI/title conflicts, author-order anomalies, page-range drift, or batch report wording
      path: references/common-patterns.md
README_EN.md
# `nature-ref-verifier` Skill

[中文说明](README.md)

`nature-ref-verifier` performs multi-source cross-verification of references, comparing authors, title, year, volume, issue, pages, DOI, and publication status, then outputs a structured fixable report.

## What To Use It For

- Check an entire manuscript reference list before submission.
- Verify a few citations raised in reviewer comments.
- Clean incorrect metadata in a Zotero / BibTeX library.
- Flag volume-year conflicts, author-order problems, page mismatches, title differences, and wrong DOI targets.
- Verify Chinese references through CNKI or Chinese-language sources for author names, journal names, and pages.

## Typical Requests

- "Check these 50 references one by one and mark the ones that must be fixed."
- "These DOIs may be wrong; find the real titles and page ranges."
- "Turn the incorrect fields in this BibTeX file into patch suggestions."

## What You Need To Provide

- Reference list, single citation, BibTeX, RIS, Zotero item key, or manuscript bibliography page.
- Allowed sources such as Crossref, PubMed, IEEE, CNKI, publisher pages, or Zotero.
- Whether a directly importable correction file is needed.

## Outputs

- Field-level verification table: original value, trusted-source value, difference, and evidence link.
- Severity labels: must fix, check suggested, reference only, or unverifiable.
- Optional BibTeX patch, Zotero update suggestion, or Markdown review report.
- Human-check checklist for uncertain records.

## Boundaries

- A single search result is not treated as final truth; key fields are verified against DOI records, publishers, or authoritative databases.
- DOI year, volume year, and online-publication year conflicts are explained rather than force-merged.
- Inaccessible databases or Chinese sources are marked as unverified.

## Related Skills

- `nature-academic-search`: retrieve paper metadata and citation indicators.
- `nature-citation`: choose candidate citations for manuscript claims.
- `nature-response`: respond to reviewer comments about reference errors.
README.md
# `nature-ref-verifier` 技能

[English](README_EN.md)

`nature-ref-verifier` 用于对参考文献逐条执行多源交叉验证,比较作者、题名、年份、卷期、页码、DOI 和出版状态,并输出可修正的结构化报告。

## 适合用它做什么

- 投稿前检查整篇论文参考文献是否准确。
- 针对审稿意见核查某几条引用是否写错。
- 清理 Zotero / BibTeX 库中的错误元数据。
- 标记卷年与 DOI 年冲突、作者顺序异常、页码偏差、题名不一致和 DOI 指向错误。
- 对中文参考文献结合 CNKI 或中文来源核验作者名、刊名和页码。

## 典型请求

- “帮我逐条检查这 50 条参考文献,标出必须修正的。”
- “这几条 DOI 好像不对,帮我查真实题名和页码。”
- “把 BibTeX 里的错误字段整理成 patch 建议。”

## 你需要提供

- 参考文献列表、单条引用、BibTeX、RIS、Zotero item key 或论文参考文献页。
- 允许使用的数据源,例如 Crossref、PubMed、IEEE、CNKI、出版社页面或 Zotero。
- 是否需要生成可直接导入的修正文件。

## 产出

- 字段级核查表:原始值、可信来源值、差异和证据链接。
- 严重程度分级:必须修正、建议核对、仅供参考、无法验证。
- 可选 BibTeX patch、Zotero 更新建议或 Markdown 审查报告。
- 对不确定条目的人工核查清单。

## 边界

- 不会把单一搜索结果当作最终事实;关键字段优先回到 DOI、出版社或权威数据库。
- DOI、卷期和在线发表年份不一致时,会解释冲突而不是强行合并。
- 无法访问的数据库或中文来源会被标注为未验证。

## 相关技能

- `nature-academic-search`:检索论文元数据和引用指标。
- `nature-citation`:为手稿 claim 选择候选引用。
- `nature-response`:回应审稿人关于参考文献错误的意见。
references/common-patterns.md
# 参考文献验证常见问题模式

本文档记录了学术参考文献中常见的元数据错误模式,供校验时参考。

## 1. 卷年与 DOI 年不一致

**根因:** DOI 编号中的年份通常是收稿年或稿件编号年,而引用应以期刊卷年为准。

| 模式 | 说明 | 示例 |
|------|------|------|
| DOI 含年 < 卷年 | 稿件编号早于正式出版 | DOI 含 2024,卷为 2025 → 引用 **2025** |
| DOI 含年 > 卷年 | 稿件跨年处理 | DOI 含 2025,实际见刊 2026 → 引用 **2026** |
| 上线年 ≠ 卷年 | 年底上线、次年年卷 | 上线 2024-12-31,卷为 2025 → 引用 **2025** |

**判断规则:** 优先以期刊官方卷年为准;无卷号时以上线年为准。

## 2. 作者名问题

### 2.1 第一作者完全编造

AI 生成引用时最常见的"幻觉"——作者与 DOI 实际作者完全不同,属于最严重错误。

**检测方法:** 通过 DOI 查 CrossRef / IEEE,对比第一作者姓氏。

### 2.2 作者顺序颠倒

数据库导出或手动整理时,可能将非第一作者放到首位。

**检测方法:** 以官方期刊页面的作者顺序为准。

### 2.3 中文作者名形近字混淆

- `廷` ↔ `延`、`健` ↔ `建`、`浩` ↔ `皓` 等形近字容易写错
- 以知网/万方的官方记录为准

### 2.4 西班牙语/葡萄牙语双姓

双姓(父姓+母姓)有多种缩写方式,**都算正确**:
- `Álvarez López Y` = `López Y Á` = `Alvarez Lopez Y`

### 2.5 "等"与完整作者列表

中文引用中用"等"是可以接受的。如果列出全部作者(适合 3-5 人时),应确保顺序与原文一致。

## 3. 页码错误

常发生在以下场景:
- 预印本 vs 正式出版的页码不同
- 会议论文的早期版本 vs 最终版本
- 同一篇论文在期刊和会议录中有不同页码
- 手动录入时串行(如上一行的页码粘到了下一行)

**检测方法:** 以期刊/会议官网为准,不轻信数据库导出。

## 4. DOI 问题

### 4.1 DOI 指向不同论文

DOI 格式正确但指向完全不同的文献——通常是因为编号写错了一位(如 482157→482187)。

**检测方法:** 用 DOI 查 CrossRef,对比返回的标题是否一致。

### 4.2 IEEE 老文献 DOI 404

2000 年以前的 IEEE 论文,DOI 在 Crossref 中常返回 404,但在 IEEE Xplore 中可查。**不应标记为错误**。

### 4.3 中文 DOI 不在 Crossref

中文期刊的 DOI 注册在 CNKI 系统而非 Crossref,API 查询必然返回空。需通过 CNKI/万方验证。

### 4.4 同一论文多个 DOI

预印本、正式出版、OA 版本可能有不同 DOI,优先使用正式出版版本的 DOI。

## 5. 会议论文年份

- 同一篇论文在会议录和期刊特刊中可能有不同页码和年份
- 会议名称可能有多个别名,应以 IEEE/官方名称为准
- 年份取实际开会年份,不是论文集出版年份

## 6. 学位论文

- 2000 年代前的学位论文很多未数字化
- 中文硕士论文引用格式:`作者. 论文名[D]. 学校, 年份.`
- 页码可省略
- 万方数据库的学位论文覆盖率通常高于知网

## 7. 产品手册/技术报告

- 用 `[Z]`(其他文献)标记
- 验证方法:确认产品/机构确实存在、官网可访问
- 年份用参考版本的发布年份

## 8. 出版社名称历史变更

IEE(Institution of Electrical Engineers)在 2006 年与 IEE 合并为 IET(Institution of Engineering and Technology)。2006 年前出版的书籍应标 **IEE**,而非 IET。两个名称都指向同一机构,但引用时应尊重历史名称。
SKILL.md
---
name: nature-ref-verifier
description: >-
  对学术文献逐条执行多源交叉验证,逐字段对比作者、标题、年份、卷期、页码,
  标记卷年/DOI年冲突、作者顺序异常、页码偏差等问题,输出结构化验证报告。
  可批量处理整篇论文/开题报告的参考文献列表,也可单条校验,支持与 Zotero 同步修正。
---

# 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 摘要报告:**
```markdown
## 验证结果:56 条文献

- ✅ Verified: 42
- ⚠️ Check suggested: 8
- ❌ Needs fix: 4
- ❓ Unverifiable: 2

### ❌ 必须修正
| # | 问题 | 当前值 | 正确值 | 来源 |
|---|------|--------|--------|------|
| [6] | 作者错误 | Smogavec P | Leckebusch J | Wiley |
| [42] | 作者顺序颠倒 | Vainikainen P… | Mikhnev V A… | IEEE |

### ⚠️ 建议核对
| # | 问题 | 详情 |
|---|------|------|
| [18] | 卷年/DOI年不一致 | 卷年2025,DOI年2024 |
```

**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 侧无需修正。

## 多来源交叉验证策略

```text
                   ┌─────────────┐
                   │  用户输入    │
                   │  DOI/标题   │
                   └──────┬──────┘
                          │
                          ▼
                   ┌─────────────┐
                   │  字段拆分    │
                   │ author/title │
                   │ year/vol/pg │
                   └──────┬──────┘
                          │
           ┌──────────────┼──────────────┐
           ▼              ▼              ▼
    ┌──────────┐   ┌──────────┐   ┌──────────┐
    │ CrossRef │   │  IEEE   │   │ WebSearch│
    │  (DOI)  │   │ Xplore  │   │ (Bing/GG)│
    └────┬─────┘   └────┬─────┘   └────┬─────┘
         │              │              │
         ▼              ▼              ▼
    ┌──────────────────────────────────────┐
    │       字段级对比 + 差异评级          │
    │  author / title / year / vol / issue │
    │       pages / DOI / journal          │
    └────────────────┬─────────────────────┘
                     │
                     ▼
            ┌────────────────┐
            │  置信度评估     │
            │ ✅ ⚠️ ❌ ❓    │
            └────────────────┘
```

## 已知局限与应对

| 局限 | 应对 |
|------|------|
| **中文 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:通用兜底