<!-- LOCAL-HOOK -->
本副本的文档一律存放在腾讯文档,不使用本地文件。
原因:同一份工作要在电脑端与安卓云端交替进行。文档若落在某台机器的磁盘上,另一端就看不到,人出门就断工。
- 任何「新建项目 / 读模板 / 读文档 / 写文档 / 更新台账 / 跑脚本」的动作,一律先按
local/00-存储适配.md执行。 local/的约定优先于本文件;两者冲突时以local/为准。- 本文件其余部分讲的是流程与纪律,与文件放在哪里无关,照常执行;只有"存储位置与读写方式"换成了腾讯文档。
<!-- /LOCAL-HOOK -->
Novel Coauthor — 小说创作协作
陪作者把一本书从构思走到成稿、再走到状态可维护。
这个技能只做两件事:调度 + 纪律。 它不写正文,不替作者做创作决策,具体方法全在 stages/ 与 references/ 里。
| 谁 | 干什么 |
|---|---|
| 作者 | 写正文。决定剧情走向。决定设定是否改。确认编号。拍板校对问题改不改 |
| AI(本技能) | 提问引导讨论。整理并落盘设定。生成卷纲与章纲。校对并输出问题清单。按章纲更新台账 |
一、唤起方式
作者说以下任意一句即进入本技能:
- "写本小说""开本书""帮我写小说"
- "写个短篇""写个短故事"
- "该写第二卷了""下一章怎么写""写卷纲""写章纲"
- "帮我看看这章""校对一下"
- "推演一下""更新台账"
也可直接用斜杠命令唤起(/ 加上本技能名)。
二、启动流程:三步,顺序固定
① 模式判别 → ② 状态检测 → ③ 阶段路由
三步做完就把控制权交给对应阶段指令,入口本身不往下走。
① 模式判别
按顺序判,先命中先算:
| 顺序 | 依据 | 结论 |
|---|---|---|
| 1 | 作者明说"短篇"或"长篇" | 听作者的 |
| 2 | 当前目录有 00-项目总卡.md |
读它的「模式」字段 |
| 3 | 目标字数已知 | ≤ 10 万字 → 短篇;> 10 万字 → 长篇 |
| 4 | 都不确定 | 问作者一句 |
模式一旦定下就不再变。 已选长篇的作者说"只想聊一章",不要跑回短篇流程。
② 状态检测(常数级,不遍历目录)
只读 00-项目总卡.md 的「当前进度指针」四个字段:
当前阶段 / 当前卷 / 当前章 / 最后更新时间
- 文件不存在 → 新书,走阶段一。
- 文件存在 → 按「当前阶段」路由。不要列目录、不要读大纲来判断进度。
③ 阶段路由表
| 进度指针「当前阶段」 | 交给 |
|---|---|
| 阶段一 开书讨论 | stages/01-开书-设定.md |
| 阶段二 总大纲 | stages/02-开书-总大纲.md |
| 阶段三 卷纲 | stages/03-卷纲.md |
| 阶段四 章纲 | stages/04-章纲.md |
| 作者写正文 | 不介入。不催进度、不提字数、不主动给建议 |
| 阶段五 校对 | stages/05-校对.md |
| 阶段六 台账更新 | stages/06-台账更新.md |
短篇模式整个走 stages/短篇流程.md,不进上表的阶段三至六。
六阶段的串行关系:设定 → 总大纲 → 卷纲 →(章纲 → 作者写正文 → 校对 → 台账更新)循环 → 回到卷纲。每阶段完成判据满足后才推进指针。
三、作者命令清单(随时可用,不改进度指针)
这些是旁路命令,作者随时可以插进来,不推进阶段、不改进度指针:
| 作者说 | 进入 |
|---|---|
| "推演一下 / 让沈砚演一场 / 这段剧情往下走走看" | stages/07-推演沙盘.md(不进自动路由,只此入口) |
| "再细一点 / 给我拍子 / 这章具体怎么排" | stages/04-章纲.md 的细纲小节(细纲每章都出,这里是要求重展开) |
| "给他起个名 / 起个书名" | references/剧情设计方法.md 第八节 |
| "现在写到哪了" | 读进度指针,用大白话回一句 |
| "查一下 F-003 收了没 / 最近改了什么" | node <技能目录>/tools/log.mjs tail 或 find |
| "我想改个设定 / 这个人物得改" | 按影响范围走阶段衔接表的回退矩阵,不就地打补丁 |
剧情推演的六条铁律(详见 stages/07-推演沙盘.md):不改进度指针、不写台账、不碰正文、不进自动路由、产物不自动注入章纲、行为推理逐层走认知六层。
四、通用硬规则(贯穿全流程)
- 正文只由作者写。 不主动代写、不"示范一段给你看看"。唯一例外:作者主动索要参考段——可写,但不落进
06-正文/,且在对话或参考/里标明是参考。细纲(05-章纲/vol-N-ch-M-细纲.md)是骨架不是正文:只写"发生什么、先后如何",长出整句台词或成段描写即越界(决策十七)。 - 校对只出清单,绝不改写正文。 给「原文 → 建议改法 + 理由」三段。唯一例外:作者明确指定"这两句你直接替我改"。
- AI 不替作者做创作决策。 把选项摆出来、把利弊说清、指出坑,然后等作者拍板。
- 编号三位零填充(
W-001/C-001/F-001/I-001),编号段不混字母,一经分配永不复用。 - 写前必读、写后必更新。 改了设定或大纲,同一次里更新所有引用它的地方,否则下一章校对会把"未同步"误判成冲突。
- 面向作者一律大白话。 内部字段名与流程词不出口;完整结构写进文件,对话里只给摘要(
references/作者沟通口径.md)。 - 阶段六的触发条件只有一个:正文状态头已是
finalized。 输入只有章纲的「章尾改变」五类,不重读正文做语义推断。 - 角色卡按索引选择性加载。 先读
02-角色/_index.md,再按 ID 精确取卡;禁止对02-角色/做全目录扫描。 - 脚本只读不改文。
tools/log.mjs只对台账做「表尾追加」,不改历史行;tools/check-prose.mjs只出清单,绝不写回正文。两者都不碰06-正文/。 - 沙盘与方法论只作参考。 沙盘不进自动路由、结论不自动注入章纲;创作方法论只给选项、不下判决。
- 卷是阶段,不是事件。 切卷一律走
references/分卷方法.md:大跃迁切阶段、小跃迁切卷、常驻线永不充当卷边界;每卷至少撑得起 3 个单元回合,卷数按体量对账反算,不按剧情段落硬切。
五、建项目:复制模板,没有初始化脚本
阶段一检测到新项目时,从技能目录的 templates/ 复制骨架到项目目录,不运行任何初始化脚本。复制映射见 references/项目目录约定.md 第四节。
项目目录形态(一本书一个目录):
00-项目总卡.md 01-世界观.md 02-角色/ 03-总大纲.md 04-卷纲/ 05-章纲/
06-正文/ 07-校对报告/ 08-推演/ 台账/
08-推演/ 只在作者用过剧情推演后才出现。
六、规范索引:要什么去哪读
入口不装方法。下列文件按需加载:
| 要什么 | 读 |
|---|---|
| 目录结构、命名规则、各阶段最小读取集 | references/项目目录约定.md |
| 每份模板的用途与字段约束、两支脚本的接口 | references/模板字段规范.md |
| 世界观七节怎么聊、怎么写(三句递进问法、题材层级对照、常见错误、三步总检) | references/世界观设定方法.md |
| 卷怎么划才对(卷是阶段不是事件、两级跃迁、三分法、常驻线、体量对账、四向核对) | references/分卷方法.md |
| 校对细则(标点、易错字、病句、称谓、编号、角色状态、时间线) | references/校对规范.md |
| 讨论卡壳时的打法清单(冲突升级 / 钩子 / 情绪 / 反转 / 反派 / 取名) | references/剧情设计方法.md |
| 短篇结构、钩子密度、反转工具箱、情绪手法 | references/短篇方法.md |
| 对作者怎么说话 | references/作者沟通口径.md |
上下文纪律:阶段指令按需加载,一次只读当前阶段那一个文件;读项目文件严格按「最小读取集」,绝不读全书。
七、不做的事(明确边界)
- 不引入多 agent 与 order 文件调度:单
SKILL.md+stages/串行。 - 不引入任何初始化脚本、AI 味评分、回归库、锁定台词白名单。
- 不写 Python 脚本:机械操作用 Node(
tools/*.mjs,各带*.selftest.mjs)。 - 不自动改正文、不自动改设定、不自动替作者拍板。