Skip to main content
ClaudeWave
Skill2.3k repo starsupdated 2d ago

nsfc-qc

The nsfc-qc skill performs read-only quality control on NSFC research grant proposals by running parallel independent checks on writing style, citation authenticity, section distribution, and logical coherence. Use this skill when users explicitly request quality control, proofreading checks, citation verification, or structural review before submission, outputting a standardized QC report with findings categorized by priority level without modifying source files.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/huangwb8/ChineseResearchLaTeX /tmp/nsfc-qc && cp -r /tmp/nsfc-qc/skills/nsfc-qc ~/.claude/skills/nsfc-qc
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# NSFC 标书质量控制

## 与 bensz-collect-bugs 的协作约定

- 当用户环境中出现因本 skill 设计缺陷导致的 bug 时,优先使用 `bensz-collect-bugs` 按规范记录到 `~/.bensz-skills/bugs/`,严禁直接修改用户本地 Claude Code / Codex 中已安装的 skill 源码。
- 若 AI 仍可通过 workaround 继续完成用户任务,应先记录 bug,再继续完成当前任务。
- 当用户明确要求“report bensz skills bugs”等公开上报动作时,调用本地 `gh` 与 `bensz-collect-bugs`,仅上传新增 bug 到 `huangwb8/bensz-bugs`;不要 pull / clone 整个 bug 仓库。

## 定位

- 只读 QC:不修改 `.tex/.bib/.cls/.sty`
- 目标是产出标准化 QC 报告,而不是“顺手帮用户改文”
- 推荐布局:`deliver_dir/` 放交付物,`deliver_dir/.nsfc-qc/` 放工作区

## 输入

最少需要:

- `project_root`

建议同时提供:

- `main_tex`,默认 `main.tex`
- `threads`,默认读 `config.yaml`
- `execution`,默认 `serial`
- `deliver_dir`,推荐显式给,便于实例隔离

## 输出

标准交付物:

- `{run_dir}/final/nsfc-qc_report.md`
- `{run_dir}/final/nsfc-qc_metrics.json`
- `{run_dir}/final/nsfc-qc_findings.json`
- `{run_dir}/final/validation.json`

常见预检产物:

- `precheck.json`
- `citations_index.csv`
- `tex_lengths.csv`
- `reference_evidence.jsonl`
- `reference_evidence_summary.json`

## 硬规则

- 禁止写入标书源文件。
- 文献真实性检查必须有证据链;不确定时标记 `uncertain`。
- 元数据获取是必选项:引用真伪核查必须联网抓取论文 metadata 并做 URL/title 比对。
- `nsfc-qc` 不负责正文改写;只负责发现问题与给出建议。

## 主流程

### 1. 定位 run 目录

- 优先用实例隔离布局:
  - `deliver_dir`
  - `workspace_dir={deliver_dir}/.nsfc-qc`
  - `run_dir={workspace_dir}/runs/{run_id}`
- 只有用户明确要求 legacy 时才退回 `project_root/.nsfc-qc/`

### 2. 只读预检

- 自动检测主 tex
- 检查引用 key 是否存在
- 检查 `.bib` 字段完整性
- 生成引用证据包:Crossref / arXiv / Unpaywall 等 metadata + URL 可访问性 + title 比对
- 输出篇幅分布、引号问题、缩略语与术语一致性初筛

### 3. 多线程独立 QC

- 优先用 `parallel-vibe`,并把 `.parallel_vibe/` 放到当前 run 内部
- snapshot 只包含最小必要副本:`*.tex/*.bib` + 预检证据包
- 每个 thread 至少覆盖:
  - 文风与可读性
  - 引用真伪与错引风险
  - 篇幅与结构分布
  - 逻辑与论证闭环
  - 缩略语规范
  - 术语一致性
  - 至少 2 类其它 QC

### 4. 汇总聚合

- 主线程合并 threads 的 `RESULT.md`
- 去重、冲突处理、按 `P0/P1/P2` 排序
- 输出最小可执行修改路线

### 5. 标准化报告

最终报告必须包含:

1. 执行摘要
2. 范围与只读声明
3. 硬性问题(P0)
4. 重要建议(P1)
5. 可选优化(P2)
6. 引用核查清单
7. 篇幅与结构分布
8. 建议的最小修改路线图
9. 附录:复现信息

## 常用脚本

```bash
# 一键运行
python3 skills/nsfc-qc/scripts/nsfc_qc_run.py \
  --project-root projects/NSFC_Young \
  --main-tex main.tex \
  --deliver-dir projects/NSFC_Young/QC/vYYYYMMDDHHMMSS \
  --threads 5 \
  --execution serial

# 预检
python3 skills/nsfc-qc/scripts/nsfc_qc_precheck.py --project-root projects/NSFC_Young --main-tex main.tex --out <artifacts_dir> --resolve-refs

# 并行 QC
python3 skills/nsfc-qc/scripts/run_parallel_qc.py --project-root projects/NSFC_Young --run-id vYYYYMMDDHHMMSS --threads 5 --execution serial

# 物化 final 输出
python3 skills/nsfc-qc/scripts/materialize_final_outputs.py --project-root projects/NSFC_Young --run-id vYYYYMMDDHHMMSS
```

## 降级策略

- 若 `parallel-vibe` 不可用,仍需完成同一套 QC 清单。
- 仍要输出标准化报告与 JSON。
- 在附录中说明未启用并行的原因。

## 非目标

- `nsfc-qc` 不是编译检查工具。
- PDF 能否编译成功属于环境/工程质量,不是本技能的核心交付。
check-review-alignmentSkill

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

complete-exampleSkill

当用户明确要求"填充示例内容""生成示例""补充 LaTeX 示例"时使用。AI 增强版 LaTeX 示例智能生成器,实现 AI 与硬编码的有机融合:AI 做"语义理解"(分析章节主题、推理资源相关性、生成连贯叙述),硬编码做"结构保护"(格式验证、哈希校验、访问控制)。

get-review-themeSkill

当用户明确要求"从文件/图片/网页/描述中提取综述主题"或"生成主题+关键词+核心问题结构化输出"时使用。支持文件(PDF/Word/Markdown/Tex)、文件夹、图片、自然语言描述、网页 URL 等多种输入源,自动识别输入类型并提取内容,生成可直接用于 systematic-literature-review 及其他文献综述技能的结构化输出。

guide-updaterSkill

当用户明确要求"更新项目指南""同步指南""沉淀洞见到指南"时使用。将对话中新产生的可复用写作洞见实时沉淀到项目指南文件,保持术语口径一致、结构稳定、可检验与可复现。调用时必须指定指南文件路径。

make-latex-modelSkill

当用户明确要求“LaTeX 模板优化”“样式参数对齐”“像素级比对”“make-latex-model”或旧写法“make_latex_model”,或要把 ChineseResearchLaTeX 里的某个项目做成高质量模板时使用。适配 NSFC / paper / thesis / cv 四条产品线;先依据 packages/ 与 projects/ 的真实分层判断改项目层还是公共包,再用各产品线官方构建入口验收。若必须修改 packages 下公共包,需先生成受影响模板回归计划并完成相关回归;NSFC 专项工具仅在明确属于 NSFC 参数对齐场景时按需使用。

nsfc-abstractSkill

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

nsfc-budgetSkill

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

nsfc-codeSkill

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