nsfc-ref-alignment

检查 NSFC 标书正文引用与参考文献的一致性与真实性风险(只读):核查 bibkey 是否存在、BibTeX 字段与 DOI 等格式问题,并生成结构化输入供宿主 AI 逐条评估“正文表述是否真的在引用该文献”;默认仅输出审核报告,不直接修改标书或 .bib(除非用户明确要求)。

157 stars

Best use case

nsfc-ref-alignment is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

检查 NSFC 标书正文引用与参考文献的一致性与真实性风险(只读):核查 bibkey 是否存在、BibTeX 字段与 DOI 等格式问题,并生成结构化输入供宿主 AI 逐条评估“正文表述是否真的在引用该文献”;默认仅输出审核报告,不直接修改标书或 .bib(除非用户明确要求)。

Teams using nsfc-ref-alignment should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/nsfc-ref-alignment/SKILL.md --create-dirs "https://raw.githubusercontent.com/InternScience/DrClaw/main/drclaw/agent_hub/templates/proposal-writing/skills/nsfc-ref-alignment/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/nsfc-ref-alignment/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How nsfc-ref-alignment Compares

Feature / Agentnsfc-ref-alignmentStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

检查 NSFC 标书正文引用与参考文献的一致性与真实性风险(只读):核查 bibkey 是否存在、BibTeX 字段与 DOI 等格式问题,并生成结构化输入供宿主 AI 逐条评估“正文表述是否真的在引用该文献”;默认仅输出审核报告,不直接修改标书或 .bib(除非用户明确要求)。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# NSFC Ref Alignment

## 适用场景
- 你有一份 NSFC 标书(LaTeX 项目),希望检查:
  - `.tex` 里所有 `\cite{...}` / `\citep{...}` / `\citet{...}` 等引用的 bibkey 是否都存在于 `.bib`
  - `.bib` 条目的基础字段是否完备、格式是否明显错误(如 DOI 非法、年份缺失)
  - 引用所在句子的“语义主张”是否与该文献(至少从 title/author/year/venue/DOI 等元信息)相匹配,是否存在乱引/过度主张/张冠李戴风险
- 你希望**只得到一份报告**先人工审核(改 `.bib` / 改正文属于大事)。

## 不适用
- 你希望“自动替换 bibkey / 自动改写正文”——本 skill 默认禁止直接修改(除非你明确要求)。
- 你只是想补齐 BibTeX 条目:优先使用 `nsfc-bib-manager`。

## 输入
- `project_root`:标书项目根目录(如 `projects/NSFC_General`)
- 可选:`main_tex`:主入口 tex(默认 `main.tex`)
- 可选:`report_dir`:报告输出目录(默认 `./references`,相对你运行 skill 的当前目录)
- 可选:`verify_online`:是否进行在线核验(默认 false;仅做确定性查询,失败降级)

## 输出(只读 + 可复现)

### 中间产物(强制)
**所有中间文件**必须托管在:

`{project_root}/.nsfc-ref-alignment/run_{YYYYMMDDHHMMSS}/`

其中 `run_{YYYYMMDDHHMMSS}` 为时间戳;如同秒重复运行,脚本会追加 `-2/-3/...`,确保多次分析不冲突。

该目录至少包含:
- `ai_ref_alignment_input.json`:结构化输入(引用位置 + 句子上下文 + 文献元信息 + 校验结果),供宿主 AI 做语义判断
- `ref_integrity_report.md`:确定性报告(缺失 bibkey、重复条目、字段缺失、DOI 格式问题等)
- `citations.csv`:逐条引用清单(file/line/bibkey/sentence)
- `bib_inventory.json`:BibTeX 清单(被引用条目与问题标注)

### 最终交付(默认)
仅输出一份**供用户审核的报告**(默认写入 `./references/`;用户可指定其他目录):
- `NSFC-REF-ALIGNMENT-vYYYYMMDDHHMMSS.md`(如同秒重复运行,脚本会追加 `-2/-3/...` 避免覆盖)

该报告必须是“只读审查报告”,不得直接修改标书正文或 `.bib`。

## 工作流(推荐)

### 步骤 1:预检与定位
1) 确认 `project_root` 存在且包含 `main_tex`。
2) 自动解析 `main_tex` 的 `\input{}` / `\include{}` 依赖树,收集所有涉及的 `.tex` 文件。
3) 自动发现 `\bibliography{...}` / `\addbibresource{...}` 指向的 `.bib` 文件;若发现 0 个 `.bib`,则回退为在 `project_root` 下搜索 `*.bib` 并给出 warning。

