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

# 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 仓库。


目标：写出“评审一眼读懂”的五句式摘要，做到**重要性**、**科学问题**、**可行性证据**、**研究内容**、**科学意义**五个要素齐全；并输出与之一致的英文翻译。

## 输入（先要信息，缺啥就问啥）

优先让用户按信息表提供（见 `skills/nsfc-abstract/references/info_form.md`）。若用户只给了零散信息，先用 3-6 个问题补齐最关键缺口：
- 你希望题目更偏“机制向 / 方法向 / 转化向 / 场景向”哪一类？（不确定可不选，默认给混合候选）
- 研究对象/场景是什么？（疾病/材料/系统/任务）
- 领域痛点与未解决的科学问题是什么？（一句话）
- 你们的关键前期发现/预实验/数据点是什么？（1-2 条，可定量）
- 拟验证的科学假说/核心判断是什么？（一句话）
- 研究内容 3-4 点分别要做什么、用什么方法、得到什么可验证结果？
- 预期科学意义/应用价值是什么？（避免空话）

## 输出要求（硬约束）

- **必须同时给出中文与英文**；英文是中文的**忠实翻译**（不扩写、不新增假设、不引入新结果）。
- **中文摘要使用中文标点**。
- **引号硬约束（不可绕过）**：中文摘要中若需引号，**唯一合法形式**为中文弯引号 `”` （U+201C）与 `”` （U+201D）。以下形式**一律禁止**：ASCII 双引号 `”`、全角引号 `＂`、直角引号 `「」` / `『』`、单引号 `'` / `'`，以及任何其他替代形式。
- **中文摘要正文为纯文本**：不得含有 Markdown 标记（`**`、`*`、`_`、`#` 等），用户会直接将正文 copy 到只支持纯文本的系统中。
- 中文摘要数字**不使用千分位逗号**：写 `1000`，不要写 `1,000` 或 `1，000`。
- **必须给出”主要研究领域”**：放在英文摘要之后，**一句话**（汉字数 ≤ 25），精简表达核心研究方向，不得写成多条或列表。
- 写入 `NSFC-ABSTRACTS.md` 时，**中文摘要正文末尾与英文摘要分段标题之间不留空行**。
- **必须给出标题建议**：遵循 `skills/nsfc-abstract/references/title-rules.md` 的”中标题目”结构偏好；至少包含：
  - `推荐标题：...`（中文）
  - `Recommended Title: ...`（英文，紧跟推荐标题下一行）
  - `1) ... —— 理由：... / EN: ...`（至少 5 条；数量以 `config.yaml:title.title_candidates_default` 为准；每条末尾附英文翻译）
- **中文摘要**：默认 ≤ 400 字符（含标点）；推荐 5 句（以 `config.yaml:limits.zh_recommended_sentences` 为准），每句 1 个功能。
- **英文摘要**：≤ 4000 字符（含标点）；语法正确、术语一致。
- 不使用夸大/营销式表达（如“国际领先/填补空白/首创”），除非用户提供可核验依据且明确要求保留。
- 不堆砌背景，不罗列方法学名词；每个方法名词必须服务于“要验证什么”。

## 推荐结构（五句式，默认采用）

**篇幅比例原则**：资深评审希望尽快看到申请人”进入正题”，背景铺垫过多是专业度不足的信号。各句目标占比如下（超出即压缩）：

| 句子 | 功能 | 目标占比 |
|------|------|---------|
| ① 背景 | 入场券 | **≤ 15%** |
| ② 科学问题 | 定位缺口 | 15–20% |
| ③ 前期研究 | 建立可信度 | 20–25% |
| ④ 研究内容 | **主体** | **35–40%** |
| ⑤ 意义 | 闭环 | 10–15% |

1) **重要性/背景**（≤ 15%）：**严格 1 句**，点明研究对象的重要性与核心瓶颈，不展开背景综述。
2) **科学问题**（15–20%）：指出关键未知与当前不足（具体到机制/指标/因果链的缺口）。
3) **可行性证据（前期研究）**（20–25%）：给出 1-2 条前期发现/预实验（尽量可定量），并顺势提出科学假说/核心判断。
4) **研究内容（3-4 点）**（35–40%）：用动词开头，写清”做什么→怎么做→要验证什么/得到什么判据”（点数默认以 `config.yaml:limits.content_points_min/max` 为准）；此句是摘要主体，应获得最多篇幅。
5) **意义/价值**（10–15%）：总结预期贡献（科学机制 + 方法/策略/应用潜力），与第 2 句的问题形成闭环。

## 输出格式（便于粘贴与校验）

按如下格式写入 `NSFC-ABSTRACTS.md`（标题文本以 `config.yaml:output.zh_heading/en_heading` 为准）。在末尾给出长度自检（字符数计数口径：把连续空白折叠为单个空格后计数，含标点）：

```text
# 标题建议
推荐标题：...
Recommended Title: ...
1) ... —— 理由：... / EN: ...
2) ... —— 理由：... / EN: ...
3) ... —— 理由：... / EN: ...
4) ... —— 理由：... / EN: ...
5) ... —— 理由：... / EN: ...

# 中文摘要
（正文）
# English Abstract
(translation)
# 主要研究领域
（一句话，≤ 25 个汉字）

## 长度自检
- 中文摘要字符数：N/400
- 英文摘要字符数：M/4000
```

写入文件后，在对话中**不要重复粘贴全文**（除非用户明确要求），只需回报：
- 写入的文件路径（默认 `./NSFC-ABSTRACTS.md`）
- 标题候选数量是否满足默认要求
- 中文/英文字符数与是否超限

## 字数超限处理（闭环，最多 3 轮）

当用户明确要求“中文≤400字符/英文≤4000字符”等硬约束时，必须走闭环：**先检测，再压缩，再检测，合格后再写入**。

1) 先生成一个“可读但可能超限”的初稿（五句式要素齐全）。
2) 用确定性脚本检测（必须用 `--json`，让硬编码负责精确计数）：
   - `python3 skills/nsfc-abstract/scripts/validate_abstract.py - --json --diff --strict`
   - 输入可通过 stdin（无需先写文件），或在写入 `NSFC-ABSTRACTS.md` 后对文件校验。
3) 若超限：按“压缩优先级”执行压缩，再回到步骤 2，最多 3 轮。
4) 连续 3 轮仍超限：停止自动压缩，向用户说明当前超限数（ZH/EN exceeded），并请用户选择：
   - 允许删减某些信息（哪些可删）
   - 放宽字数上限（修改 `config.yaml`）
   - 人工给出更短的关键信息摘要（例如只保留最关键 1 条证据 + 3 点研究内容）

### 压缩优先级（从上到下）

- P0（必须保留）：研究对象/关键科学问题缺口/定量证据（若有）/核心方法名称/预期贡献闭环
- P1（优先精简）：程度副词、形容词修饰、”我们将/本研究”主语、过程性描述、”通过/采用”等介词短语、并列重复表达
- P2（优先删除）：背景超出 15% 的部分（首先压缩）、空洞评价（无定量支撑的”显著/重要/领先”等）、重复句、与科学问题无关的背景扩展

如需确定性写入/校验，可使用脚本：
- 写入：`python3 skills/nsfc-abstract/scripts/write_abstracts_md.py <input> --strict`
- 校验：`python3 skills/nsfc-abstract/scripts/validate_abstract.py NSFC-ABSTRACTS.md --json --diff --strict`
