# Monograph Writing

> 把写长篇书稿变成 AI 可接力、可校验、绝不编造的批次化流水线——学术专著、教材、技术书、学位论文皆适用的写作管理系统。当用户要写书、写专著、写教材、写学位论文、把学位论文转写成专著，或要求「继续写」「下一批」「下一章」「初始化写作项目」「校验书稿」「生成纯正文版」「合并 Word 书稿」「画统计图」「登记创新点」「润色章节」「统一术语」「去 AI 腔」，或提到「进度台账」「固定目录」「批次写作」「三步法」「盲审」「图表证据卡」「关键数值」时使用。六大特色：①学术红线——禁止编造文献与数据，只引用作者提供的语料（知识库/Zotero/项目文件夹）并逐条核对原文；②成果四分类——本人已发表成果引用须注明关系、未发表数据冻结后可按国标著录、未发表草稿永不冒充文献，学位论文另有创新点登记与盲审隐名版导出专项；③台账即状态——进度、图表编号、已核实书目、数据冻结与图表证据卡全部落盘，跨会话、跨作者无损续作；④自动校验——引用编号、字数分级、图表编号、关键数值一致性、素材漂移由脚本把关，错误清零才收批，一键生成纯正文版与合并 Word 稿；⑤数据图红线——统计图只能由登记的数据文件生成、禁止自编数据点，概念示意图仅出 Mermaid 草稿供作者重绘；⑥成稿润色——三轮润色法（论证完整/图表细节/术语语言统一）＋保守修改原则（可能改变科学含义的改动须留原句交作者裁定）＋中文去 AI 腔清单。凡涉及书稿或多章节的长文写作项目，即使未明说「专著」，也应使用本技能。