### 步骤 2:确定性抽取(脚本执行)
运行脚本生成结构化输入与确定性报告:

```bash
cd /path/to/ChineseResearchLaTeX
python3 skills/nsfc-ref-alignment/scripts/run_ref_alignment.py \
  --project-root "projects/NSFC_General" \
  --main-tex "main.tex" \
  --report-dir "references" \
  --prepare
```

如需在线核验(建议只对最终稿/重点条目开启):

```bash
python3 skills/nsfc-ref-alignment/scripts/run_ref_alignment.py \
  --project-root "projects/NSFC_General" \
  --main-tex "main.tex" \
  --report-dir "references" \
  --prepare \
  --verify-online
```

### 步骤 3:宿主 AI 语义核查(本 skill 的核心)
宿主 AI 在读取 `{run_dir}/ai_ref_alignment_input.json` 后,逐条核查:

1) **真实性/存在性**(P0)
   - bibkey 缺失:正文引用了不存在的条目
   - DOI/URL 明显无效或在线核验失败且元信息严重不一致

2) **语义不匹配风险**(P0/P1)
   - P0:句子对文献作出了“强断言”,但从元信息看高度不可能(如年份矛盾、领域完全不相关、明显张冠李戴)
   - P1:可疑但证据不足(元信息不足、缺少 DOI/缺少 title/作者信息不全)

3) **过度主张/弱支撑**(P1)
   - 例如“首次/唯一/最优/显著优于”但缺乏足够支撑或疑似需要更强引用

> 证据优先级(强制):
> 在线核验结果(若开启) > BibTeX 的 title/abstract > 仅从句子推断(最低优先级)。

### 步骤 4:生成最终报告(只读)
在 `report_dir` 写入最终报告 `NSFC-REF-ALIGNMENT-vYYYYMMDDHHMMSS.md`,必须包含:

- Summary:总引用数、唯一 bibkey 数、缺失条目数、重复条目数、P0/P1 数
- P0(必须处理):缺失 bibkey、明显伪造/错误元信息、严重语义错配
- P1(建议处理):字段不全(缺 DOI/缺 year)、弱支撑/过度主张、需要人工复核
- 附录:逐条引用明细(至少包含 file/line、原句、bib 条目关键字段、风险判断与理由)

## 修改边界(强制)
- 默认**不修改**任何标书内容与配置:
  - 禁止修改:`**/*.tex`、`**/*.bib`、`**/*.cls`、`**/*.sty`
- 允许写入:
  - `{project_root}/.nsfc-ref-alignment/**`(中间产物)
  - `./references/**`(最终报告;可由用户改到别处)
- 若用户明确要求“修复引用/修复 bib”,必须先在报告里给出**修改计划**与影响面,再执行最小化修改(默认不做)。

## 与 check-review-alignment 的关系(经验复用)
- 共同点:脚本只做确定性抽取;“语义是否匹配”的判断由宿主 AI 完成;输出可追溯的结构化输入与报告。
- 不同点:本 skill 面向**标书项目**(多文件 `\input{}` 结构),且默认**不做任何自动改写**(只输出审查报告)。

## 验证清单(静态自检)
- `{project_root}/.nsfc-ref-alignment/run_{timestamp}/` 存在且包含 4 个核心产物(json/md/csv/json)。
- 最终报告写入 `report_dir`,且没有任何 `.tex/.bib` 文件被修改。
- 报告对每个 P0/P1 给出:定位(file/line)+ 原句 + 依据 + 建议动作。

Related Skills

nsfc-roadmap

157
from InternScience/DrClaw

当用户明确要求"生成 NSFC 技术路线图/技术路线图绘制/roadmap/flowchart"或需要把标书研究内容转成"可打印、A4 可读"的技术路线图时使用。默认输出可编辑源文件(`.drawio`)与可嵌入文档的渲染结果(`.svg`/`.png`/`.pdf`);当用户主动提及 Nano Banana/Gemini 图片模型时,可切换为 PNG-only 模式。⚠️ 不适用:用户只是想修改某张已有图片的格式/尺寸(应使用图片处理技能)、只是想润色技术路线文字描述(应直接改写正文)。

nsfc-reviewers

157
from InternScience/DrClaw

