# Novel Draft

> 平台标准正文生成 — 按番茄小说风格生成2000—2800字（目标2350）正文初稿，内置完整去AI味体系、错别字规则、对话规范、钩子模板

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

---


# 平台标准正文生成

## 输入
- 剧情推演（来自 novel-plot）
- 人物卡（来自 `02-设定文档/人物库/`）
- 番茄风格指南（来自 `~/.hermes/skills/novel/knowledge/番茄风格指南.md`）

## 作者设定
> 从 `~/.hermes/skills/novel/knowledge/作者设定.md` 读取，不再内联硬编码。

---

## 一、去AI味铁律（核心，必须逐条执行）

### 1.1 禁用词汇（19条，与 novel-review 词表统一）

| # | 禁用词 | 正例（替换） |
|---|--------|-------------|
| 1 | 然而 | 他没放。 |
| 2 | 此外 | 还有件事——他发现了个秘密。 |
| 3 | 总而言之 | 赢了。就这样。 |
| 4 | 值得注意的是 | 门没锁。 |
| 5 | 不可否认 | 她确实漂亮，没法不承认。 |
| 6 | 不仅……而且 | 他聪明，还不要命。 |
| 7 | 显得/显得十分 | 他眼睛都快睁不开了。 |
| 8 | 内心深处 | 他的手在抖。 |
| 9 | 一种……的感觉 | 后背发凉。 |
| 10 | 充满了 | 房间里没人敢出声。 |
| 11 | 展现了 | 这场打完，没人再敢惹他。 |
| 12 | 进行了 | 他一拳砸了过去。 |
| 13 | 极为/极其 | 他气得手都在抖。 |
| 14 | 最终 | 赢了。 |
| 15 | 一方面……另一方面 | 他很强。但对方也不弱。 |
| 16 | 显而易见 | 明摆着是个坑。 |
| 17 | 综上所述 | 说完了。干不干？ |
| 18 | 从某种意义上说 | 算成了。勉强算。 |
| 19 | 毫无疑问 | 她就是第一。没人敢说第二。 |

### 1.2 禁用句式（10条）

| # | 禁用句式 | 正例 |
|---|---------|------|
| 1 | XXX，但是YYY | 他很累。站起来了。 |
| 2 | 虽然XXX，却/但YYY | 怕归怕，腿没退。 |
| 3 | 于是XXX / 因此XXX | 他走了。 |
| 4 | XXX，而YYY | 他救了她。她不领情。 |
| 5 | 正是XXX使得YYY | 他就是不服。然后就赢了。 |
| 6 | XXX仿佛/宛如YYY | 月光凉凉的，铺了一地。 |
| 7 | 事实上/实际上 | 他早知道。 |
| 8 | 可以说/可以说是 | 他就是个天才。 |
| 9 | 随着……的发展 | 一章章过去，他越来越不好惹。 |
| 10 | 在……的过程中 | 逃跑的时候崴了脚。 |

### 1.3 禁用抽象表达 → 必须用具体五感/动作替代（10条）

| # | 抽象表达 | 正例（具体化） |
|---|---------|-------------|
| 1 | 他感到愤怒 | 他攥紧拳头，指节发白。 |
| 2 | 她很难过 | 她蹲下去，把脸埋在膝盖里。 |
| 3 | 他很害怕 | 后背全是冷汗。腿有点软。 |
| 4 | 气氛紧张 | 没人说话。连呼吸声都听得见。 |
| 5 | 他很强大 | 三秒。他用了三秒就把所有人放倒了。 |
| 6 | 她很漂亮 | 她走进来那一秒，整个包厢安静了。 |
| 7 | 天气很冷 | 呼出的气都白了。手指僵得扣不动扳机。 |
| 8 | 他很累 | 一屁股坐在地上，连站起来的力气都没了。 |
| 9 | 他很饿 | 肚子叫得跟打雷似的。 |
| 10 | 他震惊了 | 他愣了三秒。嘴张开又闭上。 |

### 1.4 AI味句式改造（5种常见AI句式 → 人话）

| AI句式 | 特征 | 改造方法 | 正例 |
|-------|------|---------|------|
| 总结式收尾 | 结尾突然总结 | 删总结句，改人物动作 | 他站起来，拍了拍膝盖上的土。 |
| 对偶排比 | 对仗排比 | 拆散只留一个，或改不规整列举 | 力量有，速度也够。脑子？不好说。 |
| 过渡铺垫 | "与此同时""另一边" | 直接切，空行分割 | （空行）城南。废弃工厂。 |
| 心理总结 | 旁白分析心理 | 人物做动作/口语独白 | 「操。」他心里骂了一句。 |
| 抒情拔高 | 结尾强行拔高 | 收住，用冷细节收尾 | 天亮了。 |

