---
name: writing-chapters
description: Use when writing paper chapters - requires completed brainstorming, writes one chapter at a time with user confirmation
---
# 章节写作
负责论文各章节的实际写作。必须在头脑风暴完成、项目结构创建后调用。
调用此技能前必须满足以下条件:
1. plan/project-overview.md 存在且包含论文类型和章节结构
2. plan/outline.md 存在且已确认
3. chapters/ 目录已创建
如果任何条件不满足,必须先调用 brainstorming-research 技能。
章节写作必须先判断章节类型:
1. Introduction、Related Work、研究背景、文献综述:必须先调用 `evidence-driven-writing`,并读取 `refs/evidence-map.md` 或 `plan/evidence-map.md`。
2. Methodology、Methods、研究方法:必须按“输入到输出”的技术流写作,不能只罗列模块。
3. Results、Discussion、实验结果:必须先调用 `experiment-results-planning`,确认真实数据或明确标记的 mock/synthetic planning data。
任何用户要求都不得直接进入正文。诸如“写得自然”“不要泛泛而谈”“注意衔接”只能转化为句子、段落、结构和证据处理。
## Checklist(每章必须完成)
- [ ] 读取 plan/outline.md 确认本章目标和要点
- [ ] 如果存在 plan/chapter-architecture.md,确认本章文件名、最小正文长度和 agent owner
- [ ] 检查前置章节是否完成(按逻辑顺序)
- [ ] 与用户确认本章关键论点和内容方向
- [ ] 根据学科领域调用对应写作模块
- [ ] 对引言/相关工作读取 evidence-driven-writing 产物
- [ ] 对方法章节检查输入到输出 flow
- [ ] 执行正文污染 contamination firewall 检查
- [ ] 写作输出到 chapters/XX-name.md
- [ ] **阶段1:规范合规检查**
- [ ] **阶段2:质量检查(去AI化、语言流畅度)**
- [ ] 更新 plan/progress.md
- [ ] 展示写作成果,询问用户确认或修改
- [ ] 用户确认后,询问是否继续下一章
## Chapter Agent Contract
Full-paper drafts and redrafts must use a separate fresh agent for each major chapter. The controller prepares the task packet and review criteria; the chapter agent writes only its assigned file.
Each chapter agent must receive:
- the exact chapter file it owns;
- the chapter's role in the whole manuscript;
- required source files and evidence IDs;
- paragraph-level argument chain, not a list of section labels;
- minimum prose length from `plan/chapter-architecture.md`;
- prohibited wording and prohibited structure;
- instructions to report unresolved gaps instead of inventing evidence or results.
Each chapter agent must return:
- status: DONE, DONE_WITH_CONCERNS, NEEDS_CONTEXT, or BLOCKED;
- changed file path;
- short summary of argument chain;
- unresolved evidence/data gaps;
- self-review against the rejection checks.
The controller must record this in `plan/chapter-agent-provenance.md`. A chapter without provenance is not accepted for a full-paper redraft.
## 两阶段 Review 机制
每章写作完成后,必须执行两阶段检查:
### 阶段1:规范合规检查
检查是否满足论文基本要求:
| 检查项 | 说明 |
|--------|------|
| 字数 | 是否达到目标字数(±10%可接受)|
| 结构 | 章节结构是否完整,小节是否清晰 |
| 引用格式 | 引用格式是否统一(GB/T 7714 或 APA)|
| 标题层级 | 是否符合论文规范 |
**检查结果**:✅ 通过 / ❌ 需修改
### 阶段2:质量检查
检查写作质量:
| 检查项 | 说明 |
|--------|------|
| 去AI化 | 无机械过渡词、无空壳强调句 |
| 语言流畅 | 无重复表达、无冗余 |
| 学术表达 | 使用"本文"、"本研究"等客观表述 |
| 段落结构 | 优先连贯段落,不使用列表堆砌 |
| 引用真实 | 所有引用可追溯,无编造 |
**检查结果**:✅ 通过 / ❌ 需修改
## 写作流程
```dot
digraph writing_chapters {
"读取 outline.md" [shape=box];
"确认本章目标" [shape=box];
"用户确认方向?" [shape=diamond];
"调用学科写作模块" [shape=box];
"写作到 chapters/" [shape=box];
"去AI化检查" [shape=box];
"更新 progress.md" [shape=box];
"展示成果" [shape=box];
"用户确认?" [shape=diamond];
"继续下一章?" [shape=diamond];
"结束或继续" [shape=doublecircle];
"读取 outline.md" -> "确认本章目标";
"确认本章目标" -> "用户确认方向?";
"用户确认方向?" -> "调用学科写作模块" [label="确认"];
"用户确认方向?" -> "确认本章目标" [label="调整"];
"调用学科写作模块" -> "写作到 chapters/";
"写作到 chapters/" -> "去AI化检查";
"去AI化检查" -> "更新 progress.md";
"更新 progress.md" -> "展示成果";
"展示成果" -> "用户确认?";
"用户确认?" -> "写作到 chapters/" [label="修改"];
"用户确认?" -> "继续下一章?" [label="确认"];
"继续下一章?" -> "读取 outline.md" [label="是"];
"继续下一章?" -> "结束或继续" [label="否"];
}
```
## 写作前准备
### 1. 读取项目信息
从 plan/ 读取:
- project-overview.md:论文类型、学科、研究背景
- outline.md:章节大纲和要点
- progress.md:已完成章节
- notes.md:用户偏好和特殊要求
**参考结构模板**: `skills/brainstorming-research/templates.md` 了解不同论文类型的标准结构。
### 2. 确认当前章节
> "根据大纲,本章「[章节名]」的主要内容是:
> - [要点1]
> - [要点2]
> - [要点3]
>
> 请确认这些要点,或告诉我需要调整的内容:"
### 3. 调用学科模块
| 学科领域 | 调用模块 |
|----------|----------|
| 工科、理科 | writing-core |
| 文科 | writing-humanities |
| 社科 | writing-humanities(侧重数据)|
| 医学 | writing-medical |
| 法学 | writing-law |
## 写作规范
以下规范必须严格遵守,不得因为"效率"或"简化"而跳过。
### 去 AI 化写作
1. **禁用机械过渡词**:首先、其次、最后、此外、另外、总之
2. **禁用空壳强调句**:值得注意的是、需要指出的是、重要的是、显而易见
3. **禁用主观化表达**:我认为、我觉得、我的研究(正文中)
4. **禁用列表堆砌**:论文正文优先连贯段落,不使用项目符号
5. **语气客观**:使用"本文"、"本研究"、"研究表明"等客观表述
### 反罗列写作
每章必须形成连续论证,而不是把要点平铺为短段落。正文段落应满足以下模式之一:
- 背景段:场景约束 → 研究矛盾 → 本章承接。
- 文献段:同类研究共同解决的问题 → 代表性证据 → 尚未覆盖的边界。
- 方法段:输入对象 → 处理过程 → 输出形式 → 设计理由。
- 实验段:评价目标 → 对照关系 → 指标含义 → 可接受结论边界。
- 讨论段:结果含义 → 工程/学术解释 → 局限和后续验证。
禁止把这些模式写成列表。每个正文段落都要包含因果、转折、承接或限定关系。除参考文献外,正文默认不得出现项目符号;贡献点需要列表时,最多 3 条,并且必须由前后段落解释。
### 长度和密度
对完整论文初稿,Introduction、Methodology、Experimental Results and Analysis、Discussion 等主体章节不能只写成摘要级说明。若 `plan/chapter-architecture.md` 给出 `min_chars`,必须达到该下限。达不到时,返回 NEEDS_CONTEXT 或继续扩写,不得把短稿标记为完成。
### 格式规范
1. **段落之间空一行**
2. **正文不使用加粗**(除术语首次定义)
3. **不使用斜体强调**
4. **标题层级清晰**
### 引用规范
1. **绝不编造文献**
2. **引用必须可追溯**:作者、年份、出处至少完整两项
3. **英文文献可检索后引用**
4. **中文文献优先让用户提供来源**
## 章节写作模板
### 开始写作前的确认
> "我将开始写作「[章节名]」。
>
> **本章目标**:[从outline读取]
> **预计字数**:[根据论文类型估算]
> **包含小节**:
> - [小节1]
> - [小节2]
>
> 请确认或调整后开始写作:"
### 写作完成后的展示
> "「[章节名]」初稿已完成。
>
> **实际字数**:[字数]
> **主要内容**:[简要总结]
>
> 已保存到:chapters/[文件名].md
>
> 请审阅以下内容:
>
> ---
> [章节内容预览,可以是开头部分]
> ---
>
> 如需修改请告诉我具体位置和修改意见,确认无误后我将更新进度。"
### 更新进度
在 progress.md 中记录:
```markdown
## [日期] - [章节名]
- **状态**:已完成 / 待修改
- **字数**:[字数]
- **用户确认**:是 / 否
- **修改记录**:[如有]
```
## 特殊章节指导
### 摘要(Abstract)
- 留到正文全部完成后再写
- 中文摘要 300-500 字,英文摘要对应
- 结构:背景、目的、方法、结果、结论
- 不含引用、不含图表
### 绪论(Introduction)
- 研究背景(宏观到具体)
- 研究问题(现有不足)
- 研究目的和意义
- 研究内容和方法概述
- 论文结构安排可保留一小段,但不得用它替代研究空白论证
- 计算机/工程 SCI 论文通常可将 Related Work 融入 Introduction;不要机械拆出独立 Related Work 章,除非大纲或模板要求
### 文献综述(Literature Review)
- 调用 literature-review 技能
- 按主题/时间/方法分类
- 必须有批判性分析
- 必须指出研究空白
### 研究方法(Methods)
方法章节必须采用输入到输出(input-to-output)flow,而不是模块清单:
1. 输入对象:数据形态、样本、特征、约束。
2. 预处理或表示:清洗、编码、划分、标准化。
3. 核心模型/算法:每个模块说明输入、处理、输出、设计理由。
4. 训练或推理流程:公式、算法、参数更新或决策路径。
5. 输出:预测、解释、告警、指标或下游接口。
6. 与实验的对应:每个关键模块必须能映射到消融、对照或局限说明。
禁止只写“由三层组成”“包括若干模块”后缺少数据流、公式位置和可复现步骤。
### 结果与讨论
结果章节不得保留“实验目的、表位、回填模板、讨论提示、请用户替换”等过程性说明。真实结果用数据支撑;mock 数据只能作为 planning data,并保留 `[待真实实验替换]` 标记,不能写成已验证结论。
## 正文污染防护
正文污染 contamination firewall 必须检查:
1. 用户修改要求不得进入正文。
2. 过程性说明不得进入正文或附录。
3. 压缩不等于删空,必须保留核心论点、证据、方法条件和边界。
4. 不能用表格替代应有的论文论证段落。
5. 列表只能在目标期刊允许或贡献点特别清晰时使用,正文默认转成连贯段落。
### 结论(Conclusion)
- 总结研究发现
- 回应研究目的
- 指出创新点
- 提出未来方向
## 错误处理
### 如果 plan/ 不存在
> "检测到项目结构未创建。需要先完成头脑风暴才能开始写作。
>
> 是否现在开始头脑风暴?"
调用 brainstorming-research。
### 如果前置章节未完成
> "建议先完成「[前置章节]」再写「[当前章节]」,因为:
> - [原因]
>
> 是否要先写前置章节,还是跳过继续?"
记录用户选择到 notes.md。
### 如果用户要求跳过确认
> "理解你想加快进度。我会简化确认流程,但仍需要你在每章完成后简单确认。
>
> 现在开始写作「[章节名]」。"
## 关键原则
- **一次只写一章** — 完成并确认后再开始下一章
- **每章必须确认** — 不得自动继续
- **进度必须更新** — 每次写作后更新 progress.md
- **风格必须一致** — 遵循学科模块规范
- **引用必须真实** — 绝不编造