# 通用 章节创作闭环

> 用于对单章或连续多章执行"初始化→控制卡→创作→润色→去AI味→审阅回炉→读者产物→摘要"的完整章节闭环。适合章节写作 SOP、批量写章、日志续跑、9.2+ 回炉与最终摘要收口。关键词：章节创作闭环、跑完整 SOP、批量写章、回炉到 9.2、日志续跑、最终摘要。

- Skill: `lornshrimp/skill-53` (Agent Skill, multi-file: 11 files)
- Install (CLI): `npx skillmds@latest add lornshrimp/skill-53`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lornshrimp/skill-53/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: lornshrimp (https://skillmd.com/u/lornshrimp)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lornshrimp/skill-53

---





<!-- ===== Layer 1: 永久缓存 ===== -->


# 通用-章节创作闭环
> **题材路由**：若 .github\题材专用Skills\ 目录存在对应的 <题材>-章节创作闭环 Skill，则：
> - 将题材特性骨架路由到 <题材>-章节创作闭环，该 Skill 位于 .github\题材专用Skills\ 目录。
> - 命中本技能时，必须优先强制加载当前 Skill 与 <题材>-章节创作闭环。





<!-- ===== Layer 3: 场景缓存 ===== -->

## 执行安保（硬性门禁）

### 阅读确认（强制）

**本文件不是摘要或参考提示，而是必须逐字执行的流程指令。**

在产生任何输出之前，必须先逐条输出以下确认。不输出确认就输出正文内容，一律视为流程违规：

```
[阅读确认]
- 本文件 SKILL.md → [已完整读取，完全理解全部硬规则与强制要求]
- references/章节创作闭环总流程与完成出口.md → [已读取并理解]
- references/章节路径推导与工件命名.md → [已读取并理解]
- references/章节批量模式与连续性日志.md → [已读取并理解]
- references/章节终审门槛与摘要规范.md → [已读取并理解]
```

若 Agents.md 声明了主输出平台或注册了三类模板，再追加：

```
- Agents.md → [已读取，已识别主输出平台 / 注册模板]
```

### 执行器定位（硬性）

- **本 Skill 是"执行器"，不是"规划器"**：目标是把步骤 0→13 真实跑完，而不是输出计划、进度条、阶段总结、初稿清单或"接下来将进行什么"的说明。
- **一气呵成**：一旦开始执行，必须一气跑完步骤 0→13，中途不得暂停去询问与任务无关或可由既有规则推断的问题。
- **禁止"等你说继续"式暂停**：不得在中途以"汇报当前进度/下一步计划"为理由停下来等待用户回复。除非硬性缺参导致无法继续，否则必须自动持续执行到步骤 13 的最终摘要输出。
- **步进式输出**：每一步开始时输出 [进度] 步骤 N：当前动作描述；在完成全部步骤之前，不得提前输出"本章节闭环完成"、评分结论或读者产物。

### 阶段推进闸门（硬性）

- 步骤 1 / 2 只代表"正文初稿阶段完成"，绝不代表整个 SOP 完成。
- 每完成一个步骤，必须立即判定 nextStep 并继续推进；只要 nextStep <= 12，就不得输出完成收尾语。
- 批量模式下，整批步骤 0→1.5→2 完成后必须立刻进入步骤 3→5；步骤 3→5 完成后必须进入步骤 6→10；全部章节通过 10 后才允许进入步骤 11→13。
- 如果发现自己刚完成的是"本相位最后一章"而不是"全 SOP 最后一步"，必须自动切到下一相位，而不是结束对话。

### 禁止擅自跳步与禁止不加载 Skill（硬性新增）

1. **每个步骤的"调用 skill"声明是强制门禁，不是建议** — 步骤中标注了 `调用 skill：通用-生成章节控制卡` 等声明的，必须通过 `skill()` 工具实际加载对应 Skill 的 SKILL.md 并逐字执行其指令，不得跳过加载直接凭"已有知识"替代执行。
2. **禁止擅自跳过任何步骤** — 从步骤 0 到步骤 13 的所有步骤必须逐项执行，不得以"该步骤不适用"、"评分已达标"、"旧步骤已执行过"为由跳过。若某步骤确实不适用（如单步执行时无需批量初始化），必须在日志中显式记录 `skipped_{stepName}_reason=xxx`，且需有明确规则依据。
3. **禁止用"手动替代"跳过 skill 加载** — 不得以"我已经知道这个 Skill 的内容了"为由不通过 `skill()` 工具加载。每一次步骤执行都必须由 `skill()` 重新加载对应 Skill 文件，以获取最新版本。
4. **禁止用"文件已存在"代替"步骤已执行"** — 必须以本次执行中是否实际读取、修改、覆盖写回并更新日志为准。
5. **"按需调用"不豁免加载义务** — 步骤中标注"按需调用"的专项 Skill，只要诊断结论指向需要调用，就必须通过 `skill()` 工具加载，不得凭经验直接改写。若诊断后确认不需要调用，必须在日志中记录 `diagnosed_no_need_{skillName}_reason=xxx`。
6. **禁止"伪加载 / 伪执行"** — 凡声明"已调用某 Skill""已执行某步骤"，必须有可验证的工件为证：工件文件覆盖写回（CONTROL_CARD_FILE / CHAPTER_FILE / REVIEW_REPORT_FILE / DESAI_REPORT_FILE / READER_NOTE_FILE / BOOK_REVIEW_FILE 等）与 SOP 日志记录（checkpoint / artifacts / iteration / 评分），两者缺一不可。仅在聊天回复里写"已加载""已执行""已去味完成"而没有任何新落盘工件与日志支撑的，一律视为**未执行**，必须补做。

### 禁止误判完成的情形（硬性）

以下任一情况都不等于流程完成，必须继续执行：

1. **禁止把"初稿已写入"当作"章节已完成"** — 只完成步骤 1→2 时最多只能记为 drafted。
2. **禁止跳过步骤 2 后的字数门禁** — 正文修改后都必须重跑 count-chapter.ps1，以最新 MeetsMinCJK/WithinRange 字段为准。**正文字数检测必须使用 `scripts/count-chapter.ps1`**，不得用 `Len`、`NoWhitespaceLen`、编辑器字符数或目测代替；正文门禁只看 `BodyCJK / MeetsMinCJK / WithinRange`，`MeetsMinCJK` 必须为 `True`，`WithinRange` 最好为 `True`。
3. **禁止跳过润色与去AI味（步骤 3→4）直接进审阅** — 初稿必须经过润色和去AI味处理才能进入审阅。
4. **步骤 6→7→8→9→10 的首轮闭环必须无条件执行** — 不得根据任何"综合评分"决定跳过、合并或提前终止。
5. **禁止用"文件已存在"代替"步骤已执行"** — 必须以本次执行中是否实际读取、修改、覆盖写回并更新日志为准。
6. **禁止把"旧评分"或"旧报告"当作当前终审结论** — 只要正文在本次执行中发生了任何实质修改，审阅报告就必须重新审阅并覆盖更新。
7. **禁止把"接近 9.2"表述成"已达 9.2+"** — 8.8/8.9/9.0/9.1/9.2 一律视为未达标；只有明确写出综合评分 > 9.2 才达标。
8. **禁止把"阶段性汇报"伪装成"完成汇报"** — 步骤 13 之前只能输出进度，不得出现任何暗示"整个 SOP 已收尾"的表述。
9. **禁止"装模作样"式执行去AI味** — 步骤 4（以及步骤 7 / 9.1 按需调用 `通用-去AI味重写` 时）不得以"改几个词、泛泛提一句已经去味"的方式走过场。去味必须真实完成完整工序：全文深度诊断 → 三档手术定档执行 → 保真核对 → 覆盖写回 CHAPTER_FILE → 按 `通用-去AI味重写` 第十一步强制归档要求生成当章去AI化报告并落盘 `去AI化报告/`（含统计对抗实测、结构保护核对、工序执行记录、朗读复核实测）。报告未落盘、量化数据未实测、或报告被 `去AI化报告模板.md` 判定为敷衍（全表"—"、照抄占位符、只做表面扫描）的，一律视为步骤 4 未完成，必须回步骤 4 重新执行。
10. **禁止把"口头宣称完成"当作"步骤已执行"** — 任何步骤的完成判定只认三样东西：本次执行中实际读取并修改了源文件、工件文件已覆盖写回、SOP 日志已如实更新（`ok=true` 与 checkpoint）。聊天输出中的完成表述不能替代其中任何一样。

## 继续读取的 references（强制读取门禁）

**以下所列 references 文件必须通过 `read_file` 工具逐文件读取，不得因"已有相关知识"、"之前执行时已读过"、"该文件只是参考"为理由跳过任何一条。** 每条 references 按其标注的必读等级强制执行：

- 标注 **必读** 的文件：必须读取，少一条即视为流程违规，不得开始步骤 0。
- 未标注必读的文件：必须读取，但读取后可仅提取与当前任务直接相关的段落，不要求逐字通读。
- 若文件路径指向的文件不存在（如引用的外部路径未就位），必须在日志中显式记录 `reference_missing_{refName}`，不得静默跳过。

- references/章节创作闭环总流程与完成出口.md — **必读**：步骤详解、执行细节与完成出口条件
- references/章节路径推导与工件命名.md — **必读**：工件路径规则与合规门禁
- references/章节批量模式与连续性日志.md — 批量模式与日志规则
- references/章节终审门槛与摘要规范.md — 评分门槛与摘要模板
- references/步骤2正文四拍与钩子轮换门禁.md — 步骤 2 落稿后的节拍复核
- ../../写作研究/网文留存模型.md — 留存基线，定义步骤 10 双轴回炉的留存评分标准与分流规则
- references/单元主线编排与节奏配比.md — 单元节奏参考
- references/九部件与进度节奏续跑卡.md — 卡顿恢复参考
- references/章节链路闭环复核与回写决策卡.md — 闭环复核参考
- references/三批次修订SOP与门禁节奏.md — 修订批次参考


<!-- ===== Layer 2: 项目级缓存 ===== -->

## 作者风格画像嵌入（自动收集作者反馈）

- 若项目根存在 `Agents.md` 且其中注册了"作者风格进化"数据源（`蒸馏产物/作者风格进化/` 下的 作者风格画像.md 与 作者原声样本库.md）：
  - **前置（步骤 0 初始化时）**：按 `通用-作者风格进化` 的嵌入模式，围绕 本批章节的叙述声口 / 创作走向 向作者收集 ≤1 个判断（叙述声口挖矿槽，A 类；问题示例见其 `references/环节嵌入点映射.md`）；作者回答的原声即时沉淀进样本库与画像
  - **执行中**：读取 `作者风格画像.md` 全部层作为本批章节作者约束（优先级：作者画像 > 作者风格模板 > 通用默认基线；不替代平台硬门槛）
  - **后置（步骤 12.5）**：章批完成后捕获作者产出反馈（见下）
- 未注册数据源或作者明确跳过：回退既有模板与默认基线，不报错，不阻断

## 风格/蓝本/写作研究模板自动发现规则

若当前服务的项目根目录存在 Agents.md，启动章节创作闭环前必须：

1. 读取项目根目录的 Agents.md；若其中声明了主输出平台，检索三类模板时优先匹配"适用平台"与主输出平台一致的模板，无匹配时回退到"适用平台：默认"的同类模板
2. 若 Agents.md 中注册了"写作研究模板"——读取对应路径的模板文件，将其作为本轮章节闭环的题材×平台默认门禁
3. 若 Agents.md 中注册了"作者风格模板"——读取对应路径的模板文件，将其作为正文创作、润色、去AI味和审阅阶段的统一文风基线
4. 若 Agents.md 中注册了"作品蓝本模板"——读取对应路径的模板文件，将其作为章首、回报、钩子、节奏和信息释放的闭环参照
5. 本 Skill 作为编排器主要负责读取、记录、传递三模板约束，并在日志中标注模板状态；具体字段由被调用的子 Skill 消费
6. 若项目根目录不存在 Agents.md，或其中未注册对应模板——回退通用默认模式，不报错，不阻断

## 主输出平台自动发现规则

若当前服务的项目根目录存在 Agents.md 且其中声明了主输出平台，启动章节创作闭环前必须：

1. 读取项目根目录的 Agents.md
2. 按命名约定定位对应的通用-输出{平台名}版 Skill
3. 将平台 Skill 的门禁标准（字数门槛、开篇密度、回报间隔、钩子强度、标题规则）作为本章节闭环的默认门禁基线
4. 在日志中记录当前主输出平台及对应平台 Skill
5. 若未配置主平台或配置缺失——回退平台无关的通用默认模式，不报错，不阻断

本 Skill 默认消费字段：

- 写作研究模板：章节门禁、章首约束、节奏间隔、禁忌类约束
- 作者风格模板：句长基线、段落节奏、对话风格配置、情绪表达方式、禁忌清单
- 作品蓝本模板：章首模式指纹、中段回报指纹、章末钩子指纹、场景节奏分布、信息释放节拍

## 默认模型温度参考

本 Skill 作为编排器不直接调用模型，但将以下温度约束传递给被调用的下游子 Skill 执行：

| 步骤 / 子 Skill | 推荐温度 | 说明 |
|---|---|---|
| 通用-审阅章节正文（审阅/复审） | 0.3 | 低创造性，保持判断稳定一致 |
| 通用-正文润色 | 0.45 | 方向已定，适度约束 |
| 通用-去AI味重写 | 0.45 | 同上 |
| 通用-创建小说正文 | 0.58–0.70 | 需要创造性与变化 |
| 通用-强化章节开头 / 章末钩子 | 0.45 | 局部强化，适度约束 |
| 通用-生成章节控制卡 | 0.45 | 结构规划，适度约束 |
| 通用-撰写书评 | 0.55 | 需要创造性但不宜跑偏 |
| 通用-润色作者有话说 | 0.50 | 轻创作，保持读者向口吻 |

## 练习方法入口（新增——吸收自知乎精华"如何把大纲蜕变成沉浸小说"）

本 Skill 的步骤 0→13 是生产级闭环（面向已投入连载的章节成品）。对于仍在打磨基本功的阶段，以下练习路径可作为补充使用：

1. **模拟练习模式**：使用 AI 生成章纲 → 调用 `通用-生成章节控制卡` 分解场景 → 调用 `通用-创建小说正文` 扩写成正文 → 调用 `通用-审阅章节正文` 做五问自筛 → 修改 → 重复直到五问全部通过。
2. **内化目标**：以 5-6 轮为一次完整练习周期，目的是把"开场戏/冲突感/舞台沉浸/人物细节/节奏连贯"这五问内化为写作直觉，而非永远依赖检查清单。
3. **脱离AI辅助**：练习周期完成后，脱离 AI 章纲直接写作，调用 `通用-创建小说正文` 一气呵成写完初稿，再用审阅步骤自我反馈。
4. **本模式与本 Skill 生产模式的关系**：练习模式使用本 Skill 的步骤子集（步骤 1→2→6→10），不执行完整的润色/去AI味/读者产物等生产步骤。练习模式下的评分门槛可放宽（不要求 9.2+），以"五问全部通过"为完成标准。

调用入口：从 `通用-创建小说正文` 的"章纲→正文自审五问"配套练习法触发时，应进入本练习模式而非全量生产闭环。

## 雪花写作法的递进式创作理念（新增——吸收自知乎芒果留了果）

> **来源**：知乎·芒果留了果《AI写小说水文破解：用雪花写作法重构长篇创作逻辑》（2026-07-29）。

本 Skill 的 0→13 步骤框架与雪花写作法的核心理念高度一致：**打破 AI 写作"流水账"困境的关键，在于放弃一步到位的幻想，转而将创作拆解为递进式步骤——用严密的结构约束框架，用情绪与人性去润色细节。**

雪花写作法的三个递进阶段与本 Skill 的步骤映射：

| 雪花写作法阶段 | 本 Skill 对应步骤 | 核心操作 |
| --- | --- | --- |
| **第一阶段：定主线与灵魂** | 步骤 0（初始化）+ 步骤 1（控制卡） | 一句话概括核心冲突 → 一段式三幕结构 → 明确本章在全局中的位置 |
| **第二阶段：丰满人物弧光** | 步骤 0.2（裁判源复核）+ 步骤 1.5（连续性检查） | 深挖人物原生家庭影响、最深恐惧与性格弱点 → 确保人物在压力下做出"只有他能做的选择" |
| **第三阶段：场景与矛盾细化** | 步骤 1（控制卡场景拆分）+ 步骤 3（专项场景强化） | 每个场景执行 GTK 循环（目标-冲突-挫折），无冲突场景直接删除 |

**核心原则**：AI 辅助写作最容易踩的坑是"一次性把任务全塞给 AI，期待它吐出成品"。正确的做法是逐步给任务——每完成一个步骤都进行人工审视与确认，让每一步的产出成为下一步的输入约束。这正是本 Skill 从步骤 0 到步骤 13 逐推进、每步都有门禁闸口的设计哲学。

## 题材包装层路由规则

题材目录下的包装层 Skill（如都市悬疑-生成章节控制卡）是本 Skill 的题材特化扩展。调用规则：

- 在调用任一通用 Skill 之前，先检查当前项目题材目录下的 .github/skills/ 中是否存在同名的题材包装层
- 若存在：**先加载题材包装层 Skill**，再由其路由到通用 Skill 叠加题材规则
- 若不存在：直接调用通用 Skill，不报错，不阻断
- 示例：写都市悬疑章节时 → 先检查都市悬疑-章节创作闭环 → 若存在，用它包装本流程

## 章节创作闭环流程

### 步骤 0：初始化与环境检查

**调用 skill：无（编排器自执行）**

**扮演角色：** 编排器 / 项目经理角色，不代入具体创作/审阅/读者视角，只做环境检查与路径推导。

**职责：** 确认所有输入路径与依赖文件存在，自动发现模板/平台，推导全部工件路径，创建目录结构，初始化 SOP 执行日志。

| 子步骤 | 动作 | 产出 |
|---|---|---|
| 0.0 | 读取项目根目录 Agents.md（若存在），识别主输出平台与注册的三类模板 | 确定平台门禁、模板约束基线 |
| 0.1 | 读取 OUTLINE_FILE（卷纲/章纲），确认本章定位 | 本章定位确认 |
| 0.2 | **裁判源复核**：认真仔细阅读本章实际出场人物对应的人物传记 + 与本章背景/技术/规则/证据/程序链/世界观有关的故事设定文档 | 日志记录本轮核对了哪些裁判源、哪些约束已兑现、哪些待补丁 |
| 0.3 | 若已存在 CONTINUITY_LEDGER_FILE（连续性台账），读取上一章的结构化条目 | 承接上一章余波与钩子 |
| 0.4 | 验证 CHAPTER_FILE 路径，若所在目录不存在则创建 | 目录就绪 |
| 0.5 | 根据 CHAPTER_FILE 推导全部工件路径（见 references/章节路径推导与工件命名.md）：CONTROL_CARD_FILE、REVIEW_REPORT_FILE、DESAI_REPORT_FILE、READER_NOTE_FILE、BOOK_REVIEW_FILE、CONTINUITY_LEDGER_FILE | 工件路径表 |
| 0.6 | **路径合规校验**：逐项校验派生路径的根目录归属 | 校验通过方可继续 |
| 0.7 | 创建所需目录：写作控制卡/、审阅意见/、去AI化报告/（含卷子目录，与 DESAI_REPORT_FILE 路径一致）、阅读笔记/、书评/、SOP执行日志/撰写章节/连续章台账/ | 目录就绪 |
| 0.8 | 初始化 SOP 执行日志（见 references/章节批量模式与连续性日志.md） | 日志写入 |

**完成标记：** checkpoint.nextStep = 1，写入日志。

---

### 步骤 1：生成章节控制卡

**调用 skill（强制加载，不得跳过）：** `通用-生成章节控制卡`（及对应的题材包装层）。必须通过 `skill()` 工具加载对应 Skill，逐字执行其 SKILL.md 指令。

**扮演角色：** 规划者 / 写前施工员角色。从大纲控制卡视角拆解本章任务，不代入作者写作情绪，以结构规划为主。

**职责：** 将卷纲/章纲压缩成可执行的本章施工命令，明确本章唯一职责、场景拆分、中段回报预埋、章末钩子预埋与上游供血对齐。

1. 加载通用-生成章节控制卡（若存在题材包装层，先加载题材层再路由到通用层）
2. 控制卡必须回答：本章核心任务、场景单元拆分、中段回报类型与触发条件、章末钩子类型与下一章接棒对象
3. 控制卡必须标注：本章对主卖点的关系（强化/兑现/转化/保温/铺垫）
4. 控制卡落盘到 CONTROL_CARD_FILE（路径必须以写作控制卡/开头）

**文件写入：** 控制卡 → 覆盖写入 CONTROL_CARD_FILE

**完成标记：** checkpoint.nextStep = 2，写入日志。

### 步骤 1.5：写前连续性检查

**调用 skill（强制加载，不得跳过）：** `通用-管理连续性冷热线`（及对应的题材包装层）。必须通过 `skill()` 工具加载对应 Skill，逐字执行其 SKILL.md 指令。

**扮演角色：** 规划者视角。在写完控制卡后、正式创作前，检查哪些旧线该在这章回归、哪些线快冷了、本章承接的上一章钩子是否清楚。

**职责：** 检查连续性冷热线状态，确认本章需要回应的旧线、伏笔与关系状态。

1. 加载通用-管理连续性冷热线（及对应的题材包装层）
2. 读取 CONTINUITY_LEDGER_FILE（若存在），检查人物动态状态、悬念/伏笔状态、回归压力与未回收钩子
3. 输出连续性诊断结论：热线/温线/冷线/归档线分类，以及本章必须触碰的对象
4. 若诊断发现关键冷线已连续多章失温，优先在控制卡中追加回归安排

**完成标记：** 诊断结果写入日志。

---


### 步骤 2：撰写章节初稿 → 字数检测 → 循环扩写（强制闭环）

**调用 skill（强制加载，不得跳过）：** `通用-创建小说正文`（及对应的题材包装层）；脚本 `scripts/count-chapter.ps1`。必须通过 `skill()` 工具加载 `通用-创建小说正文` 的 SKILL.md，逐字执行其指令；脚本仅用于字数检测，不替代 skill 加载。

**扮演角色：** 小说作者角色。参考 `.github/agents/小说作者.agent.md` 的创作视角，代入项目对应题材的作者立场。创作阶段全情投入写作，字数检测阶段短暂切出执行脚本。

**职责：** 依据控制卡与章纲，创作章节正文初稿并确保达到字数门槛。**本步骤的结束条件只有一个：`MeetsMinCJK == true`。**

| 阶段 | 动作 |
|---|---|
| 2.1 | 加载通用-创建小说正文（及题材包装层），代入作者角色 |
| 2.2 | 依据控制卡 + 大纲 + 人物传记 + 故事设定，创作完整章节正文（含章引语、正文、章末钩子、## 作者有话说、## 章节后记） |
| 2.3 | 完整正文**覆盖写入** CHAPTER_FILE |

**【强制门禁：字数检测闸口】**
在完成 2.3 后、进入任何其他步骤前，必须先执行以下检测序列。检测结果决定**是否允许离开本步骤**：

| 顺序 | 动作 | 判定 |
|---|---|---|
| 2.4 | 运行 `scripts/count-chapter.ps1 -FilePath "CHAPTER_FILE"`，读取 JSON 输出中的 `BodyCJK / MeetsMinCJK / WithinRange`。**正文字数检测必须使用 count-chapter.ps1，不得用 Len、NoWhitespaceLen、编辑器字符数或目测代替；正文门禁只看 BodyCJK/MeetsMinCJK/WithinRange** | — |
| 2.5 | **强制判断**：`MeetsMinCJK == true`？ | ✅ → 允许离开本步骤（进 2.6）<br>❌ → **必须**回到 2.1（扩写模式），重写正文/作者有话说后覆盖写入，再回到 2.4 重新检测 |
| 2.6 | **扩写循环上限**：同一 CHAPTER_FILE 连续扩写最多 8 轮。8 轮后 MeetsMinCJK 仍为 false → 暂停本步骤，在日志中记录 `blocked_word_count_insufficient`，输出需要人工介入的说明，不得强行进入步骤 3 | — |

**扩写循环期间**：每轮扩写必须调用 `通用-创建小说正文（扩写模式）` 增加实际内容（新增场景/对话/描写/回报），**禁止用空行、重复句、标点填充等凑字数手段**。每轮扩写后必须重新执行 2.4 检测。

字数检测通过后，继续执行以下补检：

| 阶段 | 动作 |
|---|---|
| 2.7 | **节拍门禁**：执行四拍复核（前200字钩子、中段回报、后200字钩子、连续内倾段检查），见 references/步骤2正文四拍与钩子轮换门禁.md |
| 2.8 | **初稿后补检包**：①基础复检4项（重跑 count-chapter.ps1 字数门禁——仍以最新 MeetsMinCJK/WithinRange 为准；若含 `## 作者有话说` 则重跑 `count-afterword.ps1`；扫读是否混入"初稿+二稿"拼接式内容；同步刷新审阅链）；②章节自指检查（清除"这几章/前几章/上一章/本章/后文会"等连载导览腔）；③## 章节后记同步（刷新定位/爽点/伏笔回收/人物发展等字段） |

**【强制完成前提】**
本步骤的完成标记只在满足以下全部条件时写入：
- `count-chapter.ps1` 已执行，`MeetsMinCJK == true`
- 扩写循环未超过 8 轮上限（或已记录 `blocked_word_count_insufficient`）
- 四拍复核与补检包已执行

**文件写入：** 每轮扩写后覆盖写入 CHAPTER_FILE

**完成标记：** checkpoint.nextStep = 3，字数统计与四拍字段写入日志。

---

### 步骤 3：正文润色（组合调用）

**调用 skill（强制加载，不得跳过）：** `通用-正文润色`（及对应的题材包装层）；按需调用 `通用-强化章节开头`、`通用-强化章末钩子`、`通用-执行场景单元`、`通用-执行对话冲突`、`通用-执行微空间受限场景`。主体 Skill 必须通过 `skill()` 工具加载；按需调用的专项 Skill 若诊断后确认需要调用，也必须通过 `skill()` 工具加载，不得凭经验直接改写。若诊断后确认不需要调用，在日志中记录 `diagnosed_no_need_{skillName}`。

**扮演角色：** 小说作者角色（润色视角）。继续沿用 `.github/agents/小说作者.agent.md` 的作者立场，但切换为"精修者"模式——不是重写，而是打磨已有文本。诊断发虚维度时短暂切出为编辑视角，决定是否调用专项 Skill。

**职责：** 对已达字数门槛的章节进行整体文风、节奏、语言质感上的精修，并对局部短板做专项强化。

| 阶段 | 动作 |
|---|---|
| 3.1 | 加载通用-正文润色（及题材包装层），代入作者角色 |
| 3.2 | 读取当前 CHAPTER_FILE 全文，执行整章润色：语言流畅度优化、节奏与张力调整、人物描写与情感描写的细致打磨、证据链/动机链/时间线自洽 |
| 3.3 | 润色结果**覆盖写入** CHAPTER_FILE |
| 3.4 | **专项强化**：逐项诊断并决定是否调用专项 Skill |

**专项强化诊断与调用**（按需执行，不强制全部调用）：

| 诊断问题 | 调用 Skill | 处理范围 |
|---|---|---|
| 章首前 150–300 字抓力不足、首屏留存弱 | 通用-强化章节开头（及题材包装层） | 前 2–3 段，仅局部强化 |
| 章末后 150–300 字翻页感不足、下一章驱动弱 | 通用-强化章末钩子（及题材包装层） | 最后 200 字，仅局部强化 |
| 场景职责发虚、动作链推进弱、证据入场不到位 | 通用-执行场景单元（及题材包装层） | 对应发虚场景 |
| 对话冲突不成立、轮流发言式对白、潜台词缺失 | 通用-执行对话冲突（及对应的题材包装层） | 对应对话段 |
| 场景在微空间/受限空间需专项加压 | 通用-执行微空间受限场景（须先加载通用-执行场景单元）（及对应的题材包装层） | 对应微空间场景 |

3.5 每次专项强化后，覆盖写入 CHAPTER_FILE

**文件写入：** 润色/强化结果覆盖写入 CHAPTER_FILE

**完成标记：** checkpoint.nextStep = 4，记录本轮调用的专项 Skill 清单。

---

### 步骤 4：去 AI 味重写

**调用 skill（强制加载，不得跳过）：** `通用-去AI味重写`（及对应的题材包装层）。必须通过 `skill()` 工具加载对应 Skill，逐字执行其 SKILL.md 指令（含其第十一步强制归档要求与 `references/去AI化报告模板.md`）。

**扮演角色：** 小说作者角色（主编式去味视角）。继续沿用 `.github/agents/小说作者.agent.md` 的作者立场，但切换为"去味编辑"模式——先诊断病灶、再定手术强度、最后保信息执行。不在去味过程中切换为审阅者或读者。

**职责：** 在不改变剧情和人物设定的前提下，消除明显的 AI 文风、模板化表达和机械痕迹，**并强制产出本章去AI化报告**。

1. 加载通用-去AI味重写（及题材包装层），代入作者角色
2. 读取当前 CHAPTER_FILE 全文
3. 先去 AI 味深度诊断（模板腔、解释腔、均匀句群、感官均匀轰炸、比喻公式套娃、节奏全程匀速等结构指纹）
4. 再按三档手术强度（轻度/中度/重度）执行去味重写
5. **保真要求**：去味后必须保住信息量、结构职责、人物声口差异、章首抓力、中段回报、章末钩子
6. 去味结果**覆盖写入** CHAPTER_FILE
7. 按 `通用-去AI味重写` 第十一步的强制归档要求，根据 `references/去AI化报告模板.md` 生成当章去AI化报告，**覆盖写入 DESAI_REPORT_FILE**（路径必须为 `去AI化报告/` 开头；每一章一个文件；同章同日再次执行去味时覆盖并在防敷衍声明中注明"第N版/重做版"）
8. 记录本轮手术强度、主要病灶、DESAI_REPORT_FILE 路径到日志（artifacts 必须包含 DESAI_REPORT_FILE）

**【强制门禁：反装模作样 · 去AI化报告落盘检查】**
步骤 4 宣告完成前，必须逐项验证以下条件，任一不满足即回退重做，不得进入步骤 5：

```
□ 已通过 skill() 实际加载 通用-去AI味重写 并逐字执行（不是"凭已有知识"替代）
□ 去味诊断真实执行：至少识别出本章具体病灶（模板腔/解释腔/均匀句群/长句/公式句等至少 1 类可点名病灶）
□ 手术真实执行：对病灶切实改写并覆盖写回 CHAPTER_FILE，改后正文与改前可 diff
□ 保真核对完成：信息量/声口差异/章首抓力/中段回报/章末钩子没有丢失
□ DESAI_REPORT_FILE 已落盘（路径以 去AI化报告/ 开头），且报告按 去AI化报告模板.md 填写
□ 报告中统计对抗结果为实测（优先 polish_qa.py / 第九步十维度扫描，否则去味前后手动统计），非凭空填写
□ 报告中结构保护核对、工序执行记录、逐页朗读复核（Anti-Cheat）均为本次实际执行结论
□ 报告防敷衍声明中标注了版本号与数据来源
□ artifacts 已记录 DESAI_REPORT_FILE 路径
```

**禁止情形（出现任一即判定步骤 4 未完成，必须重做）：**
- 只改两三个词或只做表面替换，就在聊天回复里声称"已去 AI 味完成"——未产出 DESAI_REPORT_FILE 的，一律不算执行。
- 未实际调用 `通用-去AI味重写`（未通过 skill() 加载），凭"我知道这个 Skill 的内容"直接改写。
- 报告全表填"—"、照抄模板占位符、量化数据凭空填写、朗读复核结论多页雷同无实据。
- 去味后在聊天里给"去味完成"结论，但正文未覆盖写回 CHAPTER_FILE。

**文件写入：** 去味后正文覆盖写入 CHAPTER_FILE；去AI化报告覆盖写入 DESAI_REPORT_FILE

**完成标记：** checkpoint.nextStep = 5，日志记录手术强度、病灶与 DESAI_REPORT_FILE 路径。

---

### 步骤 5：润色作者有话说

**调用 skill（强制加载，不得跳过）：** `通用-润色作者有话说`（及对应的题材包装层）。必须通过 `skill()` 工具加载对应 Skill，逐字执行其 SKILL.md 指令。

**扮演角色：** 小说作者角色（读者向交流视角）。沿用 `.github/agents/小说作者.agent.md` 的作者立场，但切换为"轻声交流"模式——站在作者身份和读者对话，不是写创作笔记也不是继续正文叙事。

**职责：** 将 `## 作者有话说` 修成读者向小剧场：一丢丢创作花絮 + 一点贴着本章余波的情绪共鸣 + 一个开放式轻追问。

1. 加载通用-润色作者有话说
2. 读取当前 CHAPTER_FILE 中的 ## 作者有话说 段落
3. 按读者向小剧场标准润色：
   - 用一个贴着正文的小细节，把读者重新拉回本章余波
   - 保留本章情绪、代价、悬念或刺点，但不剧透
   - 最后留一个开放式轻追问、轻岔口或轻余味
4. 润色后的完整正文（含更新后的作者有话说）**覆盖写入** CHAPTER_FILE

**文件写入：** 更新后的 CHAPTER_FILE

**完成标记：** checkpoint.nextStep = 6，写入日志。

---

### 步骤 6：第一次审阅（强制完整模板）

**调用 skill（强制加载，不得跳过）：** `通用-审阅章节正文`（及对应的题材包装层）。必须通过 `skill()` 工具加载对应 Skill，逐字执行其 SKILL.md 指令及 references 中定义的完整审阅模板。

**扮演角色：** 审阅者角色。**必须从作者角色中完全退出**，切换到审阅者立场（参考 `小说审阅者.agent.md`）。审阅期间不得代入作者情绪、不得为正文做辩护式解释、不得以"我当初写的时候是这么想的"为由降低审阅标准。

**职责：** 以审阅者视角，对当前章节进行全面审阅，输出独立的审阅报告。

**硬性规则（违反任一即视为流程违规）：**
- 步骤 6→7→8→9→10 的首轮闭环必须无条件完整执行，**不得**根据任何综合评分决定跳过。
- 综合评分在步骤 6 里只允许"记录"，不允许"据此跳过后续步骤"。
- **审阅报告必须使用《通用-审阅章节正文》SKILL.md 中定义的完整报告模板**，不得写简版报告。简版报告的判断标准：缺少章首抓力/中段回报/章末钩子/现实落地/规则边界/链路失配/人物执行审计中任一板块即为简版。

**【强制门禁：审阅报告模板完整性检查】**
审阅报告写入后、在宣告本步骤完成前，必须逐项验证以下板块是否均在报告中出现：

```
□ 章首抓力评估
□ 中段回报评估
□ 章末钩子评估
□ 现实落地评估
□ 规则边界评估
□ 链路失配评估
□ 人物执行审计（含声口一致性、心智模型落地、压力反应匹配等）
□ 综合评分：X.X/10
□ 具体修改建议
```

任一板块缺失 → **判定为简版报告**，必须回退到步骤 6.4 重新撰写完整审阅报告，不得带缺失进入步骤 7。

1. 加载通用-审阅章节正文，代入审阅者角色
2. 读取当前 CHAPTER_FILE 全文
3. **审前裁判源复核**：认真仔细阅读本章实际出场人物对应的人物传记 + 故事设定文档
4. 执行全面审阅，严格使用审阅报告完整模板（章首抓力/中段回报/章末钩子/现实落地/规则边界/链路失配/人物执行审计）
5. 报告中必须包含 综合评分：X.X/10（纯数字，允许 1 位小数）
6. 审阅报告**覆盖写入** REVIEW_REPORT_FILE
7. 执行【审阅报告模板完整性检查】，确认无缺失后进入完成标记

**文件写入：** 审阅报告覆盖写入 REVIEW_REPORT_FILE

**完成标记：** checkpoint.nextStep = 7，写入日志。

---

### 步骤 7：根据审阅报告修订正文

**调用 skill（强制加载，不得跳过）：** 按需调用 `通用-正文润色`、`通用-强化章节开头`、`通用-强化章末钩子`、`通用-执行场景单元`、`通用-执行对话冲突`、`通用-执行微空间受限场景`、`通用-去AI味重写`（及对应的题材包装层）。按需调用的专项 Skill 若诊断后确认需要调用，必须通过 `skill()` 工具加载。若诊断后确认不需要调用，在日志中记录 `diagnosed_no_need_{skillName}_reason=xxx`。

**扮演角色：** **切回**小说作者角色（修订模式）。退出审阅者立场，回到 `.github/agents/小说作者.agent.md` 的作者视角。审阅报告是修改依据，不是创作枷锁——修改时以"解决问题"为目标，不是以"回应每一条意见"为目标。

**职责：** 根据第一版审阅报告，对章节做针对性修改与再润色。

**硬性规则：**
- 只要步骤 6 已执行，步骤 7 就必须执行一次，**不得**因为综合评分已达 9.2+ 就跳过。
- 评分高低都不改变本步骤的首轮必执行性质。

1. 代入作者角色
2. 读取当前 CHAPTER_FILE 与第一版 REVIEW_REPORT_FILE
3. 根据审阅报告中的问题与建议，判断问题所属层级：
   - **[骨架层]**：场景职责/唯一职责/结构问题 → 调用通用-执行场景单元（及对应的题材包装层）
   - **[扩展层]**：动作链/证据推进/冲突设计 → 调用通用-执行场景单元 / 通用-执行对话冲突 / 通用-执行微空间受限场景（及对应的题材包装层）
   - **[表达层]**：文笔/节奏/抓力/钩子 → 调用通用-正文润色 / 通用-强化章节开头 / 通用-强化章末钩子 / 通用-去AI味重写（及对应的题材包装层）
4. 针对性地按需调用上述一个或多个 Skill 进行修订
5. 修订后的完整正文**覆盖写入** CHAPTER_FILE
6. **若本轮实际调用了 `通用-去AI味重写` 执行去味改写**：必须同步覆盖更新当章 DESAI_REPORT_FILE（按 `去AI化报告模板.md` 追加本轮手术记录，防敷衍声明中注明"第N版/重做版"），不得只改正文不更报告——正文与去AI化报告的鲜度必须一致

**文件写入：** 修订后正文覆盖写入 CHAPTER_FILE；若调用了去AI味，去AI化报告同步覆盖写入 DESAI_REPORT_FILE

**完成标记：** checkpoint.nextStep = 8，写入日志。

---

### 步骤 8：第二次审阅（强制完整模板 + 差异对比）

**调用 skill（强制加载，不得跳过）：** `通用-审阅章节正文`（及对应的题材包装层）。必须通过 `skill()` 工具加载对应 Skill，逐字执行其 SKILL.md 指令及 references 中定义的完整审阅模板。

**扮演角色：** **切回**审阅者角色。完全退出作者立场，再次代入审阅者视角（参考 `小说审阅者.agent.md`）。本轮不仅检查第一轮问题是否修复，还要重新发现修订引入的新问题。标准不因"已经改过一轮"而降低。

**职责：** 在修订后的章节基础上，进行新一轮全面审阅，直接更新同一审阅报告文件。

**硬性规则（违反即视为流程违规）：**
- 只要步骤 7 已完成，步骤 8 就必须执行一次，**不得**因为"看起来已经够好"而省略。
- **审阅报告必须使用完整报告模板**，不得写简版。至少需要包含步骤 6 规定的所有板块。
- 本轮必须包含"与上一轮审阅的差异对比"（指出哪些问题已解决、哪些部分解决、哪些未解决、哪些是新增问题）。

**【强制门禁：审阅报告模板完整性检查】（同步骤 6）**
写入后、宣告完成前，逐项验证报告是否包含完整模板的所有板块。缺失任一板块 → 判定为简版，回退重写。

1. 加载通用-审阅章节正文，代入审阅者角色
2. 读取修订后的 CHAPTER_FILE 与现有 REVIEW_REPORT_FILE（可选，用于对比）
3. 执行全面审阅，使用完整审阅报告模板
4. 对照上一轮问题给出差异说明（已解决/部分解决/未解决/新增问题）
5. 审阅结果**覆盖写入** REVIEW_REPORT_FILE
6. 执行模板完整性检查，确认无缺失

**文件写入：** 审阅报告覆盖写入 REVIEW_REPORT_FILE

**完成标记：** checkpoint.nextStep = 9，写入日志。

---

### 步骤 9：第二次修订 → 第三次审阅（终审，含问题清单 + 强制模板）

**调用 skill（强制加载，不得跳过）：** 按需调用修订 Skill（同步骤 7——按需调用的专项 Skill 若诊断需要则必须通过 `skill()` 加载）；`通用-审阅章节正文`（及对应的题材包装层）——必须通过 `skill()` 工具加载对应审阅 Skill。

**扮演角色：** **分两段切换**：9.1–9.2 为作者角色（修订模式），退出审阅者立场，回到 `.github/agents/小说作者.agent.md` 的作者视角；9.3–9.7 为审阅者角色（终审模式），完全退出作者立场，代入 `小说审阅者.agent.md` 的审阅者视角。

**职责：** 根据第二版审阅报告进行第二轮修订，再进行终审，形成带问题解决情况标记的终审版报告。

**硬性规则（违反即视为流程违规）：**
- 只要步骤 8 已完成，步骤 9 就必须执行一次。
- 步骤 9 完成前，不得根据评分决定"提前结束审阅链"。
- **终审报告必须使用完整报告模板**，不得写简版。必须包含步骤 6 规定的所有板块 + 「问题清单（对比前两轮）」小节。

| 阶段 | 动作 |
|---|---|
| 9.1 | 按需调用修订 Skill（同步骤 7，含"若调用去AI味则同步更新当章 DESAI_REPORT_FILE"规则），重点处理仍未解决的高优先级问题与顽固问题 |
| 9.2 | 修订后正文**覆盖写入** CHAPTER_FILE |
| 9.3 | 加载通用-审阅章节正文，代入审阅者角色 |
| 9.4 | 读取当前 CHAPTER_FILE 与既有 REVIEW_REPORT_FILE |
| 9.5 | 执行全面终审，使用完整审阅报告模板，必须包含 综合评分：X.X/10 |
| 9.6 | 在完整模板后追加「问题清单（对比前两轮）」小节，逐条标记处理状态（已解决/部分解决/未解决/新增） |
| 9.7 | 终审报告**覆盖写入** REVIEW_REPORT_FILE |
| 9.8 | **【强制门禁：模板完整性检查】** 逐项验证报告是否包含完整模板所有板块 + 问题清单小节。缺失任一 → 判定为简版，回退到 9.5 重写 |

**文件写入：** 修订后正文覆盖写入 CHAPTER_FILE；终审报告覆盖写入 REVIEW_REPORT_FILE

**完成标记：** checkpoint.nextStep = 10，写入日志。

---

### 步骤 10：质量门槛检查与回炉循环（强制 IF/THEN 闸口）

**调用 skill：** 无（编排器自执行，回炉时回到步骤 9.1–9.7 循环）

**扮演角色：** 编排器 / 质检员角色。不代入任何创作或审阅视角，只做评分提取、数字比较与循环调度决策。不因"感觉已经不错了"而放宽标准。

**职责：** 检查 REVIEW_REPORT_FILE 中的双轴评分，执行双轴前置过滤 + 综合评分 IF/THEN 分流。**本步骤的唯一职责是：提取双轴评分 → 执行双轴前置过滤 → 执行下列 IF/THEN 规则 → 根据结果分流，不得擅自改变分流目标。**

**【前置过滤：双轴各达标检查】**
从审阅报告中提取技法分与留存分：

```text
技法分 = X.X/10（从审阅报告中的"技法分：X.X/10"提取）
留存分 = X.X/10（从审阅报告中的"留存分：X.X/10"提取）
```

前置过滤规则：
```
IF 技法分 < 6.0 或 留存分 < 5.0：
   → 标记为"双轴前置过滤未通过（技法=XXX/留存=XXX）"
   → 强制回到步骤 9.1（修订），不检查综合评分
   → 修订路径分流：技法问题→回润色/去AI味；留存问题→回控制卡/创作
   → 修订后重新执行 9.3→9.5

IF 技法分 ≥ 6.0 且 留存分 ≥ 5.0：
   → 标记为"双轴前置过滤通过"
   → 进入综合评分 IF/THEN 分流
```

**【强制 IF/THEN 闸口规则（前置过滤通过后执行）】**
```
IF 综合评分 <= 9.2：
   → 你 MUST 回到步骤 9.1（修订），不得进入步骤 11
   → 修订后必须重新执行 9.3→9.5（完整独立复审）
   → 循环最多 3 轮

IF 综合评分 > 9.2 且这是该章节 首次 过线：
   → 标记为"首次过线，进入稳定性验证轮"
   → 你 MUST 回到步骤 9.1（修订），不得进入步骤 11
   → 修订后必须重新执行 9.3→9.5（对修订版完整独立复审，而非仅复查旧问题）

IF 综合评分 > 9.2 且这是该章节 连续第二轮 过线：
   → 允许进入步骤 11
```

**硬性规则（违反即为流程违规）：**
- **只有步骤 10** 允许根据综合评分决定后续动作。
- **双轴前置过滤优先于综合评分检查**——技法分 < 6.0 或留存分 < 5.0 时，不检查综合评分，直接进入修订。
- 评审报告必须包含双轴评分字段，否则视为审阅未完成。
- 评分 8.8/8.9/9.0/9.1/9.2 一律视为未达标（必须**严格大于** 9.2）。
- "连续两轮"中的第二轮复审必须是**对当前修订版本的一次完整、从严、独立的重新审阅**，既要检查上一轮问题是否已实质性修复，也要重新发现本轮新增问题；不得以"与上一轮相比有进步"替代独立评分标准。
- 回炉循环默认最多执行 8 轮。超过 8 轮仍未达标 → 暂停并记录 `blocked_review_plateau`，输出需要人工介入的说明。
- 高原期判定需要**连续两对评分差距均 < 0.15**：若第 N 轮评分与第 N-1 轮差距 < 0.15，不得直接截停——**必须再执行一轮"精修 + 独立复审"**得第 N+1 轮评分。仅当 |Score(N)−Score(N-1)| < 0.15 **且** |Score(N+1)−Score(N)| < 0.15 同时成立时，才判定进入高原期，强制截停。若复审差距 ≥ 0.15，高原期不成立，继续正常回炉循环。
- 第 8 轮评分若反而低于第 7 轮 → 强制截停。

**【强制完成前提】**
本步骤的完成标记只在满足以下全部条件时写入：
- 已从 REVIEW_REPORT_FILE 中提取技法分 X.X、留存分 X.X
- 已执行双轴前置过滤
- 已根据上述 IF/THEN 规则执行正确的分流动作
- 若进入回炉循环，已在日志中记录 iteration 与评分

**文件写入：** 循环中的写入由步骤 9.1（CHAPTER_FILE）和步骤 9.3（REVIEW_REPORT_FILE）完成

**完成标记：** checkpoint.nextStep = 11，每轮回炉的 iteration 与评分写入日志。

---

### 步骤 11：更新连续性台账 + 读者阅读笔记

**调用 skill（强制加载，不得跳过）：** `通用-管理连续性冷热线`（及对应的题材包装层）（写后更新）——必须通过 `skill()` 工具加载对应 Skill；读者角色自执行——日记阅读笔记按读者角色模板执行。

**扮演角色：** **分两段切换**：
- 11.1–11.3：作者角色（归档视角）。退出审阅者立场，回到 `.github/agents/小说作者.agent.md` 的作者视角，以知情人身份更新连续性台账。
- 11.4–11.6：**读者角色**。必须完全清空作者/审阅者身份，切换到普通读者视角（参考 `小说读者.agent.md`）。阅读时禁止带入任何创作意图、审阅标准或大纲知识；只记录一个真实读者的阅读感受与情绪曲线。**禁止阅读 ## 作者有话说 和 ## 章节后记 的内容。**

**职责：** 写后更新连续性动态状态，再以读者视角完整阅读章节并生成阅读笔记。

| 阶段 | 动作 |
|---|---|
| 11.1 | 加载通用-管理连续性冷热线，执行写后更新：人物动态状态、悬念/伏笔状态、回归压力、关键证据、未回收钩子 |
| 11.2 | 若定稿章节与旧资料冲突，以定稿章节为准更新，并在日志中写明修正原因 |
| 11.3 | 只记已发生事实，不预测未来章节 |
| 11.4 | 切换到读者角色，完整阅读最终版 CHAPTER_FILE |
| 11.5 | 生成阅读笔记，严格按阅读笔记模板输出完整版（必须包含模板中的所有板块与标题） |
| 11.6 | 阅读笔记**覆盖写入** READER_NOTE_FILE |

**文件写入：** 连续性台账追加条目；阅读笔记覆盖写入 READER_NOTE_FILE

**完成标记：** checkpoint.nextStep = 12，工件路径写入日志 artifacts。

---

### 步骤 12：撰写分章书评

**调用 skill（强制加载，不得跳过）：** `通用-撰写书评`。必须通过 `skill()` 工具加载对应 Skill，逐字执行其 SKILL.md 指令。

**扮演角色：** 安利者 / 推荐官角色。既不是作者（不评价自己写得多好），也不是审阅者（不打分），也不是普通读者（不只是记录感受）——而是站在"读过且想推荐给别人"的立场，提炼可公开卖点与阅读承诺。不剧透、不写创作说明。

**职责：** 为最终版章节生成独立的分章书评文件。

1. 加载通用-撰写书评
2. 书评类型：分章；对应范围标题：使用<章节文件名去扩展名>
3. 抽取可公开的卖点、阅读承诺、情绪曲线与适读人群，禁止复述完整因果链
4. 书评必须严格按书评模板输出完整版（含书评标题、正文与 # 短评 小节）
5. 书评**覆盖写入** BOOK_REVIEW_FILE

**文件写入：** 分章书评覆盖写入 BOOK_REVIEW_FILE

**完成标记：** checkpoint.nextStep = 13，工件路径写入日志 artifacts。

---

### 步骤 12.5：作者产出反馈捕获（嵌入 S1 触点，可跳过）

**调用 skill：** 通用-作者风格进化（嵌入模式）

若项目注册了 作者风格进化 数据源：向作者出示本章完成简报（综合评分 + 终审结论 + 作者有话说草稿），用四段式问 ≤1 问："这章哪个点你觉得写对了 / 写歪了？为什么？"（创作判断校准槽）。

- 作者回答的自由输入 → 按 L2 模板归档样本库（备注 `嵌入模式·章节创作闭环`）+ 立场直接回填画像对应层
- 纯选项回答仅取观点，不产生风格样本
- 未注册数据源：跳过，不阻断，不追问

### 步骤 13：任务完成摘要输出

**调用 skill：** 无（编排器自执行）

**扮演角色：** 编排器 / 项目经理角色。不代入任何创作、审阅或读者视角，只做数据汇总、一致性核对与摘要格式化输出。

**职责：** 在流水线结束时，用标准化模板汇报本次任务是否完成、生成了哪些成果文件、以及关键约束是否满足。

**硬性规则：**
- **唯一收尾闸门**：只有在本步骤，才允许使用"任务完成摘要""本 SOP 完成""批次完成"等收尾表述。
- **严禁输出任何章节正文内容**（含摘抄、长引用、段落复述）；只能输出检查结果与数字/路径。
- 输出前必须逐项核对：正文文件、终审报告、去AI化报告、阅读笔记、书评、字数统计、评分、日志状态，确保一致。

**输出模板（单章）：**

```text
任务完成摘要：
- 终稿正文：{CHAPTER_FILE}
- 终审报告：{REVIEW_REPORT_FILE}（综合评分：{X}/10；门槛9.2+：{达标/未达标}）
- 阅读笔记：{READER_NOTE_FILE}
- 分章书评：{BOOK_REVIEW_FILE}
- 去AI化报告：{DESAI_REPORT_FILE}（{已落盘并实测达标/缺失或敷衍}）

步骤执行合规自检：
- 所有声明"调用 skill"的步骤均已通过 `skill()` 工具加载对应 Skill：{是/否}
- 无擅自跳过步骤：{是/否}
- 如存在跳过记录，原因与依据：{xxxx}
- 按需调用的专项 Skill 已全部在日志中记录决策：{是/否}
- 去AI化报告已按第十一步落盘且非敷衍（非全表"—"/占位符/凭空填数）：{是/否}
- 装模作样检查：本会话所有"已完成"表述均有工件文件+日志佐证：{是/否}

终稿约束自检：
- 字数：{是/否}（Len={Len}；CJK={CJK}；BodyCJK={BodyCJK}；MeetsMinCJK={MeetsMinCJK}；WithinRange={WithinRange}；统计来源=scripts/count-chapter.ps1）

关键硬约束自检（仅结论）：
- 信息不丢失：{是/否，覆盖概况：事件链/目标代价/关系变化/设定/伏笔/章末钩子}
- 与大纲/设定一致性：{是/否，如有冲突点名冲突文件与冲突点类别}

需要进一步操作（如有）：{列出1-3条最重要的下一步}
```

**批量模板见 references/章节终审门槛与摘要规范.md。**

**文件写入：** 日志 status = completed，最终 checkpoint 写入。

## 批量模式（强制：逐章完整闭环）

### 核心原则

**批量模式 ≠ 降低标准。** 批量模式允许按相位流水线编排以提高上下文复用效率，但每章必须独立完整执行步骤 0→13 的**所有子步骤**，不得减少、跳过或合并任一单章环节。

批量模式的唯一目的是减少重复的上下文加载和环境检查开销，而不是压缩或简化每章本应执行的工作量。

### 相位流水线的硬约束

以下规则同时成立，违反任一即构成流程违规：

1. **允许相位流水线**：可按"批量初始化→批量创作与补字→批量精修与去AI味→批量审阅与回炉→批量读者产物→批量摘要"的顺序分相位推进，以提高上下文复用效率。
2. **禁止跨相位跳步**：任一章节在未完成当前相位全部子步骤之前，不得提前进入下一相位。
3. **每章每步独立执行**：相位内每章必须独立执行该相位的全部子步骤。例如"批量审阅与回炉"相位中，每章必须独立加载 `通用-审阅章节正文`、独立使用完整报告模板、独立执行评分闸口循环。
4. **禁止共享审阅**：不得用一份审阅报告覆盖多章；每章必须独立审阅、独立使用完整报告模板。
5. **禁止批量回炉**：每章的修订→复审循环独立运行，不得把多章打包回炉。某一章的回炉不得影响其他已达标章节的完成状态。
6. **门禁逐章独立**：字数检测、评分闸口、报告模板完整性检查，每章必须逐章独立执行，不得以"同批其他章已通过"为由放行本章。
7. **完成状态隔离**：同一批次中某一章失败，不得污染或连带影响其他章节的完成状态。

### 正确做法

| 相位 | 动作范围 | 逐章完整性约束 |
|---|---|---|
| 相位 1：初始化 | 一次性对所有批次的章节执行路径推导、目录创建、环境检查 | 每章的步骤 0.0–0.8 必须逐章完成，不得因批量初始化跳过任一章节的裁判源复核（0.2）或路径校验（0.6） |
| 相位 2：创作与补字 | 逐章执行步骤 1→1.5→2 | 每章独立生成控制卡、独立做写前连续性检查、独立创作正文并逐章独立执行字数检测→扩写循环 |
| 相位 3：精修与去AI味 | 逐章执行步骤 3→4→5 | 每章独立加载通用-正文润色、通用-去AI味重写、通用-润色作者有话说，覆盖写入各自 CHAPTER_FILE；去味后逐章独立按 `通用-去AI味重写` 第十一步落盘当章去AI化报告（DESAI_REPORT_FILE），不得用一份报告覆盖多章 |
| 相位 4：审阅与回炉 | 逐章执行步骤 6→7→8→9→10 | 每章独立加载通用-审阅章节正文、独立使用完整报告模板、独立执行双轴前置过滤与综合评分 IF/THEN 循环 |
| 相位 5：读者产物 | 逐章执行步骤 11→12 | 每章独立更新连续性台账、独立阅读并写阅读笔记、独立撰写分章书评 |
| 相位 6：摘要 | 最后一章完成后输出批量总览摘要 | 每章独立完成步骤 13 的单章摘要字段，最后汇总为批次摘要 |

### 批量独有的允许优化

- **步骤 0（初始化）** 可一次性对所有批次的章节执行路径推导，降低重复读取环境的时间，但每章的步骤 0.2（裁判源复核）和 0.6（路径合规校验）仍须逐章独立执行。
- **连续性台账** 可在批次的章与章之间传递，确保热线承接，但每章的台账更新（步骤 11.1–11.3）仍须独立执行。
- **步骤 13（摘要）** 在最后一章完成后，追加一份批量总览摘要（模板见 references/章节终审门槛与摘要规范.md），但每章的单章摘要字段必须先独立完成。

### 批量执行纪律

- 必须先完成第 N 章在当前相位的全部子步骤，才能推进第 N+1 章在当前相位的执行；但第 N+1 章不得提前进入下一相位。
- 不得因为"上一章已经读过人物传记"而跳过下一章的步骤 0.2（裁判源复核）或步骤 6.3（审前裁判源复核）。
- 不得因为"上一章审阅报告已经写得很详细"而降低下一章审阅报告的模板完整性。
- 每一章的字数检测、评分闸口、报告模板检查都是独立的，互不影响。
- 不得以"同批其他章已达标""相位已到审阅阶段"为由跳过某章的任一子步骤。

详细规则见 references/章节批量模式与连续性日志.md。

## SOP 执行日志

每次执行本 Skill，都必须在 SOP执行日志/撰写章节/ 中创建或更新一份日志文件，用于断点恢复。

详细日志结构与更新时机见 references/章节批量模式与连续性日志.md。

## 完成定义

### 单章完成

只有同时满足以下全部条件，才允许宣告完成：

1. 步骤 0–12 已在本次执行中实际跑完，而不是依赖历史文件推断。
2. CHAPTER_FILE 已完成创作/补字/润色/去AI味/多轮回炉修订。
3. CONTROL_CARD_FILE 已落盘在写作控制卡/ 目录下。
4. REVIEW_REPORT_FILE 已被本次最新终审覆盖更新，且包含综合评分：X.X/10。
5. 连续两轮独立终审综合评分均严格大于 9.2。
6. 最新字数脚本结果已在正文最新版本上重新核对。
7. READER_NOTE_FILE 与 BOOK_REVIEW_FILE 已在本次执行中生成或覆盖更新。
8. DESAI_REPORT_FILE 已在本次执行中按 `通用-去AI味重写` 第十一步落盘（路径以 去AI化报告/ 开头），且与最新正文同步——正文每经一次去味改写（步骤 4 / 7 / 9.1），报告必须同步覆盖更新并注明版本；报告为敷衍产物或数据未实测的，本条视为不满足。
9. 日志中的 status 与 checkpoint 已与真实状态一致。
10. 当前聊天输出的是步骤 13 的摘要模板，而不是阶段汇报。

### 批量完成

见 references/章节终审门槛与摘要规范.md 中的聚合门禁定义。

## 常见触发词 / 用户说法速查

- 按 SOP 把这章跑完
- 从大纲一路做到终稿
- 这几章都按闭环来做
- 一直回炉到 9.2+
- 批量跑这几章
- 带日志续跑下去别停

## 不适用情形

- 只写一章正文，不跑后续审阅与读者产物：优先使用通用-创建小说正文
- 只做审阅报告，不改稿：优先使用通用-审阅章节正文
- 只做某一步专项强化：优先使用对应专项 Skill