### 1.5 叙述视角约束
- 拒绝上帝视角评价，让人物自证。
- 拒绝替读者感受，只写事实。
- 拒绝剧透式预言（"他没想到，这只是开始"）→ 直接进入事件。

---

## 二、故意错别字规则

**目标**：对话中用口语化混用（的/地/得、在/再）制造"真人说话"自然感。
**频率**：每500字对话1-2处，不集中出现。
**范围**：⚠️ 仅限对话引号内，叙述段禁止混用。

**可混用两组（仅限对话）**：的/地/得（如「你快点儿的！」）；在/再（如「你不在了？」= 你不再来了）。

**执行规则**：
1. 仅口语化角色（混混、普通人）对话可混用；知识分子、高冷角色要规范。
2. 叙述段落一律正确用法，混用即真错误。
3. 禁止影响理解的错：核心名词/动词不能错，"杀了"不能写"傻了"。
4. 同一章同类型错别字不超过2处。

**示例**：
```
✅ 「你快点的！」阿强吼了一声。（对话内"的"代"地"）
❌ 他狠狠瞪了一眼，没在说什么。（叙述段落禁止混用）
```

---

## 二点五、平台红线速查（必读，写前自检）

### 2.5.1 内容红线（10条核心规则）

| # | 规则 | 正确做法 |
|---|------|---------|
| 1 | 不写真实品牌名（iPhone/华为/奔驰） | 用「手机」「汽车」或架空品牌名 |
| 2 | 不写性行为 | 牵手/拥抱为止，暧昧留白 |
| 3 | 不写血腥细节（脑浆/内脏/肢解） | 「刀光闪过」→ 跳过细节 → 写结果 |
| 4 | 不写自杀过程（方法/情绪渲染） | 可提及结果，不写过程 |
| 5 | 不写真实地名（北京/上海） | 架空地名或模糊处理「城东」「南方某市」 |
| 6 | 不写真实人名（明星/网红/政治人物） | 完全架空，不影射 |
| 7 | 不写未成年恋爱 | 主角年龄≥18，或未成年角色无恋爱线 |
| 8 | 不写政治敏感（政府/党派/现实事件） | 架空世界用「朝廷」「联邦」「皇室」 |
| 9 | 不写毒品/违禁药物 | 架空语境用「丹药」「禁药」，不写用法 |
| 10 | 不写详细暴力过程（虐杀/折磨/食人） | 一笔带过≤1句，用旁观者反应表现 |

**执行**：每个敏感场景对照上表自检，不确定→不写；遗漏由 novel-polish 兜底、novel-review 复检。

---

## 三、对话写作规范

### 3.1 硬性指标
- 对话占比（含引号内）≥ 38%
- 对话格式：中文双引号「」，不用 ""
- 一人一句话不超过3行，超长台词必须被动作/反应打断

### 3.2 让不同角色说话不一样
**铁律**：非主角台词严格按人物卡「对话风格」写，不得自由发挥——对话风格是角色的「口语指纹」。

| 角色类型 | 口语特征 |
|---------|---------|
| 底层/混混/打工仔 | 短句、脏话用动作暗示（「操。」他把烟往地上一摔） |
| 高冷/强者/大佬 | 话少、短、不带语气词，陈述或命令（「让开。」） |
| 女性（活泼型） | 语气词多（啊、吧、嘛），句式长而流畅 |
| 女性（冷淡型） | 话少不带情绪，陈述句（「知道了。」） |
| 知识分子/谋士 | 逻辑完整但说人话，不用书面语 |
| 普通人/路人 | 口语化、废话多、逻辑不严谨 |

### 3.3 对话中的动作穿插（必做）
**规则**：每个说话者轮次（A→B）在台词后/前插入动作/神态/环境；同人连续两句之间也插入。打破"一问一答"感。

```
✅ 「你怎么来了？」她把门拉开一半，堵在门框上。「路过。」他看了眼她身后的客厅。
她挑起一边眉毛。「随便吃点？」他沉默了两秒。「……行吧。」
```

### 3.4 对话推动剧情的3种方式
1. **信息揭示**：对话自然带出新信息，不用旁白解释
2. **立场冲突**：双方目标不同，碰撞产生张力
3. **关系变化**：对话结束后两人关系有微妙改变