当用户明确要求"评审国自然标书"、"模拟专家评审"、"审阅 NSFC 申请书"时使用。模拟领域专家视角对 NSFC 标书进行多维度评审,输出分级问题与可执行修改建议。⚠️ 不适用:用户只是想写/改标书某个章节(应使用 nsfc-*-writer 系列技能)、只是想了解评审标准(应直接回答)、没有明确"评审/审阅"意图。

nsfc-research-foundation-writer

157
from InternScience/DrClaw

当用户明确要求"写/改研究基础""研究基础+工作条件+风险应对编排"时使用。为 NSFC 正文"(三)研究基础"写作/重构,并同步编排"工作条件"和"研究风险应对",用证据链证明项目可行、资源条件对位研究内容、风险预案可执行。

nsfc-research-content-writer

157
from InternScience/DrClaw

当用户明确要求"写/改研究内容""研究内容+创新+年度计划编排"时使用。为 NSFC 正文"(二)研究内容"写作/重构,并同步编排"特色与创新"和"三年年度研究计划",输出可直接落到 LaTeX 模板的三个 extraTex 文件。

nsfc-qc

157
from InternScience/DrClaw

当用户明确要求"标书QC/质量控制/润色前质检/引用真伪核查/篇幅与结构检查"时使用。对 NSFC 标书进行只读质量控制:并行多线程独立检查文风生硬、引用假引/错引风险、篇幅与章节分布、逻辑清晰度等,最终输出标准化 QC 报告;中间文件默认归档到“交付目录内的隐藏工作区(.nsfc-qc/)”,并兼容 legacy `.nsfc-qc/`。

nsfc-length-aligner

157
from InternScience/DrClaw

基于国自然标书篇幅预算标准;检查目标标书篇幅并总结差距;给出针对性优化建议;在尽量不改变原意的前提下扩写/压缩到达标。

nsfc-justification-writer

157
from InternScience/DrClaw

当用户明确要求"写/改 NSFC 立项依据""立项依据写作/重构"时使用。基于最小信息表输出价值与必要性、现状不足、科学问题/假说与项目切入点,并保持模板结构不被破坏。适用于 NSFC 及各类科研基金申请书的立项依据写作场景。

nsfc-humanization

157
from InternScience/DrClaw

去除 NSFC 标书中的 AI 机器味,使文本读起来像资深领域专家亲笔撰写(不适用:非标书内容/需修改格式/需补充新内容)

nsfc-code

157
from InternScience/DrClaw

根据 NSFC 标书正文内容,结合申请代码推荐库,为你给出 5 组申请代码1/2(主/次)推荐与理由;输出到 NSFC-CODE-vYYYYMMDDHHmm.md(只读,不修改标书)

nsfc-budget

157
from InternScience/DrClaw

当用户明确要求“写/生成 NSFC 预算说明书”“写预算说明”“生成 budget.tex / budget.pdf”“写国自然预算 justification”时使用。基于用户标书正文或补充材料,输出一份可提交的预算说明书 LaTeX 项目并渲染 `budget.pdf`。若用户未指定工作目录,必须暂停并先要求其指定。⚠️ 不适用:用户只是想了解预算原则;用户仅要预算表数字而不写说明书;或用户是 2026 青年 A/B/C 默认包干制且无需预算说明书的场景。

nsfc-abstract

157
from InternScience/DrClaw

当用户明确要求"写/润色 NSFC 标书摘要""生成中文摘要和英文摘要""把中文摘要翻译成英文摘要"时使用。输出中文、英文两个版本(英文必须是中文的忠实翻译版),同时输出标题建议(1个推荐标题+5个候选标题及理由)。中文摘要默认≤400字符,英文摘要默认≤4000字符。输出方式:将结果写入工作目录下的 `NSFC-ABSTRACTS.md`。⚠️ 不适用:用户只想翻译一段与标书无关的通用文本(应直接翻译);用户只想写立项依据/研究内容/研究基础正文(应使用对应 nsfc 系列 skill)。

check-review-alignment

157
from InternScience/DrClaw

当用户明确要求"核查/优化综述 `{主题}_review.tex` 的正文引用"或"运行 check-review-alignment"时使用。通过宿主 AI 的语义理解逐条核查引用是否与文献内容吻合,只在发现致命性引用错误时对"包含引用的句子"做最小化改写,并复用 `systematic-literature-review` 的渲染脚本输出 PDF/Word。核心原则:不为了改而改,无法确定是否为致命性错误时保留原样并在报告中警告。⚠️ 不适用:用户只是想生成系统综述正文(应使用 systematic-literature-review);用户只是想新增/核对 BibTeX 条目(应使用专门的 bib 管理流程)。