学术书稿批次化写作系统(通用版)
本技能由 newdeme 创建并开源于 GitHub(Apache-2.0 协议):https://github.com/newdeme/monograph-writing ——转载或修改请保留本声明与仓库 LICENSE。
本技能把"写一本十几章、几十万字的书"拆解为可跨会话、可多人接力、可自动校验的批次流水线。它来自一部真实学术专著的完整写作实践,核心思想有三条:
- 台账即状态:书的全部进度、约定、编号指针、已核实文献都登记在项目内的台账文件里,写在磁盘上而不是对话里——这样换会话、换人、换电脑都能无损续作。
- 批次推进:一个二级目录(如 3.2)= 一个批次。每批次产出该节全部小节+一份节级总结,跑校验脚本至零错误才收批。小步交付,错误不会累积成灾。
- 判断与执行分离:作者(人)是学术责任人,负责论证立场、资料取舍与结论裁定;助手负责检索、核对、成文、校验与流程执行,不代替作者作学术判断,更不编造证据。
第一次用?走这条最小闭环(细节用到再读):说「初始化我的专著项目,目录在 xxx.md」→ 访谈确认 → 自动生成项目骨架;说「开始写 1.1.1」→ 按三步法产出第一个小节;批次收尾跑 validate_manuscript.py 至「全部通过 ✅」;之后每次说「继续」,按台账推进下一批。三个核心词:批次=一个二级目录的写作单元;台账=写进磁盘的进度与约定文件(换会话、换人都不丢);三步法=论点树→正文→存盘。
0. 学术红线(最高优先级,任何情况下不可违反)
- 禁止编造文献、数据、案例、试验或仿真结果——具体包括但不限于:题录字段(卷期/页码/DOI)、试验与仿真数值、样本量与单位、软件版本与参数、作者顺序、基金号、伦理审批号、奖项与荣誉。凡缺一律显式标注"此处需补充文献支撑"或"此数据需作者核实"——这类标注是纪律执行、不是缺陷,绝不为了行文流畅而虚构,也绝不用"合理估计"补全。
- 引用仅限作者认可的文献语料,并按「成果四分类」区分"可引用"与"只作素材"(语料接入访谈四选一:AI 客户端知识库 / Zotero 等文献管理器 / 项目内
02_语料/文件夹 / 暂不接入,登记于台账 §1;四分类细则与学科差异见references/evidence-corpus.md)。语料之外的文献一律不用;宁可不引,不可错引。参考文献表只收可公开核实的文献:①他人已发表/公开成果正常引用;②本人已发表成果可引用,但正文须注明关系(如"本章基于作者已发表工作 [n] 扩展");③本人未发表数据默认只作素材——正文/图表标注"作者试验数据",确需正式著录时先按台账 §4b 冻结为数据集,再按 [DS/OL] 著录;④本人未发表文字稿永不作为文献,只取骨架与可溯论据逐句重写。把本人未发表成果写成参考文献=创新点归属倒置+盲审不可核实,一律禁止。 - 每条新引用的书目信息(作者/刊名/年/卷期/页码)必须先与文献原文核对(读原文首页题录与页码)再写入;台账 §4 已核实的书目缓存可直接采用。被上下文压缩掉的未核实题录一律视为不可信,须重核后才能用。
- 公式与理论模型必须标注来源,不得将他人理论表述为原创;数据无法确认来源时以"典型工程案例"方式处理。
- 已确认的全局决策(书名、引用格式、图表编号、文件命名、字数分级、符号体系锚点)不得中途更改;发现前后矛盾登记台账 §5 待裁定,不得悄悄改写已完成章节。
- 首次出现的专业术语给简明定义(中文名+英文对照)并登记术语台账;新符号引入前先查符号表冲突。
- 汇报纪律:声称"已写入/已完成"的任何动作必须有工具执行结果支撑;未执行不得声称完成。
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:初始化新项目(作者说"开始写书/新建专著项目")
- 先访谈、后建项目(问题清单见
references/project-setup.md):书名、全书目录(章-节-小节三级)、各章字数分级、引用格式(默认 GB/T 7714 顺序编码制)、图表编号规则。作者给不出完整目录时,先协助梳理目录并请作者明确批准后冻结——目录一旦冻结就是全书结构与文件命名的唯一依据。 - 语料接入访谈(四选一,详见
references/evidence-corpus.md):① AI 客户端知识库 / ② Zotero 等文献管理器 / ③ 项目内02_语料/文件夹(初始化自动创建,格式不限——PDF/Word/Excel/Markdown 等均可,内容由作者自行补充)/ ④ 暂不接入(降级模式)。选定后按台账 §1 结构化格式登记;文献未就绪的作者选④先动笔,语料到位后按升级流程切换。 - 把作者确认的目录存为
00_管理文件/专著目录.md(格式见下方 §2),然后以项目根目录为参数初始化:
脚本自动生成:项目目录结构(含python3 <本技能路径>/scripts/init_project.py <项目根目录> --title "书名" # 目录已放在 <项目根目录>/00_管理文件/专著目录.md 时,用上面这条即可; # 目录在别处时加 --catalog <目录.md> 指定;还没有目录时加 --sample 先生成示例。02_语料/文献文件夹)、《书稿配置.json》《写作进度台账.md》《术语与符号一致性台账.md》《写作指令清单.md》。 - 与作者逐项核对配置文件(尤其字数分级与豁免档)+台账 §1 语料登记(方式②③时引导作者把文献放进语料,见
references/evidence-corpus.md),确认后开始第一批次。
入口 B:继续已有项目(作者说"继续"/"下一批"/"下一章")
- 读《写作进度台账.md》§2 确认断点与下一批次(如列有 A/B 选项请作者点单)。
- 读《专著目录.md》与《写作指令清单.md》定位批次范围;术语/符号问题先查《术语与符号一致性台账.md》。
- 用一句话向作者确认范围(如"本批次: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 脚本的解析依据):
## 第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 据此核查全书数字口径(同一数据前后不一致是专著与学位论文的高发硬伤)。
第三步 · 存盘(固定三段式)
# X.Y.Z 小节标题
> (一句文档定位说明)
## 一、写作准备
(论点树 / 证据清单 / 提纲)
## 二、正文
(正文)
## 参考文献
[1] …
保存到 01_书稿/第X章 章标题/Y.Z 节标题/;章/节文件夹不存在时新建(批次内常规动作)。文件名保留完整编号前缀。
3.2 节级总结(批次内最后一份产出)
- 600~800 字(或按配置):逐小节归纳核心结论 → 提炼贯穿本节的逻辑主线 → 明确与下一节的衔接。
- 参考文献仅限本节各小节已引用文献,去重后按总结正文出现顺序重新编号,不得引入正文未引的文献。
3.3 章末小结("X.Y 小结",单独成批)
- 只依据该章各节级总结汇总撰写(分层汇总的设计初衷=防止上下文过长导致遗忘),300~500 字(或按配置);文献从各节级总结汇总去重重编号。
- 完成后触发本章人工检查点(五项逐一过,通过后请作者确认定稿):①符号一致性(对照术语台账);②跨章衔接(承接上章、开启下章);③关键数值一致(本章数值与台账登记逐条对上);④术语统一(本章与既有章节用词一致,新术语已入台账);⑤台账 §5 本章遗留待办清零+validate 无未豁免 WARN。
3.4 批次收尾四件事(缺一不可)
- 运行校验脚本,ERROR 修复后复跑至清零(见 §4);WARN 逐条判断:可接受的记入台账 §6 并说明理由,不可接受的修复。
- 更新《写作进度台账.md》:§2 完成清单(含实测字数)、§3 表/图指针前移、§4 新增已核实书目(附定稿著录串)、§4b 登记本批新冻结的数据素材(如有)。
- 向作者汇报:文件清单(字数/引用数)、脚本结果、遗留 WARN 及处理、下一批次预告。
- 汇报前列一遍"声称清单↔工具回执"自查(红线第 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):
- 先做校核报告:逐文件核对结构与书目真实性,分类为"修正后保留"/"含虚构失真内容须舍弃"。
- 修复时只取骨架与语料内可溯论据,逐句重写,不得整段挪用;虚构/失真书目替换或删除。
- 统一改造为三段式结构与 [n] 编号引用;表/图编号按章统一重排(重排后更新台账 §3 指针)。
- 修复完成后从校验脚本豁免名单(配置
exempt_patterns)移出,全量通过后计入定稿进度。
7. 全书收尾(全部批次完成后)
generate_stripped_version.py生成全书纯正文版;merge_to_word.py生成合并 Word 稿(目录按固定目录自动生成;脚本样式为脚手架——交稿前按目标出版社征稿函/出版规范核验重排,规范版本与核查日期登记台账 §5,不得凭记忆写格式要求);- 全书图表编号、术语表、符号表做一次终检;时效分层标注终检(稳定原理/快速过时/截至某日/推断展望四类显式区分,见
references/batch-workflow.md§6 坑清单第 14 条); - 定稿前过一轮全书润色批次(
references/polish-workflow.md,以章为批三轮推进); - 向作者提交终检报告。
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)。