### 3.5 通用方言注入框架
**原则**：按书配置的方言类型和词表，对话中自然注入地域方言词增风味（不限于粤语）。

**词表来源**（书配置）：`dialect_type`、`dialect_word_list`（词/含义/用法）、`dialect_characters`、`dialect_frequency`（每章上限，默认3-5处）。未定义则不注入。

**词表示例（粤语，仅展示格式；实际以书配置为准）**：

| 方言词 | 含义 | 用法 |
|-------|------|------|
| 冇 | 没/没有 | 「冇问题。」 |
| 搞乜 | 搞什么 | 「搞乜啊？大半夜的。」 |
| 点解 | 为什么 | 「点解要我去？」 |
| 返屋企 | 回家 | 「收工，返屋企。」 |
| 唔该 | 谢谢/劳驾 | 「唔该。」 |
| 食 | 吃 | 「食饭未？」 |

**使用限制**：① 每章3-5处（或配置上限）；② 仅对话引号内；③ 仅限 `dialect_characters` 角色；④ 同一词每章≤2次；⑤ 禁止自创。

---

## 四、段落节奏规则

### 4.1 段落长度（手机阅读优先）
- 上限：每段 ≤ 5行；推荐 2-4 行，1行短段穿插
- 描写/内心戏超过5行必须拆分

### 4.2 长短句交错
**检测**：数句号。连续3句字符数相近（差值<10字符）即调整。
```
✅ 他站在门口。屋里没变。还是那张桌子，那盏灯。他想起很多年前——自己站在这地方，什么都不懂。现在全变了。
```

### 4.3 快慢节奏切换
| 场景类型 | 节奏 | 执行方法 |
|---------|------|---------|
| 打斗/追逐/冲突爆发 | 快 | 短句（≤15字）、短段、少描写多动作 |
| 对话交锋 | 中 | 句子正常，对白短，动作穿插密集 |
| 铺垫/过渡/日常 | 慢 | 句子可稍长（20-30字），适当描写环境 |
| 回忆/闪回 | 慢→快 | 开头稍慢铺氛围，进入核心事件加速 |
| 章末钩子 | 极快 | 短句连击，节奏急转，戛然而止 |

### 4.4 避免的节奏问题
1. 死水段：连续3段无冲突→删/压
2. 废话描写：环境超3句且不推动剧情→压到1句
3. 内心戏超3行→拆成动作+独白

---

## 五、章末钩子模板（5种类型）

### 5.1 信息反转型
**结构**：正常叙事 → 最后一句话推翻一切。
```
他收好刀，转身离开。身后，那个倒地的人慢慢爬起来，掏出手机拨了出去。「主人，他走了。」
```

### 5.2 新危机突降型
**结构**：解决→放松→新危机突然降临（不给喘息）。
```
终于搞定了。他一屁股坐在地上，长长出了口气。手机响了。屏幕上是三个字：看窗外。
```

### 5.3 未知恐惧型
**结构**：正常场景 → 反常细节 → 不给解释。
```
推开门，屋里漆黑一片。他摸到开关按下去——灯没亮。然后他听到了呼吸声。不是他的。
```

### 5.4 情感冲击型
**结构**：高压情境 → 突然插入情感元素 → 悬停。
```
刀已经架在那人脖子上了。那人抬起头。「哥。」
```

### 5.5 规则突破型
**结构**：按规则进行的事件 → 规则失效 → 悬停。
```
系统提示：【击杀成功。经验+500。】他等了三秒。升级特效没有出现。屏幕角落弹出一行红字：【系统错误。原因：未知。】
```

### 5.6 钩子执行铁律
1. 钩子80-150字，≤200字，自然、基于本章已有信息
2. 结尾不留疑问句，让事实制造悬念
3. 钩子后不解释——戛然而止

---

## 六、章节结构（2000—2800字，目标2350 布局）

### 6.1 常规章节（第2章起）
```
【开场 300字】直接切入动作/对话/场景，前3句建立场景/冲突/状态
【推进 1450字】核心事件；空行分场景（≤3个）；对话动作穿插；不大段旁白
【高潮 350字】冲突顶点；短句短段加速；关键决定或分胜负
【钩子 150字】用第五节模板，戛然而止
```

### 6.2 黄金三章（第1-3章联动）
**核心理念**：前三章是不可分割的整体——读者据此决定追不追，平台据此给不给量。单章好看不够，连看才想追。

**分工**：第1章身份认同→第2章金手指展示→第3章主线冲突。**联动**：各章钩子导向下一章，第3章后进常规节奏。
**铁律**：第3章结束，读者须清楚主角是谁、有何优势、核心矛盾是什么，缺一不合格。

