SuperAPI AI Directory

nature-ref-verifier

Writing & research

View repository

Updated 10-16 09:45

About this skill

nature-ref-verifier — Multi-source verification skill for academic references

When you need to handle batch discrepancies, recurring field errors, DOI/title conflicts, abnormal author order, page number drift, or report wording, read references/common-patterns.md. Do not preload this file for other tasks; manifest.yaml records the same on-demand routing; when adding new resources, the loading conditions must also be specified in this file.

Trigger words

verify references、校验文献、check references、核对参考文献、文献验证、ref check

Applicable scenarios

  • Before submitting a proposal/paper, perform a final check of all references
  • When review comments point out citation errors, precisely locate the problem
  • When migrating references from an old project to a new paper, batch-verify their validity
  • Regular health check of the Zotero library

Workflow

Step 1: Parse input

Supports three input formats:

A. Entire paper/proposal

  • Extract all [N] numbered reference lists
  • Automatically identify the DOI of each entry (if any)

B. Single reference

  • The user directly pastes a citation text
  • Or passes in a Zotero item key

C. BibTeX file

  • Directly parse .bib, verify item by item

Step 2: Parallel multi-source query

Step 2.0 (cheapest, do first): DOI resolvability check. For each reference with a DOI, first request https://api.crossref.org/works/<DOI>: 404 → the DOI itself is wrong (highly likely an incorrect number); 200 → compare the title/author/volume-issue-pages of the returned record with the entry; if inconsistent, it is a "DOI mismatch". A single request can reveal the most common type of error in practice (in one 35-item check, 7/9 errors belonged to this category).

For each reference, query the following sources in parallel (which are available depends on the environment configuration):

Source Applicable references Typical coverage
Crossref Foreign-language journals with DOI ~70% (often missing for old IEEE references and Chinese journals)
IEEE Xplore IEEE journals/conferences Fallback when the IEEE DOI 404s
WebSearch (Bing/Google) References without DOI or with missing sources Fallback option
CNKI/Wanfang (kimi-datasource / webbridge) Chinese journals, dissertations Must-check for Chinese references
Zotero local library (zotero-mcp) References already in the library Quickly compare existing data

Query strategy: Prioritize using the DOI to query Crossref; if that fails, degrade to searching the Web by title + author.

Batch strategy: When there are more than 20 entries, split them into groups of 10–15 for parallel subagents, and aggregate after each group queries independently—at a scale of 35 entries, 3 parallel subagents can complete it in a single round trip in practice, whereas serial processing would be an order of magnitude slower.

Step 3: Field-level comparison

For each reference, execute the following comparison matrix, divided into three levels by severity:

🔴 Critical (must be corrected)

Check item Description Typical case
AuthorName/orderMismatch First author differs, order reversed, or completely fabricated Smogavec→Leckebusch、Vainikainen→Mikhnev
AuthorMissing person Number of authors in the entry is less than the publisher's record (commonly for 5+ author papers only the first 3-4 are recorded) TGRS 2019 PCA paper omits the 5th author Ge; TAES 2021 UAV paper omits the 5th author Kim
Page numberDifference ≥5 Page numbers do not match at all Noon: 1309-1319→1444-1449
Article number letter misjudged Article number containing letters written as visually similar digits (T/7, l/1, O/0) SPIE 101880T mistaken as 1018807
Title core wordsMismatch Not a capitalization/punctuation difference Iwasaki T→Wu K H、Zhang W→Zhu M H
DOI points to a different paper DOI exists but title/author do not correspond Abidi 1995: 10.1109/4.482157→10.1109/4.482187
DOI mismatched DOI resolves but resolves toanotherpaper (can be found by comparing title and authors) JAG 2017 SVD paper DOI points to an ERT paper in the same volume; AST 2022 rotor paper DOI points to a turbine noise paper

🟡 Warning (verification recommended)

Check item Description Typical case
Volume year ≠ DOI year Volume year differs from the year in the DOI number Dadrass volume 2025/online 2024, Ni volume 2022/DOI contains 2020
Early Access metadata drift For journals such as IEEE, after Early Access is converted to formal publication the volume/issue/pages/year change,use CrossRef current values as the standard TGRS autoencoder paper 59(12):10437-10449,2021 → 60:1-13,2022
AuthorMiddle name missing/extra "Rabiner L" vs "Rabiner L R" Generally does not affect retrieval
Issue numberMissing Script has volume but no issue Smogavec 2025: 17→17(10)
Page number deviation ≤4 Minor difference Leckebusch 15-24→15-25
Difference in publisher name spelling "IET" vs "IEE" Historical name change

🟢 Info (for reference only)

Check item Description
Title capitalization differs Title Case vs Sentence case
Journal name abbreviation vs full name "IEEE Trans. AES" vs "IEEE Transactions on Aerospace and Electronic Systems"
Punctuation/conjunction difference "and" vs "&" etc.

Step 4: Confidence assessment

Each reference is finally given an overall confidence:

Level Meaning
✅ Verified Multiple sources agree, no modification needed
⚠️ Check suggested 🟡 level difference exists, manual judgment needed
❌ Needs fix 🔴 level difference exists, must be corrected
❓ Unverifiable Cannot be found in any source (such as internal reports, old theses)

Step 5: Output report

The following output formats are supported:

Markdown summary report:

## 验证结果: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: directly generate the corrected .bib file content.

Zotero update instructions: generate a list of correction instructions for batch correction of the Zotero library. Note the write path limitations (tested in 2026):

  • Zotero 7 local HTTP API (localhost:23119) is read-only——Write operations return 501; unstable zotero-mcp-type integrations mostly stem from this layer of wrapping or Zotero being busy. Direct curl plus --max-time probing is enough to determine;
  • For batch writes, prefer pyzotero Web mode(requires userID + API key, full CRUD functionality, built-in 429 backoff);
  • When there is no key, you can use the local /connector/saveItems endpointto additems (cannot modify existing items);
  • Directly modifying zotero.sqlite is only feasible after Zotero is closed, and requires manually maintaining multi-table associations and version numbers,only as a last resort;
  • Before correcting, first confirm the item is in the library: if a title search returns nothing, it means the bib has another source (such as a reference manager CSV), and no correction is needed on the Zotero side.

Multi-source cross-validation strategy

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

Known limitations and workarounds

Limitation Workaround
Chinese DOIs are not in Crossref Fall back to CNKI/Wanfang (via webbridge or WebSearch)
Old IEEE documents' DOIs return 404 Search directly on IEEE Xplore (their DOIs are not registered with Crossref)
Theses have no DOI Verify title + author + year using CNKI / Wanfang / ProQuest
Product manuals/patents Do not verify metadata, only confirm the source is accessible
Google Scholar cannot find some documents Switch search engines (Bing, Baidu Scholar, Semantic Scholar)

Environment dependencies

The following tools are optional: enable them if available, otherwise degrade:

  • pyzotero[cli]: recommended Zotero read/write channel (dual mode: local read-only + Web read/write; the CLI can be called directly by an agent via Bash, with no resident process)
  • zotero-cli / zotero-mcp: Zotero library read/write (local wrapper layer, measured stability is poor)
  • kimi-datasource(scholar): academic search
  • kimi-webbridge: CNKI queries with login state
  • Basic WebSearch / FetchURL: general fallback