| name | novel-skeleton |
| description | 章节骨架生成与派发。先写骨架(结构/数字/面板预验证),再给 Claude Code CLI 填肉写散文。杜绝数字幻觉和地名自创。 |
| category | novel |
| dependencies | ["novel-prep","novel-review"] |
章节骨架写作与派发
原则
opus 擅长写散文(对话/描写/节奏),不擅长造结构/数字/地名。所以:
- 我写骨架:结构、数字、地名、系统面板全部预验证
- opus 填肉:只写散文,不改骨架里的任何东西
文件路径
骨架存项目目录,不存 /tmp:
~/novels/books/<书名>/00-大纲细纲/章节骨架/第N章_骨架.md
骨架格式
## 第N章 标题
【场景1 — 地点】一句话说明发生什么。
【场景2 — 地点】...
【场景3 — 地点】...
【系统面板】
(面板字段和格式从 `02-设定文档/书配置.md` 的系统面板字段读取)
【面板字段1:值】
【面板字段2:值】
【面板字段3:值】
[可选1-2行附加数据]
【章末钩子/收束】
骨架写作规则
- 地名:只用
02-设定文档/书配置.md 的地名白名单字段中定义的架空地名。禁止真实中国地名。不造新地址。
- 数字:结算查表对照。系数和结算必须匹配。威胁指数递进合理。
- 人物:已存活人物。新出场须已在人物库注册。
- 面板:固定三行 + 最多2行附加。原封不动。
- 字数预估:3个场景≈2000—2800字,目标2350。骨架须保证至少4个有效剧情回合、至少3次局势或利益变化、至少1次主角主动决策触发。容量不足不得进入 DRAFT。
- 预审:骨架写完即跑 review_scan.py — 骨头错,肉全部错。
派发命令
SKEL=$(cat ~/novels/books/<书名>/00-大纲细纲/章节骨架/第N章_骨架.md)
claude -p "你是番茄小说签约作者。按以下骨架写第N章正文。只填肉不改骨。直接输出正文。
【骨架】
$SKEL
【铁律—只三条】
1. 地名只用 `02-设定文档/书配置.md` 的地名白名单字段中定义的架空地名。禁止任何真实中国地名。
2. 系统面板原封不动放进去。不加减行。不修改数字。
3. 字数2000—2800(目标2350)。对话≥38%。方言/口语点缀3-5处(具体见书配置)。**所有对话用「」,禁止双引号""**。冷感叙述。章末无结束标记。无HTML。禁止用环境描写、机械动作、静态等待、回忆复述、重复确认或抒情收尾凑字——字数不足只能增加有效冲突回合、主角主动决策、反方应对、阻力升级、收益反馈或群众反应。" \
--model sonnet --max-turns 15 --dangerously-skip-permissions \
> ~/novels/books/<书名>/01-正文存稿/第N章.md
python3 ~/.hermes/skills/novel/scripts/review_scan.py ~/novels/books/<书名>/01-正文存稿/第N章.md
接入 novel-main
novel-main 的 DRAFT 步骤改为:
- PREP 收集上下文 →
- 我写骨架并预审 →
- Claude Code CLI 填肉 →
- REVIEW 扫描 →
- TRACK 更新状态
反例(绝对禁止)
- ❌ 骨架里写真实地名(番禺/东莞/佛山...)
- ❌ 骨架里写未验证数字
- ❌ 骨架存 /tmp
- ❌ 不预审直接派发骨架给 opus
- ❌ 给 opus 注入 6KB 铁律(只给3条短规矩)