#### 第1章：身份认同章（2000—2800字，目标2350）
**目标**：三分钟内让读者决定「这个主角我愿不愿意跟」。
**四锚点**（做出来，不是说出来的）：困境→欲望（带紧迫性）→特质（记忆点动作）→选择（困境中做了什么）。
**结构**：
```
【开场 450字】300字内交代"谁/在哪/干啥"；世界观借行动带出，禁设定旁白
【推进 1300字】核心事件展开，互动补设定，深化一个锚点
【高潮 350字】冲突顶点，读者认同"他为什么这样做"，有代价
【钩子 150字】强钩子（悬念/反转），暗示第2章金手指方向但不展示
```

#### 第2章：金手指展示章（2000—2800字，目标2350）
**目标**：让读者看到「这本书和同类型有什么不一样」，金手指第一次发光。
**三原则**：① 只展示效果不解释原理；② 首次使用有反差（被欺负→反杀）；③ 展示代价/限制。
**结构**：
```
【开场 150字】承接1章钩子，快速进入金手指触发场景
【金手指触发 500字】具体场景展示效果，必须有使用前/后反差
【推进 1300字】探索金手指边界，与1章困境产生化学反应
【高潮 150字】第一个爽点（打脸/揭秘/逆转），期待"下一章更爽"
【钩子 150字】自然导向第3章主线冲突（悬念/抉择钩子）
```

#### 第3章：主线冲突章（2000—2800字，目标2350）
**目标**：让读者知道「核心矛盾是什么、为什么追下去」。
**三问**：① 核心目标？② 最大阻碍？③ 为什么不能"算了"（赌注/代价）？
**结构**：
```
【开场 200字】承接2章钩子，爽点余波，切入主线冲突首个信号
【推进 1400字】主线力量初次登场，冲突带出世界观规则
【高潮 500字】首个实质碰撞，关键决定不可逆，读者看到全书走向
【钩子 150字】三章最强钩子（危机/反转），读者知道角色不知道的事
```

#### 黄金三章自检
```
□ 第1章后一句话说清「主角是什么样的人」？第2章金手指有反差爽？
□ 第3章后一句话说清「主线冲突是什么」？三章钩子都导向下一章？
□ 世界观分散在三章而非集中在第1章？
```
> 常规章要求"前3句建立场景/冲突/人物状态"；第1章放宽为"前500字完成世界观+人物建立"，之后进入冲突。

### 6.3 首句话模板（5种爆款开局）
**定位**：推荐流只显示前15-20字，第一句须有信息差/反常/悬念。

| 模板 | 公式 | 示例 | 适用 |
|------|------|------|------|
| 悬念式 | [异常现象]+[主角反应] | 「电梯停在了不存在的第13层。」 | 悬疑/都市/恐怖 |
| 反常识式 | [公认规则]+[主角打破它] | 「练气期只有九层。林凡突破了第十层。」 | 玄幻/系统流/反套路 |
| 动作切入式 | [高张力动作]+[即时后果] | 「刀劈到面门前三寸，他终于拔出了那把生锈的剑。」 | 动作/末世/谍战 |
| 对话切入式 | [有信息差的对话]+[动作承接] | 「『你爸不是死了吗？』『对。所以接电话的是谁？』」 | 都市/职场/言情 |
| 金句式 | [浓缩价值观的金句]+[场景落地] | 「活着这件事，本身就是复仇。」→「顾寒每一天都在等一个人死。」 | 所有类型 |

**决策**：开篇章按题材选（见「适用」列）；常规章承接钩子切入，新场景用悬念/反常识式；高潮章用动作切入式。

**执行铁律**：
1. 禁姓名堆砌、环境开头、时间状语前置（"随着/当……"）
2. ≤30字（推荐流截断兼容），须含「反常」或「未知」信息

### 6.4 前300字三秒法则
**铁律**：前300字须含「反常信息」或「危机信号」，让读者"等等，有点意思"。**严禁纯场景开局**，否则重写。

**四个必须**：① 反常信息（不该出现却出现/该出现却缺失）；② 具体细节（画面感的物品/动作/数字）；③ 情绪锚点（借动作传达，不说"他很紧张"）；④ 下一段理由（结尾让读者问"然后呢？"）。

**四个禁止**：纯场景开局 / 纯世界观铺垫 / 人物静态介绍 / 回忆闪回开头。

