nsfc-length-aligner
基于国自然标书篇幅预算标准;检查目标标书篇幅并总结差距;给出针对性优化建议;在尽量不改变原意的前提下扩写/压缩到达标。
Best use case
nsfc-length-aligner is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
基于国自然标书篇幅预算标准;检查目标标书篇幅并总结差距;给出针对性优化建议;在尽量不改变原意的前提下扩写/压缩到达标。
Teams using nsfc-length-aligner 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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/nsfc-length-aligner/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How nsfc-length-aligner Compares
| Feature / Agent | nsfc-length-aligner | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
基于国自然标书篇幅预算标准;检查目标标书篇幅并总结差距;给出针对性优化建议;在尽量不改变原意的前提下扩写/压缩到达标。
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-length-aligner
目标:把“篇幅”从主观感觉变成可量化、可闭环的指标,并围绕预算(budget)指导扩写/压缩。
## 适用场景
- 你有一份国自然标书,想快速判断是否“某些部分偏短/偏长”
- 你需要按模板的硬性篇幅要求(页数/字数/字符数)对齐
- 你希望尽量不改变原意地扩写或压缩(保持论证主线与证据链)
## 不适用场景
- 仅需要“统计字数”而不关心预算与改写闭环(可用更简单的脚本即可)
- 标书不在本地(无法提供文本/文件/路径)
## 工作流(强烈建议按顺序执行)
### 0) 锁定隐藏工作区(先做)
- 以标书工作目录为根,统一使用 `<workdir>/.nsfc-length-aligner/` 托管所有中间文件与报告
- 不要把 `length_report.*`、临时分析稿、计划文件写到工作目录根层或仓库其他位置
- 若显式传入 `--out-dir`,优先使用相对路径 `.nsfc-length-aligner`;脚本会将**相对** `--out-dir` 解析到 `--input` 对应的工作目录,而不是 shell 当前目录
- 若工作目录本身不可写,应先切换到可写副本后再运行;不要为了省事把中间文件散落到项目外部
### 1) 需求确认(预算口径)
先确认你要对齐的“硬标准”是什么:
- 2026 调研共识的“黄金比例”(面上/青基 C 类,供校对用):立项依据 30%(6–10 页,约 8000–10000 字)/ 研究内容 50%(12–15 页,约 12000–15000 字)/ 研究基础 20%(5–8 页,约 5000–6000 字);合计建议 ≤28 页留缓冲(原则上不超过 30 页)
- **页数(硬约束)**:2026+ 改版后“原则上不超过 30 页”,实操建议 ≤28 页留缓冲;不要通过缩小字体/行距“挤页数”
- **字符预算(代理指标)**:中文字符 / 总字符等,用于“改写→复检”的确定性闭环(页数最终以 PDF 复核)
- 预算范围:总篇幅 + 各部分/关键章节预算(至少覆盖:立项依据/研究内容/研究基础)
说明:本 skill 默认使用 `config.yaml:length_standard` 的**示例口径(已对齐 2026 调研建议)**。你应按当年指南/模板校对后再使用。
### 2) 运行篇幅检查(确定性)
对目标标书目录(或单文件)运行检查脚本,生成报告:
```bash
python3 scripts/check_length.py --input <目标标书路径> --config config.yaml
```
如需显式声明输出目录,请使用:
```bash
python3 scripts/check_length.py --input <目标标书路径> --config config.yaml --out-dir .nsfc-length-aligner
```
如果你的标书基于 `NSFC_Young` / `NSFC_General` 模板(项目根目录包含 `main.tex`),建议把 `--input` 指向项目根目录:脚本会自动沿 `main.tex` 的 `\input/\include` 依赖树收集“实际会编译进 PDF 的文件”,并忽略被注释掉的 `\input{...}`(避免把可选章节误计入篇幅)。
如果你已编译出最终 PDF(推荐;页数是硬约束),把 PDF 一并传入做页数统计:
```bash
python3 scripts/check_length.py --input <目标标书路径> --config config.yaml --pdf <标书.pdf>
```
输出:
- 控制台摘要(总篇幅、超/欠预算项)
- `<input>/.nsfc-length-aligner/length_report.md`(默认输出目录;可用 `--out-dir` 自定义)
- `<input>/.nsfc-length-aligner/length_report.json`(默认输出目录;可用 `--out-dir` 自定义)
注意:`--out-dir` 若使用相对路径,会被解析到 `<input>` 对应的工作目录下;这能避免从其他目录启动命令时把报告误写到 shell 当前目录。
运行完成后,**必须**读取 `length_report.md`(必要时辅助读取 `length_report.json`),将“文件级偏差表 +(可选)章节级统计”作为步骤 3 的输入。
### 3) 解读差距(差在什么地方)
基于报告做 3 件事:
1. 定位“超长/偏短”的文件或章节
2. 判断差距属于:
- 证据链不足(需要补数据/对照/局限)
- 逻辑跳跃(需要补过渡/定义/假设)
- 冗余重复(需要合并/删减)
3. 生成行动清单(扩写/压缩的优先级)
章节级数据用法(更精准定位):
- 若 `length_report.md` 出现章节表格(或 JSON 中存在 `sections` 字段),优先在“超长/偏短”的文件内,定位到贡献最大的具体章节,再做定点改写,而不是只在文件级做平均删改
- 当某个文件超长/偏短时:对比其章节统计,若差距主要集中在 1–2 个章节,优先只改这 1–2 节(更容易保持原意与结构稳定)
参考:`references/MEANING_PRESERVING_REWRITE_RUBRIC.md`
### 4) 扩写/压缩(尽量不改变原意)
#### 扩写策略(偏短时)
- 先补“可验证信息密度”:定义、假设、对照、消融、风险与备选方案
- 再补“论证闭环”:为什么做 → 怎么做 → 预期怎么验证 → 失败怎么办
- 避免空泛扩写:不引入新主张、不堆形容词
#### 压缩策略(偏长时)
- 去重复:同一论点只保留一次最强表达
- 去背景:把泛背景压成 1-2 句,把篇幅留给“问题-方法-验证”
- 结构化改写:把长段拆成要点(不改变事实顺序)
> ⚠️ 改写完成后,**必须执行步骤 5 复检**,确认偏差已消除。未复检视为未完成。
## 2026 三部分“该瘦/该厚”清单(用于排优先级)
用法(把“静态建议”变成“按差距触发”):
- 先看报告里对应文件的偏差 `delta`:`+N` 表示超长(优先“该瘦”);`-N` 表示偏短(优先“该厚”);`OK` 表示该部分无需为了预算而改动
- `delta` 的绝对值越大,越优先处理;处理顺序建议:先改 `|delta|` 最大的文件,再做次大项
立项依据(为什么做):
- 该瘦:教科书式科普、泛化综述、弱相关“国家需求”铺陈、重复意义、文献凑数
- 该厚:Gap(卡点)→ Key Idea(突破口)→ 价值论证(为什么值得做)
研究内容(做什么/怎么做):
- 该瘦:重复表述、过细操作细节、罗列式方法堆砌
- 该厚:逻辑框架、关键实验设计与对照/消融、预期结果与可验证指标、用图说话
研究基础(为什么你能做):
- 该瘦:无关成果堆砌、过度铺垫背景
- 该厚:强相关预实验数据、核心技术能力、平台条件(与研究内容对位)
### 5) 复检闭环
改完必须再次运行脚本,确认“达标且不超标”:
```bash
python3 scripts/check_length.py --input <目标标书路径> --config config.yaml
```
## 格式红线(2026+ 常见)
- 不缩小字体、不缩小行距来“挤页数”(页数要求是评审风险点)
- 不顶格写到 30 页:建议 ≤28 页留缓冲
- 若当年指南要求声明生成式 AI 使用情况:务必按要求如实说明(合规项)
## 约定与输出格式
- 报告以“文件级 +(可选)章节级”呈现
- 预算以 `config.yaml:length_standard` 为唯一真相来源
- 中间文件统一托管到 `config.yaml:output_settings.intermediate_dir`(默认 `.nsfc-length-aligner`)
- 所有改写应遵循“最小改动、保持原意”的准则(见 references)Related Skills
length_measurement
Length & Dimension Measurement - Precision length measurement: convert mm to m, calculate length plus width, area, and error. Use this skill for metrology tasks involving convert length mm to m calculate length plus width calculate area calculate absolute error. Combines 4 tools from 3 SCP server(s).
nsfc-roadmap
当用户明确要求"生成 NSFC 技术路线图/技术路线图绘制/roadmap/flowchart"或需要把标书研究内容转成"可打印、A4 可读"的技术路线图时使用。默认输出可编辑源文件(`.drawio`)与可嵌入文档的渲染结果(`.svg`/`.png`/`.pdf`);当用户主动提及 Nano Banana/Gemini 图片模型时,可切换为 PNG-only 模式。⚠️ 不适用:用户只是想修改某张已有图片的格式/尺寸(应使用图片处理技能)、只是想润色技术路线文字描述(应直接改写正文)。
nsfc-reviewers
当用户明确要求"评审国自然标书"、"模拟专家评审"、"审阅 NSFC 申请书"时使用。模拟领域专家视角对 NSFC 标书进行多维度评审,输出分级问题与可执行修改建议。⚠️ 不适用:用户只是想写/改标书某个章节(应使用 nsfc-*-writer 系列技能)、只是想了解评审标准(应直接回答)、没有明确"评审/审阅"意图。
nsfc-research-foundation-writer
当用户明确要求"写/改研究基础""研究基础+工作条件+风险应对编排"时使用。为 NSFC 正文"(三)研究基础"写作/重构,并同步编排"工作条件"和"研究风险应对",用证据链证明项目可行、资源条件对位研究内容、风险预案可执行。
nsfc-research-content-writer
当用户明确要求"写/改研究内容""研究内容+创新+年度计划编排"时使用。为 NSFC 正文"(二)研究内容"写作/重构,并同步编排"特色与创新"和"三年年度研究计划",输出可直接落到 LaTeX 模板的三个 extraTex 文件。
nsfc-ref-alignment
检查 NSFC 标书正文引用与参考文献的一致性与真实性风险(只读):核查 bibkey 是否存在、BibTeX 字段与 DOI 等格式问题,并生成结构化输入供宿主 AI 逐条评估“正文表述是否真的在引用该文献”;默认仅输出审核报告,不直接修改标书或 .bib(除非用户明确要求)。
nsfc-qc
当用户明确要求"标书QC/质量控制/润色前质检/引用真伪核查/篇幅与结构检查"时使用。对 NSFC 标书进行只读质量控制:并行多线程独立检查文风生硬、引用假引/错引风险、篇幅与章节分布、逻辑清晰度等,最终输出标准化 QC 报告;中间文件默认归档到“交付目录内的隐藏工作区(.nsfc-qc/)”,并兼容 legacy `.nsfc-qc/`。
nsfc-justification-writer
当用户明确要求"写/改 NSFC 立项依据""立项依据写作/重构"时使用。基于最小信息表输出价值与必要性、现状不足、科学问题/假说与项目切入点,并保持模板结构不被破坏。适用于 NSFC 及各类科研基金申请书的立项依据写作场景。
nsfc-humanization
去除 NSFC 标书中的 AI 机器味,使文本读起来像资深领域专家亲笔撰写(不适用:非标书内容/需修改格式/需补充新内容)
nsfc-code
根据 NSFC 标书正文内容,结合申请代码推荐库,为你给出 5 组申请代码1/2(主/次)推荐与理由;输出到 NSFC-CODE-vYYYYMMDDHHmm.md(只读,不修改标书)
nsfc-budget
当用户明确要求“写/生成 NSFC 预算说明书”“写预算说明”“生成 budget.tex / budget.pdf”“写国自然预算 justification”时使用。基于用户标书正文或补充材料,输出一份可提交的预算说明书 LaTeX 项目并渲染 `budget.pdf`。若用户未指定工作目录,必须暂停并先要求其指定。⚠️ 不适用:用户只是想了解预算原则;用户仅要预算表数字而不写说明书;或用户是 2026 青年 A/B/C 默认包干制且无需预算说明书的场景。
nsfc-abstract
当用户明确要求"写/润色 NSFC 标书摘要""生成中文摘要和英文摘要""把中文摘要翻译成英文摘要"时使用。输出中文、英文两个版本(英文必须是中文的忠实翻译版),同时输出标题建议(1个推荐标题+5个候选标题及理由)。中文摘要默认≤400字符,英文摘要默认≤4000字符。输出方式:将结果写入工作目录下的 `NSFC-ABSTRACTS.md`。⚠️ 不适用:用户只想翻译一段与标书无关的通用文本(应直接翻译);用户只想写立项依据/研究内容/研究基础正文(应使用对应 nsfc 系列 skill)。