Novel chapter sop
Skill GonsonInter/novel-writer-workflow/skills/novel-chapter-sop
Claude Code skills for novel writing: two-phase workflow with six composable sub-skills covering ideation, framework, chapter SOP, consistency guards, and finalization
npx -y skills add GonsonInter/novel-writer-workflow --skill novel-chapter-sopAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use during Phase 2 novel writing when user is drafting a chapter or scene - scene-level 8-step workflow requiring at least two rounds of independent agent review until no P0/P1 remains
SKILL.md
12.7 KB, ~4.9k tokens by cl100k_base, as published. Nobody here has run it
场景/单章写作 SOP(Phase 2 · 写作中)
核心原则(最严格版)
以"场景"为单位走 SOP,不是以"章"为单位。
一个章可能包含 1-4 个场景。每个场景必须:
- 写完后独立走一次 SOP
- 至少两轮独立 agent review
- 改到没有 P0 / P1 为止(只剩 P2 才算收)
为什么是"场景"而不是"章":
- 一章可能跨多个场景(比如"前铺对话"→"后堂布置"→"走到内堂见人"三个场景)
- 每个场景有独立的时间地点人物状态,bug 也按场景分布
- 场景级 review 能更早 catch 问题,修改成本低得多
激活条件
由 novel-writer-workflow-guide 路由激活,当用户:
- 说"开始写 Ch X" / "继续写下一章" / "这一章怎么写"
- 说"改一下 Ch X" / "Review 一遍" / "agent 再审一次"
- 已经在写作期,提交新章节稿 / 新场景稿
可用的 review agent(本地)
首选:general-purpose agent(Agent 工具默认选项)
- 最通用,可以按三个 prompt 模板塑造成逻辑审 / 风格审 / 终审三种角色
- 每次派一个新 agent 实例,互不串场
- 并行派两个做第一轮(逻辑审 + 风格审),串行派一个做第二轮终审
补充:
Exploreagent:适合"读全书找某条线索是否连贯"这种横向扫描(不是每轮都用,跨章一致性检查时用)- 外部 codex(如果用户机器上有):最强的"独立视角"来源,做最后终审最稳
superpowers:code-reviewer、agent-friendly-review:不适合 novel,跳过
派 agent 的硬规则:
- 第一轮的两个 agent 必须是两个独立实例(两次 Agent 调用,不是同一个 agent 看两遍)
- 第二轮的终审 agent 必须是全新实例(不能让第一轮的 agent 继续看)
- 每次派 agent 时,prompt 里明确说"带这些文件读、按这个模板报告",不要让 agent 自由发挥
- 如果用户本地有 codex 或其他外部 review 工具,第二轮优先用外部(独立视角)
核心流程:场景/单章 8 步 SOP
单位是场景(Scene),不是章(Chapter)。每写完一个场景就走一次 SOP。
一个章可能包含 1-4 个场景,比如:
- 场景 A:前铺对话(15 分钟)
- 场景 B:后堂布置物件(10 分钟)
- 场景 C:走到内堂见女主(20 分钟)
每个场景独立走 SOP。收齐 3 个场景之后,再做一次整章级 review(确认场景间衔接)。
跳任何一步都会在后期翻倍成 bug。
步骤 1:读前 1-2 个场景正文
保持语感、细节、人物状态的连续。这步最容易偷懒省掉、但最致命。
- 用 Read 读前 2-3 章的完整正文(不只是钩子)
- 标记本章开始时人物状态(谁在哪、身上带什么、伤情恢复到什么程度)
- 对齐本章时间点(前一章结束在 X 日 Y 时,本章开始应该衔接)
步骤 2:按钩子 plan 写正文
- 从
大纲.md和钩子与反转.md读本章的核心事件 + 章末钩子 - Plan 是路线,写的时候允许小偏
- 严格遵守
宪法.md的硬约束
步骤 3:写完立即 self-review(机械项)
跑脚本扫描以下项,不靠人工数:
import re
t = open('chapter.md').read()
parts = t.split('\n\n', 2)
body = parts[-1] if len(parts) >= 3 else t
checks = [
('字数', len(re.sub(r'\s','',body))),
('破折号', body.count('——')),
('markdown bold', t.count('**')),
('ASCII 双引号', t.count('"')),
('ASCII 单引号', t.count("'")),
('全角引号配对', t.count('"') == t.count('"')),
('禁用姓氏(如林淮)', t.count('林淮')),
('meta Ch N 引用', bool(re.search(r'Ch\s*\d+', t))),
]
对照 宪法.md 的硬约束锁清单(由 novel-consistency-guards 提供),所有违规必改。
步骤 4:按 self-review 结果自己先修一轮
不要跳这一步。 把机械项和自己能看出的内容问题先改掉。
否则下一步 agent 读的是脏稿,浪费 token,也会让 agent 的注意力被机械项分散。
步骤 5:spawn 并行 agent review(内容项)
这时 agent 读的是你自己修过一轮之后的版本,不是脏稿。
按维度分派两个 agent 并行跑:
Agent 1 · 逻辑审
维度:时间线、道具链、人物状态、跨章冲突、能力越界
prompt 带入:
- 宪法.md 的硬约束清单
- 关键时间锚(上一章结束时间、本章时间)
- 已锁设定(姓氏、能力边界、人物关系)
- 本章正文
- 前 2-3 章的关键细节摘要
Agent 2 · 风格审
维度:句式密度、破折号克制、钩子节奏、对话人物性、全知插话检测
prompt 带入:
- 前几章的风格样本(让它感基线)
- 本章正文
- 宪法.md 的风格原则
两个并行跑。取两份报告的交集(两个都报的多半是真 bug)和并集(各自报的看权重)。
步骤 6:按 P0 / P1 分级修(必须改到 0 P0、0 P1)
P0(必修):硬约束违反 / 时间矛盾 / 道具错位 / 跨章冲突。读者一眼看穿。 P1(必修):逻辑可以圆但略勉强 / 细节不够稳 / 口径不统一。 P2(可忽略):风格偏好 / 字数倾向 / 单字瑕疵。
新的硬红线:场景收口的唯一标准是 P0 和 P1 全部为 0。只要还有任何 P1,就不算收。
Agent 经常把 P2 报成 P0/P1,要自己判断权重。 判断后如果确认是 P2,可以跳过;但如果是真 P1,必须修。
用 Edit 定点替换,不用 Write 覆盖整章。
步骤 7:再派一个独立 agent 做"终审"——修到无 P0/P1 才算收
这一步是关键。 派 agent 的三条硬规则见开头"可用的 review agent"一节。
- 不要让刚才那个 agent 再审一次(它会顺着自己上一轮的思路看)
- 派全新 agent 实例,带当前修订后的版本
- prompt 明确写:"这是刚做过一轮修订的版本,请从零读一遍,找新引入的问题和第一轮可能漏掉的项"
- 如果本地有 codex 或其他外部 review 工具,第二轮终审优先用外部
经常能 catch 到:
- 修订过程中引入的新 bug(改一个字破坏了前后呼应)
- 第一轮 agent 漏掉的项(第一轮它看到全稿问题多就漏了一些小的)
- 跨段重复(修一处加了一句,正好和前面已有的一句语义重复)
判断标准(严格):
- 如果第二轮 agent 报出任何 P0 或 P1,继续修、继续派新 agent 审,不要停
- 每一轮修订后必须派新 agent(不能同一个 agent 连审两次)
- 直到某一轮新派的 agent 报告只剩 P2 或**"无发现"**,这个场景才算收
- 实战记录:一个场景可能需要 2-5 轮 review 才能收干净,正常,不要图快
轮次记录(可选但推荐):
## 场景 A · Review 记录
- Round 1(逻辑审 general-purpose):报 P0×3、P1×5 → 修
- Round 1(风格审 general-purpose 并行):报 P0×1、P1×2 → 修
- Round 2(终审 general-purpose 新实例):报 P1×2(两处新引入) → 修
- Round 3(终审 general-purpose 新实例):报 P1×1(口径不统一) → 修
- Round 4(终审 codex 外部):无发现 ✓
步骤 8:修完再跑一次机械扫描
防止修订过程中引入新问题:
- 改字时可能手抖加了破折号
- 复制粘贴可能带入 ASCII 引号
- 新段落意外出现 markdown bold
- 修时序时可能引入新的 meta "Ch N"
跑一次步骤 3 的 Python 脚本,全过才算收。
三个 review prompt 模板
模板 1 · 逻辑审(第一轮 agent 1)
你是严格的网络小说责编。检查本章的逻辑、时间线、道具链、跨章连贯性。
**必读**:
- /path/to/chapters/N.md(本章)
- /path/to/chapters/(N-1).md 和 /path/to/chapters/(N-2).md(前两章,核对连贯)
- /path/to/宪法.md(硬约束)
**重点扫描**:
1. 时间线(本章时间是否衔接前一章 / 内部时间跨度是否合理)
2. 道具链(每件关键物件的位置、状态、是否和前章冲突)
3. 人物状态(伤情、位置、对他人的知晓程度)
4. 能力边界(是否越过宪法定义的金手指边界)
5. 跨章冲突(是否和前文锁定的设定冲突)
**硬约束锁**:
- 主角(如"苏淮")始终姓苏
- 无超自然
- 无 meta "Ch N" 引用
- 中文全角引号
- 无 markdown bold
- 破折号每章 ≤ 7
按 P0 / P1 / P2 分级,每条给行号 + 建议改法。400 字内。
不要重述剧情、不要赞美、不要挑风格问题(那是另一个 agent 的事)。
模板 2 · 风格审(第一轮 agent 2)
你是网络小说频道风控编辑。检查本章的风格、句式、节奏、钩子。
**必读**:
- /path/to/chapters/N.md(本章)
- /path/to/chapters/(N-3).md 到 /path/to/chapters/(N-1).md(前三章作风格基线)
**重点扫描**:
1. 句式密度(是否和前几章一致,有没有突然变散文诗或变网文口水)
2. 破折号使用(数一数本章用了几个,超过 7 必修)
3. 钩子节奏(开头 / 中段 / 结尾的钩子强度是否撑起本章)
4. 对话人物性(每个人说话是否符合人物卡)
5. 全知插话检测(有没有"作者口吻"入侵主角视角)
6. 重复用词密集段落
按 P0 / P1 / P2 分级。400 字内。
不要重述剧情,不要挑逻辑问题(那是另一个 agent 的事)。
模板 3 · 终审(第二轮独立 agent)
你是严格的网络小说责编。本章刚做过一轮修订。
**你的任务**:
从零读修订后的版本,专门找:
1. **新引入的问题**——修订过程中可能破坏了哪些原本对的地方
2. **第一轮可能漏掉的项**——上一个 agent 没看到的细节
**必读**:
- /path/to/chapters/N.md(修订后的本章)
- /path/to/宪法.md
**重点扫查**:
- 修订后的段落和未修订的段落之间是否自洽
- 修订是否造成重复表达
- 修订是否破坏了前后呼应
- 所有硬约束项是否仍然满足
- 是否有修订过程中的误操作(多余字、漏字、错别字)
按 P0 / P1 / P2 分级。300 字内。
如果全部通过,明确说"无发现"。
与姐妹 skill 的关系
- 输入来源:
novel-framework的大纲、钩子矩阵、人物卡、世界观novel-ideation的 constitution
- 主动调用:
- 每一步都引用
novel-consistency-guards的硬约束清单和扫描脚本
- 每一步都引用
- 输出交付:
- 写完的单章稿,进入
chapters/目录 - 修订日志(可选),记录两轮 review 发现的问题
- 写完的单章稿,进入
常见陷阱
跳过步骤 1(读前章)
"我记得主角上一章干了什么"——不行。记忆不可靠。必须 Read。漏读一次,本章就可能写出道具位置错位、时间对不上、人物状态不连贯的问题。
跳过步骤 4(自己先修)
"直接让 agent 看吧"——不行。agent 看脏稿会被机械项分散注意力,而且 agent 报告里会大量 P0 其实是你自己都能修的。浪费 token + 浪费时间。
只做一轮 review
"一轮就够了"——不够。修订过程本身会引入新 bug。必须第二轮独立 agent 审修订后的版本。
盲从 agent 报告
"agent 说 P0 那就改"——不行。agent 经常把风格偏好报成 P0。要自己判断。改前问自己:这是真 bug 还是风格选择?
修订用 Write 整章覆盖
"反正要改很多,覆盖省事"——危险。整章覆盖容易误伤未修订段落(copy-paste 时漏、格式变化、破折号意外增减)。用 Edit 定点替换。
完成标准(这个场景可以收)
硬性条件(全部满足才算收):
- 机械扫描全部通过(字数/破折号/引号/markdown/姓氏/meta 都过)
- 最后一轮独立 agent review 报告 0 P0 + 0 P1
- 最后一轮 agent 必须是新实例(不是修订前看过的那个)
- review 轮次记录齐全(至少 2 轮,必要时 3-5 轮)
软性条件(偏离要有明确理由):
- 字数在目标范围内
- 本场景钩子强度达到预期
如果场景分多个:
- 每个场景独立走 SOP 收到 0 P0/P1
- 整章场景都收齐后,再做一次章级 review,重点查场景间衔接(时间、人物状态、道具位置)
- 章级 review 也要 0 P0/P1 才算整章收
下一章 / 切换到收口
- 写下一章:重新走这 8 步
- 初稿全部完成:主 skill 会问是否切换到
novel-finalization