**反常信息六种**：
| 类型 | 示例 |
|------|------|
| 🌡️ 环境反常 | 零下三十度都穿短袖 |
| 👤 人物反常 | 面试官看完简历鞠了躬 |
| ⏱️ 时间反常 | 手机显示昨天的日期 |
| 📏 数量反常 | 招一人，来了一千人 |
| 🔇 缺失反常 | 整条街没一家开灯 |
| 🔄 规则反常 | 系统分配你当NPC |

**自检**：第50字有动作？第100字有反常？第200字情绪借动作传达？第300字有"然后呢？"疑问？

### 6.5 段末微钩子体系
**原则**：在段末可埋信息不对称的小悬念，不解释，延后揭晓。不强制字数间隔，只在剧情自然需要时使用。

| 类型 | 模板 | 示例 |
|------|------|------|
| 🔍 信息延迟 | [人物]发现[不寻常的东西] | 照片上的人没有脸 |
| ⚡ 动作中断 | [动作进行中]——[意外中断] | 手搭门把——手机响，来电显示：自己 |
| 💬 对话悬念 | [A说半句]/[B说奇怪的话] | 「钥匙一直在你口袋里。」 |
| 👁️ 视角切换 | [主角以为XXX]/[第三方视角揭示YYY] | 监控的红灯还在闪 |
| ❓ 规则异常 | [按规则应该A]/[实际发生B] | 灵力+100，面板却跳成-200 |

**分布**：目标2350字≈11个：信息延迟3-4、动作中断2-3（打斗）、对话悬念2-3（对话）、视角切换1、规则异常1；同类型不连续超3次。

**与大钩子关系**：微钩子造「好奇」→"再看一段"，大钩子造「震惊」→"点下一章"；微钩子不抢风头。

**自检**：钩子基于剧情信息自然产生？大钩子最强？类型混用？无强行悬念？

---

## 七、输出格式（严格遵守）

```markdown
## 第X章 章节标题

（正文开始，段落间空一行）

（章末钩子，正文自然结束）
```

**禁止**：`###` 小标题、"本章完/待续/敬请期待"、作者的话/PS、`***` 分节线、章节号结尾标注。
**场景切换**：只用空行分隔，不写"另一边/与此同时/画面一转"。

---

## 八、生成前自检清单（逐条过）

### 8.0 禁止机械规则（硬性约束）

以下旧规则已废除，不得在生成中执行：

- **不要求**每200字微钩子配额——钩子应基于剧情自然产生，不是机械填充
- **不强制**每轮对话插动作——动作只在承担定位、阻碍、信息、伏笔、选择或结果功能时才插入
- **禁止**用环境描写、五感堆砌、机械动作、静态等待、回忆复述、重复确认或抒情收尾凑字
- 字数不足时，只能增加有效冲突回合、主角主动决策、反方应对、阻力升级、收益反馈或群众反应

### 8.1 自检项

- [ ] 禁用词19/禁用句式10/抽象表达/AI句式全避开，情感用具体动作写
- [ ] 错别字：仅对话内混用（每500字1-2处），叙述全规范
- [ ] 平台红线：对照红线表逐条自检，全部避开
- [ ] 对话≥38%；角色说话可区分，非主角严格按人物卡
- [ ] 动作穿插自然：仅在需要承担叙事功能时插入，不强制每轮
- [ ] 方言词：配置范围内（默认3-5个）、来自词表、仅对话内、限配置角色
- [ ] 段落≤5行、长短句交错、无死水段/废话描写/超3行内心戏
- [ ] 章首与黄金三章（1-3章）：第1章四锚点齐备、前500字引入世界观？第2章金手指有反差爽？第3章主线矛盾明确？
- [ ] 首句话：§6.3模板、≤30字、含反常/未知信息、非环境/姓名堆砌开头
- [ ] 前300字：有反常/危机信号，非纯场景开局，四个必须通过
- [ ] 钩子自然：基于剧情信息，不机械按字数间隔填充
- [ ] 章末：有钩子，<200字，自然悬念非硬造
- [ ] 输出格式：`## 第X章 章节标题` 开头；无`###`/"本章完"；引号统一「」

---

## 九、执行流程

1. 读 novel-plot 剧情推演与人物卡，确认出场角色语言特征
2. **逐节点写正文**：按剧情推演节点顺序生成，每节点写完对照自检清单相应条目
3. **全章写完后**，完整过一遍自检清单，输出最终正文

## 注意事项
- 初稿不追求完美，但去AI味必须在初稿阶段完成，不能留给polish
- 剧情走向由 novel-plot 提供，初稿不自行更改核心事件
- 遇到敏感内容自动规避，不正面描写，用动作暗示代替