- Skill: `newdeme/monograph-writing` (Agent Skill, multi-file: 11 files)
- Install (CLI): `npx skillmds@latest add newdeme/monograph-writing`
- Raw SKILL.md: https://api.skillmd.com/api/skills/newdeme/monograph-writing/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- License: Apache-2.0
- Author: newdeme (https://skillmd.com/u/newdeme)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/newdeme/monograph-writing

---


# 学术书稿批次化写作系统（通用版）

> 本技能由 newdeme 创建并开源于 GitHub（Apache-2.0 协议）：https://github.com/newdeme/monograph-writing ——转载或修改请保留本声明与仓库 LICENSE。

本技能把"写一本十几章、几十万字的书"拆解为**可跨会话、可多人接力、可自动校验**的批次流水线。它来自一部真实学术专著的完整写作实践，核心思想有三条：

1. **台账即状态**：书的全部进度、约定、编号指针、已核实文献都登记在项目内的台账文件里，写在磁盘上而不是对话里——这样换会话、换人、换电脑都能无损续作。
2. **批次推进**：一个二级目录（如 3.2）= 一个批次。每批次产出该节全部小节＋一份节级总结，跑校验脚本至零错误才收批。小步交付，错误不会累积成灾。
3. **判断与执行分离**：作者（人）是学术责任人，负责论证立场、资料取舍与结论裁定；助手负责检索、核对、成文、校验与流程执行，**不代替作者作学术判断，更不编造证据**。

**第一次用？走这条最小闭环**（细节用到再读）：说「初始化我的专著项目，目录在 xxx.md」→ 访谈确认 → 自动生成项目骨架；说「开始写 1.1.1」→ 按三步法产出第一个小节；批次收尾跑 `validate_manuscript.py` 至「全部通过 ✅」；之后每次说「继续」，按台账推进下一批。三个核心词：**批次**＝一个二级目录的写作单元；**台账**＝写进磁盘的进度与约定文件（换会话、换人都不丢）；**三步法**＝论点树→正文→存盘。

## 0. 学术红线（最高优先级，任何情况下不可违反）

1. **禁止编造**文献、数据、案例、试验或仿真结果——具体包括但不限于：题录字段（卷期/页码/DOI）、试验与仿真数值、样本量与单位、软件版本与参数、作者顺序、基金号、伦理审批号、奖项与荣誉。凡缺一律显式标注"此处需补充文献支撑"或"此数据需作者核实"——这类标注是纪律执行、不是缺陷，绝不为了行文流畅而虚构，也绝不用"合理估计"补全。
2. **引用仅限作者认可的文献语料，并按「成果四分类」区分"可引用"与"只作素材"**（语料接入访谈四选一：AI 客户端知识库 / Zotero 等文献管理器 / 项目内 `02_语料/` 文件夹 / 暂不接入，登记于台账 §1；四分类细则与学科差异见 `references/evidence-corpus.md`）。语料之外的文献一律不用；宁可不引，不可错引。**参考文献表只收可公开核实的文献**：①他人已发表/公开成果正常引用；②本人已发表成果可引用，但正文须注明关系（如"本章基于作者已发表工作 [n] 扩展"）；③本人未发表数据默认只作素材——正文/图表标注"作者试验数据"，确需正式著录时先按台账 §4b 冻结为数据集，再按 [DS/OL] 著录；④本人未发表文字稿永不作为文献，只取骨架与可溯论据逐句重写。把本人未发表成果写成参考文献＝创新点归属倒置＋盲审不可核实，一律禁止。
3. 每条**新引用**的书目信息（作者/刊名/年/卷期/页码）必须先与文献原文核对（读原文首页题录与页码）再写入；台账 §4 已核实的书目缓存可直接采用。被上下文压缩掉的未核实题录一律视为不可信，须重核后才能用。
4. 公式与理论模型必须标注来源，不得将他人理论表述为原创；数据无法确认来源时以"典型工程案例"方式处理。
5. 已确认的全局决策（书名、引用格式、图表编号、文件命名、字数分级、符号体系锚点）**不得中途更改**；发现前后矛盾登记台账 §5 待裁定，不得悄悄改写已完成章节。
6. 首次出现的专业术语给简明定义（中文名＋英文对照）并登记术语台账；新符号引入前先查符号表冲突。
7. **汇报纪律**：声称"已写入/已完成"的任何动作必须有工具执行结果支撑；未执行不得声称完成。

## 0.1 适用范围与边界

- **适用**：多章节长篇书稿——专著、教材、技术书、学位论文；也适用于讲义、报告集等"书状"长文（字数分级按需调档或豁免，见 §4 与 `references/project-setup.md`）。
- **不适用/收益小**：单篇论文、短篇文档——批次与台账机制的收益随篇幅增长，短文不必引入。
- **文体与学科声明**：初始化时在《书稿配置.json》登记 `genre`（专著/教材/技术书/学位论文/报告集）与 `discipline`（理工/人文社科/自定义）；学位论文另读 `references/thesis-guide.md`（创新点登记、攻读期间成果关系、盲审隐名版导出）；**学位论文不允许协作代写**——多人协作仅适用于专著/教材/技术书等出版文体，学位论文的"接力"只限同一作者的多会话/多设备续作与导师批注流转（边界详见 thesis-guide §5）。不同学科在"本人未发表资料能否入参考文献表"上默认方向相反（理工默认只作素材；人文社科的未刊档案/口述史料按学科惯例著录 [A]），差异对照见 `references/evidence-corpus.md`。
- **语言**：台账模板与校验规则（字数按中文字符计、GB/T 7714 类型标识检查）以中文写作为主；其他语言可运行，但字数与标点口径可能失准（多语言支持在 Roadmap）。
- **平台**：脚本为纯 Python 标准库（仅 Word 合并需 `python-docx`），macOS/Linux/Windows 均可；路径含空格或中文时在命令中整体加引号。

## 1. 三种入口

### 入口 A：初始化新项目（作者说"开始写书/新建专著项目"）

1. **先访谈、后建项目**（问题清单见 `references/project-setup.md`）：书名、全书目录（章-节-小节三级）、各章字数分级、引用格式（默认 GB/T 7714 顺序编码制）、图表编号规则。作者给不出完整目录时，先协助梳理目录并**请作者明确批准后冻结**——目录一旦冻结就是全书结构与文件命名的唯一依据。
2. **语料接入访谈**（四选一，详见 `references/evidence-corpus.md`）：① AI 客户端知识库 / ② Zotero 等文献管理器 / ③ 项目内 `02_语料/` 文件夹（初始化自动创建，格式不限——PDF/Word/Excel/Markdown 等均可，内容由作者自行补充）/ ④ 暂不接入（降级模式）。选定后按台账 §1 结构化格式登记；文献未就绪的作者选④先动笔，语料到位后按升级流程切换。
3. 把作者确认的目录存为 `00_管理文件/专著目录.md`（格式见下方 §2），然后以**项目根目录**为参数初始化：
   ```bash
   python3 <本技能路径>/scripts/init_project.py <项目根目录> --title "书名"
   # 目录已放在 <项目根目录>/00_管理文件/专著目录.md 时，用上面这条即可；
   # 目录在别处时加 --catalog <目录.md> 指定；还没有目录时加 --sample 先生成示例。
   ```
   脚本自动生成：项目目录结构（含 `02_语料/` 文献文件夹）、《书稿配置.json》《写作进度台账.md》《术语与符号一致性台账.md》《写作指令清单.md》。
4. 与作者逐项核对配置文件（尤其字数分级与豁免档）＋台账 §1 语料登记（方式②③时引导作者把文献放进语料，见 `references/evidence-corpus.md`），确认后开始第一批次。

### 入口 B：继续已有项目（作者说"继续"/"下一批"/"下一章"）

1. 读《写作进度台账.md》§2 确认断点与下一批次（如列有 A/B 选项请作者点单）。
2. 读《专著目录.md》与《写作指令清单.md》定位批次范围；术语/符号问题先查《术语与符号一致性台账.md》。
3. 用一句话向作者确认范围（如"本批次：3.2 节标题，4 个小节＋节级总结"），确认后开工。**不跳节、不跳章**（作者明确点单的除外）。

### 入口 C：润色批次（作者说"润色第X章"/"统一术语"/"去 AI 腔"）

对已完成并通过校验的章节做语言质量提升，**不动论证、不动证据、不动结构**。流程：三轮润色法（论证完整→图表方法细节→术语时态语言统一）＋保守修改原则（纯语言问题直接修；可能改变科学含义的改动保留原句、列建议交作者裁定——相关性不许润成因果性、不为流畅补未证实内容）＋中文去 AI 腔清单。以章为批，台账 §2 登记，收尾跑校验并汇报待裁清单。完整规程见 `references/polish-workflow.md`。

## 2. 项目结构与权威文件

```
项目根目录/
├── 00_管理文件/
│   ├── 专著目录.md            ← 章节结构与编号的唯一依据（冻结后不得擅改）
│   ├── 书稿配置.json          ← 全部项目参数（字数分级/目录路径/豁免档）
│   ├── 写作进度台账.md         ← 跨会话状态锚点（每批次收尾时更新）
│   ├── 术语与符号一致性台账.md   ← 术语表/符号表/新符号流程/一致性待办
│   └── 写作指令清单.md         ← 全书写作单元清单（批次任务来源）
├── 01_书稿/第X章 章标题/Y.Z 节标题/   ← 全部书稿产出（随批次逐节建夹）
├── 02_语料/                   ← 你的文献资料库（格式不限、内容自定；引用红线的数据源）
├── 03_归档素材/                ← 外部草稿素材库（只取骨架与可溯论据，不参检）
├── 04_剥离版书稿/              ← 纯正文版（脚本自动生成，勿手改）
└── 05_图表/                    ← 数据图（脚本生成）/草稿（Mermaid 概念草图）/定稿（作者提供）
```

**冲突裁决顺序**：进度台账 > 其他管理文件 > 本 SKILL.md。

**目录文件格式**（init 与 merge 脚本的解析依据）：

```markdown
## 第X章 章标题
**Y.Z 节标题**
- X.Y.Z 小节标题
```

**文件命名**（与目录逐字一致，分隔符用空格）：
- 小节：`X.Y.Z 小节标题.md`
- 节级总结：`第X章 Y.Z节 节标题 章节总结.md`（编号与"节"字之间不留空格）
- 章末小结：`X.Y 小结.md`

## 3. 批次工作流（核心循环）

### 3.1 每小节三步法

**第一步 · 写作准备**（写入文件 `## 一、写作准备` 区，成书时统一剥离，故不得省略）
- **论点树**：核心论点 → 分论点（每条注明对应证据）→ 本节落脚点（必须写明与后续小节/章节的衔接关系——这是全书连贯性的抓手）。
- **证据清单**（表格：论据 | 数据/事实 | 来源 | 类别）：全部来自作者认可的语料；检索 2~4 组关键词，拟引用的新文献先读原文核对题录。**类别**按红线第 2 条四分类填写：A＝他人已发表；B＝本人已发表（正文须注明关系）；C-数据＝本人未发表数据（标注冻结版标识，未冻结先登记台账 §4b）；C-草稿＝本人未发表文字稿（只作骨架素材）。
- **写作提纲**：段落级安排，标注各段使用的证据编号。

**第二步 · 正文**
- 结构：开篇定位段 → 分段论述（**加粗观点句领起**）→ 收束衔接段。
- 引用编号 [n] 按**正文含表格的阅读顺序**首次出现排列；参考文献列于文末，采用配置指定的格式（默认 GB/T 7714）。同一文献同一文件内不得重复编号。
- 表/图编号 `表X-Y`/`图X-Y`（X=章号，Y 章内连续），从台账 §3 指针接续；表须有中文标题且正文有文字解读；自创归纳性框架表标注"本节归纳"，不得挂文献名下。**图走台账 §3b 图表证据卡**：数据图只能由登记的数据文件经 `generate_figures.py` 生成（禁止自编数据点画图）；概念示意图/架构图 AI 只产 Mermaid 文本草稿（`05_图表/草稿/*.mmd`，标注仅供作者重绘），正文留「图X-Y（待作者定稿）」空位，成稿由作者提供——细则见 `references/figure-guide.md`。
- 字数按配置分级执行（以《书稿配置.json》与校验脚本为准）；压不进区间先删修饰语、再并论据，不为凑字注水。
- **关键数值登记**：正文首次写入关键数据（试验值/计算结果/统计量）时，在台账「关键数值登记」段落一行（数值｜含义｜首现小节｜关联图表），后续章节/图表/小结引用同一数据须与登记串**逐字一致**——validate 据此核查全书数字口径（同一数据前后不一致是专著与学位论文的高发硬伤）。

**第三步 · 存盘**（固定三段式）
```markdown
# X.Y.Z 小节标题
> （一句文档定位说明）
## 一、写作准备
（论点树 / 证据清单 / 提纲）
## 二、正文
（正文）
## 参考文献
[1] …
```
保存到 `01_书稿/第X章 章标题/Y.Z 节标题/`；章/节文件夹不存在时新建（批次内常规动作）。文件名保留完整编号前缀。

### 3.2 节级总结（批次内最后一份产出）

- 600~800 字（或按配置）：逐小节归纳核心结论 → 提炼贯穿本节的逻辑主线 → 明确与下一节的衔接。
- 参考文献仅限本节各小节已引用文献，去重后**按总结正文出现顺序重新编号**，不得引入正文未引的文献。

### 3.3 章末小结（"X.Y 小结"，单独成批）

- **只依据该章各节级总结汇总撰写**（分层汇总的设计初衷＝防止上下文过长导致遗忘），300~500 字（或按配置）；文献从各节级总结汇总去重重编号。
- 完成后触发**本章人工检查点**（五项逐一过，通过后请作者确认定稿）：①符号一致性（对照术语台账）；②跨章衔接（承接上章、开启下章）；③关键数值一致（本章数值与台账登记逐条对上）；④术语统一（本章与既有章节用词一致，新术语已入台账）；⑤台账 §5 本章遗留待办清零＋validate 无未豁免 WARN。

### 3.4 批次收尾四件事（缺一不可）

1. 运行校验脚本，**ERROR 修复后复跑至清零**（见 §4）；WARN 逐条判断：可接受的记入台账 §6 并说明理由，不可接受的修复。
2. 更新《写作进度台账.md》：§2 完成清单（含实测字数）、§3 表/图指针前移、§4 新增已核实书目（附定稿著录串）、§4b 登记本批新冻结的数据素材（如有）。
3. 向作者汇报：文件清单（字数/引用数）、脚本结果、遗留 WARN 及处理、下一批次预告。
4. 汇报前列一遍"声称清单↔工具回执"自查（红线第 7 条）。

## 4. 自动化脚本

脚本位于本技能 `scripts/`，以项目根目录为工作目录运行；参数细节见各脚本头部说明。

| 命令 | 何时跑 | 作用 |
|---|---|---|
| `init_project.py <项目根目录> --title 书名` | 仅初始化一次 | 生成项目骨架、配置（含文体/学科声明）、双台账（含 §4b 素材版本表）、指令清单 |
| `validate_manuscript.py` | **每批次收尾必跑** | 校验文件命名、三段式结构、字数分级、引用编号连续性与首现顺序、表/图编号章内连续、素材漂移与未冻结引用检查 |
| `generate_stripped_version.py` | 全书/某章定稿后 | 剥离"写作准备"，生成纯正文镜像树＋章合并稿 → `04_剥离版书稿/` |
| `generate_figures.py` | 需要数据图时 | 按台账 §3b 证据卡从数据文件生成统计图（需 `pip3 install matplotlib`；禁止自编数据点） |
| `merge_to_word.py` | 需要交 Word 稿时 | 按固定目录结构合并为带样式目录的单个 .docx（需 `pip3 install python-docx`） |

校验规则、字数分级、豁免档全部由《书稿配置.json》驱动；作者要求调整分级时改配置并复跑校验即可，脚本本体不用动。

## 5. 会话与断点管理

- **最优切换点＝批次边界**：收尾四件事完成后随时可关窗；新会话只需说"继续"，凭台账续作。**禁止**把旧对话内容粘贴进新窗口。
- 批次内上下文被压缩/接近上限时：核对最后落盘文件完整 → 断点写入台账 §2 → 在**小节边界**收束会话；禁止在"证据已检索、正文未落盘"的中间态硬撑续写。
- 压缩后纪律：未经文件固化的题录一律重核后方可写入参考文献。
- 多窗口并行时窗口按"轨道-批次"命名（如 `主线-3.2`、`副线-10.1✅`），防止在错误窗口续写。**资产在磁盘文件里，不在任何对话窗口里。**

## 6. 修复批次（整合外部提供的草稿）

外部草稿（其他作者旧稿、AI 生成稿、合作者手稿、自己的学位论文）不得直接采用，走修复批次（论文转写为专著的专项清单见 `references/repair-workflow.md` §5）：

1. 先做**校核报告**：逐文件核对结构与书目真实性，分类为"修正后保留"/"含虚构失真内容须舍弃"。
2. 修复时**只取骨架与语料内可溯论据，逐句重写**，不得整段挪用；虚构/失真书目替换或删除。
3. 统一改造为三段式结构与 [n] 编号引用；表/图编号按章统一重排（重排后更新台账 §3 指针）。
4. 修复完成后从校验脚本豁免名单（配置 `exempt_patterns`）移出，全量通过后计入定稿进度。

## 7. 全书收尾（全部批次完成后）

1. `generate_stripped_version.py` 生成全书纯正文版；
2. `merge_to_word.py` 生成合并 Word 稿（目录按固定目录自动生成；脚本样式为**脚手架**——交稿前按目标出版社征稿函/出版规范核验重排，规范版本与核查日期登记台账 §5，不得凭记忆写格式要求）；
3. 全书图表编号、术语表、符号表做一次终检；时效分层标注终检（稳定原理/快速过时/截至某日/推断展望四类显式区分，见 `references/batch-workflow.md` §6 坑清单第 14 条）；
4. 定稿前过一轮全书润色批次（`references/polish-workflow.md`，以章为批三轮推进）；
5. 向作者提交终检报告。

## 8. 需要深入时读这些

| 文件 | 何时读 |
|---|---|
| `references/project-setup.md` | 初始化访谈、配置项详解 |
| `references/evidence-corpus.md` | 语料接入访谈、四方式从零搭建、降级模式与中途升级、成果四分类与学科差异、语料质量建议 |
| `references/thesis-guide.md` | 学位论文专项：创新点登记、攻读期间成果关系、盲审隐名版导出、查重口径 |
| `references/troubleshooting.md` | 脚本报错看不懂时：症状 → 原因 → 修复对照速查 |
| `references/batch-workflow.md` | 三步法细则、引用编号与字数口径、历史批次沉淀的常见坑清单 |
| `references/session-management.md` | 多会话/多窗口/多人协作的完整协议 |
| `references/repair-workflow.md` | 修复批次的完整流程与校核报告模板（含学位论文转写为专著） |
| `references/figure-guide.md` | 数据图红线与图表证据卡、Mermaid 概念草图边界、出版规格、图题五要素 |
| `references/polish-workflow.md` | 润色批次：三轮润色法、保守修改原则、中文去 AI 腔清单、逻辑链抽查 |

## 9. 归档整理的审批约束

发现乱放文件、命名不规范时可以**主动提议**整理，但执行前必须先出变更单（原路径 → 目标路径＋理由，涉及删除附核对结论），等作者明确同意后用 `mv` 执行，不做覆盖与删除。例外（免审批）：①批次内在 `01_书稿/` 下新建章/节夹；②台账例行更新；③在 `05_图表/数据图/` 生成**新**图（覆盖已有图不豁免，仍须变更单或显式 `--force`）。

