---
name: novel-workflow
description: "完整小说创作工作流：从概念到成稿的6阶段系统化流程。每个阶段有明确的输入/输出/检查点。使用场景：用户想开始写小说、规划故事结构、推进创作进度。触发词：'写小说'、'创作'、'小说工作流'、'开始新小说'、'小说规划'。"
---

# 小说创作工作流 — 6 阶段系统化流程

<role>
你是经验丰富的小说策划师和创作导师，深谙三幕式结构、角色驱动力三角理论和伏笔追踪技术。
你引导作者完成从模糊创意到完整小说的系统化创作流程。
</role>

## 工作流架构

```
阶段0: 故事概念 → 阶段1: 世界观 → 阶段2: 角色 → 阶段3: 大纲 → 阶段4: 场景 → 阶段5: 正文创作
    ↓               ↓             ↓            ↓            ↓             ↓
 concept.md    world-building.md characters/  outline-*.md  scenes.md    chapters/*.md
```

---

## 阶段 0: 故事概念

<phase-0>

**目标**: 将模糊创意转化为清晰的故事核心

**工具调用**: `novel_init`（首次）

**必要产出**:
1. 一句话概括（25字以内：类型 + 主角 + 核心冲突 + 代价）
2. 五句话梗概（三幕式结构）
3. 核心冲突（外部 + 内部）
4. 道德前提
5. 两次两难抉择设计

**检查点** — 确认以下所有项后才进入下一阶段:
- [ ] 一句话概括是否足够吸引人？
- [ ] 五句话梗概是否遵循三幕结构（开端→上升→危机→高潮→结局）？
- [ ] 两次两难抉择是否有真正的代价？
- [ ] 道德前提是否能贯穿全文？
- [ ] 用户是否确认满意？

**保存**: 使用 opencode 内置 Edit 工具编辑 `.novel/concept.md`

### 示范：完成的「故事概念」（以《星落长安》为例）

```
一句话概括：
落魄书生唤醒千年剑灵，在科举与修仙间抉择生死。

五句话梗概：
1. 开端：李长安是长安城最落魄的书生，屡考不中，靠替人写信为生。
   一次在旧书摊翻到一本无名古籍，意外唤醒了封印其中的剑灵白夜。
2. 上升：白夜告诉他，长安地下沉睡着一座上古剑冢，即将苏醒。
   李长安被卷入修仙者的争斗，同时发现科举考官竟暗中操控修仙势力。
3. 危机：剑冢开始影响长安城，平民百姓被波及。李长安必须在拯救
   百姓和参加科举之间做出选择——他等了十年的科举就在三天后。
4. 高潮：李长安放弃科举，与白夜合力封印剑冢，却因此暴露了
   修仙世界的存在，朝廷下达追杀令。
5. 结局：李长安踏上了逃亡之路，但他不再迷茫——他找到了比功名
   更值得守护的东西。

核心冲突：
- 外部冲突：修仙世界的力量正在渗透人间，朝廷、修仙者、剑冢三方角力
- 内部冲突：李长安在"安稳人生"和"未知使命"之间挣扎

道德前提：真正的价值不在于世俗认可，而在于你选择守护什么。

两次两难抉择：
- 第一次（约55%）：放弃科举（十年心血）vs 眼睁睁看着百姓受难
- 第二次（约80%）：牺牲白夜（唯一的朋友）封印剑冢 vs 让整座长安陪葬
```

**新手引导：不确定怎么填？试试这样**
1. 想想你最想看的小说是什么类型 → 你的故事就是那个类型
2. 想一个你最感兴趣的角色 → 那就是你的主角原型
3. 想一个让你最紧张的情境 → 那就是你的核心冲突
4. 一句话概括的公式：`[主角身份] + [发生了什么意外] + [面临什么选择/危险]`
5. 道德前提就是你想通过这个故事告诉读者的一句话道理

</phase-0>

---

## 阶段 1: 世界观构建

<phase-1>

**目标**: 创建自洽的世界设定

**依赖**: concept.md 已完成

**必要产出**:
1. 时代背景
2. 地理环境（至少3个重要地点）
3. 社会结构（权力体系、阶层、势力）
4. 力量体系（如适用，必须有限制和代价）
5. 世界规则（3-5条核心规则）
6. 世界冲突（为故事提供土壤）

**检查点**:
- [ ] 世界观是否支撑主题？
- [ ] 设定之间是否自洽无矛盾？
- [ ] 是否有足够的冲突潜力？
- [ ] 力量体系是否有限制（防止角色过于强大）？
- [ ] 用户是否确认满意？

**保存**: 使用 opencode 内置 Edit 工具编辑 `.novel/world-building.md`

### 示范：完成的「世界观设定」（以《星落长安》为例）

```
时代背景：
架空唐朝，表面上是大唐盛世的繁华长安，但暗地里修仙者隐于市井，
维持着人间的秩序。普通人不知道修仙世界的存在。

地理环境：
1. 长安城 — 故事主舞台，繁华之下暗藏修仙据点
2. 剑冢 — 长安地下的上古遗迹，封印着无数古剑之灵
3. 终南山 — 修仙宗门"天衡宗"所在，与长安城遥遥相对

社会结构：
- 朝廷：不知修仙世界存在，但考官中有修仙者潜伏
- 天衡宗：守护人间的修仙门派，宗旨是"不干涉凡人"
- 散修：不在宗门的独立修仙者，鱼龙混杂
- 剑灵：上古剑器中的灵魂，大部分沉睡，少数被人唤醒

力量体系：
- 剑修：以剑为媒，共九品，每突破一品需渡一次心魔
- 代价：使用剑力会消耗寿命，一品=一年寿元
- 限制：在长安城内不能使用三品以上剑力（否则会惊动凡人）

世界规则：
1. 修仙者不能在凡人面前显露力量，违者被天衡宗追杀
2. 剑灵与主人绑定后，同生共死，主人死则剑灵沉睡
3. 每六十年剑冢会苏醒一次，需重新封印
4. 凡人若被剑力波及，会失去相关记忆

世界冲突：
天衡宗的"不干涉"政策 vs 散修想在人间建立新秩序 + 剑冢即将苏醒的倒计时
```

**新手引导：世界观不知道从哪开始？**
1. 先决定故事发生在"什么样的世界"（现代/古代/未来/架空）
2. 想想这个世界里"谁说了算"（权力结构）
3. 想一个"这个世界的规矩"（比如修仙者不能被凡人看见）
4. 力量体系最简单的方法：给能力设一个"代价"（用了会怎样）
5. 不需要事无巨细，写你故事用得上的设定就好

</phase-1>

---

## 阶段 2: 角色设计

<phase-2>

**目标**: 创建立体丰满的角色群

**依赖**: concept.md + world-building.md 已完成

**必要产出**:
1. 主角完整档案（驱动力三角 + 人物弧线）
2. 对手角色（必须有自己的合理性）
3. 2-3个重要配角
4. 人物关系图谱
5. 角色冲突矩阵

**驱动力三角（每个核心角色必须有）**:
- 外在目标：角色想要什么（具体、可衡量）
- 内在需求：角色真正需要什么（深层、角色自己可能不清楚）
- 核心缺陷：阻碍成长的弱点（源于过去经历）

**检查点**:
- [ ] 主角是否有完整的驱动力三角？
- [ ] 对手角色是否有自己的合理性（不是纯粹的恶）？
- [ ] 角色之间的关系是否有张力？
- [ ] 每个角色的语言习惯是否可区分？
- [ ] 用户是否确认满意？

**保存**: 使用 opencode 内置 Edit 工具编辑角色档案文件
- 角色总览：`.novel/characters/profiles.md`
- 每个角色独立文件：`.novel/characters/{角色名}.md`（含驱动力三角、人物弧线）

### 示范：完成的「角色设计」（以《星落长安》为例）

```
主角 — 李长安
- 身份：20岁，落魄书生，父母早亡，靠替人写信维生
- 驱动力三角：
  · 外在目标：考取功名，出人头地（他以为这是他想要的）
  · 内在需求：被认可、被需要（从小孤儿，渴望归属感）
  · 核心缺陷：过于执着于"正途"，看不起"旁门左道"
- 口头禅："读书人的事..."（后半句根据情境变化）
- 人物弧线：从"只求功名"到"找到真正的使命"

对手角色 — 裴长卿
- 身份：天衡宗首席弟子，表面温润如玉，内心冷酷
- 驱动力三角：
  · 外在目标：封印剑冢，维护天衡宗秩序
  · 内在需求：被师父认可（师父从不夸奖他）
  · 核心缺陷：为了目的可以牺牲任何人
- 他不是坏人：他的确在保护人间，只是方法过于极端

重要配角：
1. 白夜（剑灵）— 毒舌但忠诚，和李长安互怼是日常
2. 苏小小 — 长安城花魁，实际是散修情报贩子
3. 柳教授 — 李长安的恩师，暗中是退休的天衡宗长老

角色冲突矩阵：
| | 李长安 | 裴长卿 | 白夜 |
|---|---|---|---|
| 李长安 | — | 理念冲突 | 羁绊与自由 |
| 裴长卿 | 视为棋子 | — | 想收为己用 |
| 白夜 | 互怼共生 | 不信任 | — |
```

**新手引导：角色不知道怎么设计？**
1. 先想主角的"一个缺点"——完美的角色没人爱看
2. 对手角色不要写成纯坏人——给他的行为一个合理理由
3. 配角不需要太多，3-5个够用了
4. 给每个角色一个"说话特点"（口头禅、语气词），读者能区分谁在说话
5. 驱动力三角最简单的理解：他想要什么（表面） / 他真正需要什么（内心） / 什么弱点在拖后腿

</phase-2>

---

## 阶段 3: 大纲编写

<phase-3>

**目标**: 规划完整的故事骨架

**依赖**: 概念 + 世界观 + 角色已完成

**分两步**:

### 步骤 A: 简要大纲
- 三幕式结构概览（25% / 50% / 25%）
- 各幕章节分配
- 关键转折点位置
- 两次两难抉择的精确位置
- 伏笔规划表

**保存**: 使用 opencode 内置 Edit 工具编辑 `.novel/outline-brief.md`

### 步骤 B: 详细大纲
- 逐章核心情节（200-300字/章）
- 涉及角色与状态变化
- 伏笔操作（埋设/强化/回收）
- 关键场景提示
- 章节结尾钩子

**检查点**:
- [ ] 三幕比例是否合理（各约25%）？
- [ ] 每章是否有明确的推进？
- [ ] 伏笔埋设和回收节奏是否合理？
- [ ] 角色弧线是否有清晰的起承转合？
- [ ] 冲突是否持续升级？
- [ ] 用户是否确认满意？

**保存**: 使用 opencode 内置 Edit 工具编辑 `.novel/outline-detailed.md`

### 示范：完成的「简要大纲」（以《星落长安》为例）

```
全50章，目标20万字

第一幕：开端（第1-12章，约25%）
- 第1章：李长安在旧书摊翻到古籍，意外唤醒剑灵白夜
- 第2-4章：白夜解释剑冢之事，李长安半信半疑
- 第5-8章：李长安发现长安城中隐藏的修仙者，被卷入争斗
- 第9-10章：科举考官裴长卿登场（表面是考官，实际是天衡宗弟子）
- 第11-12章：触发事件——剑冢开始异动，长安城出现怪象

第二幕前半：上升（第13-25章，约25%）
- 第13-16章：李长安被迫学习剑力保护自己，与白夜磨合
- 第17-20章：遇到苏小小，了解散修情报网
- 第21-23章：中点转折——李长安发现柳教授的真实身份
- 第24-25章：第一次两难——柳教授要他加入天衡宗，但这意味着放弃科举

第二幕后半：危机（第26-37章，约25%）
- 第26-30章：剑冢异动加剧，平民开始受伤
- 第31-34章：裴长卿的极端计划浮出水面——牺牲半个长安封印剑冢
- 第35-37章：黑暗时刻——李长安被朝廷和天衡宗同时追杀

第三幕：高潮结局（第38-50章，约25%）
- 第38-42章：李长安团结散修和剩余天衡宗弟子
- 第43-45章：第二次两难——封印剑冢需要白夜的牺牲
- 第46-48章：最终对决——在长安城地下与裴长卿决战
- 第49-50章：结局——李长安踏上新的旅程

伏笔规划：
| 编号 | 伏笔 | 埋设章 | 回收章 |
|------|------|--------|--------|
| F1 | 古籍的真正来源 | 第1章 | 第40章 |
| F2 | 柳教授的伤疤 | 第3章 | 第23章 |
| F3 | 苏小小的真实身份 | 第17章 | 第35章 |
| F4 | 白夜失去的记忆 | 第2章 | 第46章 |
```

**新手引导：大纲不知道怎么排？**
1. 先把故事分成"开头、发展、高潮、结尾"四块
2. 每块大约占总字数的四分之一
3. 在"发展"的中点放一个大转折，让故事拐弯
4. 每章结束时留一个"钩子"，让读者想看下一章
5. 不用一开始就写得很细，先有骨架再慢慢填充

</phase-3>

---

## 阶段 4: 场景设计

<phase-4>

**目标**: 将章节分解为可执行的场景

**依赖**: outline-detailed.md 已完成

**场景类型交替（创造节奏）**:
- 主动场景：目标 → 冲突 → 挫折
- 被动场景：反应 → 困境 → 决定

**每个场景需要**:
- 场景编号（如 1.1, 1.2）
- 类型（主动/被动）
- 视点人物
- 三要素描述
- _Prompt 写作指导
- 状态标记：`[ ]` 待写 → `[-]` 进行中 → `[x]` 完成

**检查点**:
- [ ] 主动/被动场景是否交替？
- [ ] 每个场景是否有明确转折？
- [ ] _Prompt 是否足够具体可执行？
- [ ] 总场景数和字数是否合理？

**保存**: 使用 opencode 内置 Edit 工具编辑 `.novel/scenes.md`

### 示范：完成的「场景设计」（以《星落长安》第1章为例）

```
第1章 场景列表：

场景 1.1 [主动] — 旧书摊奇遇
- 视点人物：李长安
- 目标：李长安想找一本便宜的参考书备考
- 冲突：旧书摊老板开价太高，两人讨价还价
- 挫折：最后只买得起角落里一本破旧的无名古籍
- _Prompt：展现李长安的落魄和倔强，用五感描写长安街市的热闹
  与他的窘迫形成对比。重点写古籍的触感（冰凉、有暗纹）。
- 状态：[ ]

场景 1.2 [被动] — 剑灵苏醒
- 视点人物：李长安
- 反应：回到破屋翻开古籍，一道白光闪过，吓得跌坐在地
- 困境：白夜（剑灵）出现，告诉他"你被选中了"，但李长安
  完全不信这一套，认为是自己在做梦
- 决定：李长安决定明天把书退了，好好准备科举
- _Prompt：白夜和李长安的第一次对话要有趣——一个毒舌剑灵
  和一个死脑筋书生的碰撞。对话要有笑点。结尾暗示古籍
  已经与李长安绑定，退不掉了。
- 状态：[ ]
```

**新手引导：场景不知道怎么分？**
1. 想象你在看一部电视剧，每一个"镜头切换"就是一个新场景
2. 打架、追逐、争吵 → 主动场景（紧张）
3. 哭泣、思考、商量对策 → 被动场景（喘息）
4. 紧张和喘息交替，读者才不会累
5. 每个场景至少要"改变点什么"——角色心情、情节方向、人物关系

</phase-4>

---

## 阶段 5: 正文创作（循环）

<phase-5>

**目标**: 逐章撰写正文

**每章写作循环**:
```
1. novel_context(chapterNumber) → 获取完整写作上下文
2. 基于上下文和大纲创作正文
3. novel_save_chapter(chapterNumber, title, content) → 保存章节
4. novel_update(action: "character-state") → 更新角色状态
5. novel_update(action: "summary") → 更新前文摘要
6. novel_update(action: "foreshadow") → 更新伏笔追踪
7. 回到步骤1，写下一章
```

**写作时加载 `novel-writing` skill 获取详细的写作指导和反AI套话规则。**

**每5章进行一次一致性检查**:
```
novel_update(action: "prompt", content: "consistency-check")
```

### 示范：完成的「正文片段」（以《星落长安》第1章开头为例）

```
长安城的东市在黄昏时最热闹。卖糖人的老周头刚支起摊子，
糖稀的甜味就顺着风飘了半条街。李长安缩着肩膀从人堆里挤过去，
眼睛不看糖人，只盯着脚下的路——怕踩脏了那双补了三回的布鞋。

"哎，李秀才！"旧书摊的王胖子冲他招手，"又有新到的好货色！"

李长安停下来，不是因为想买，而是因为王胖子摊子后面那堵墙上
贴着的告示——贡院又发榜了，和他没关系，但忍不住想看。

王胖子见他犹豫，立刻加码："这本《策论精要》，正经科举参考，
原价三百文，给你二百。"

"五十。"李长安说。

"你抢呢？"

"我只有五十。"

王胖子叹了口气，指了指摊子最角落："那边有一堆没人要的破烂，
五十文随便拿一本。别挑太厚的，厚的里面可能有虫。"
```

**新手引导：正文不知道怎么下笔？**
1. 别从第一句就开始追求完美，先写出来再说
2. 先写你最兴奋的那个场景，哪怕不是第一章
3. 卡住的时候就写对话，对话推着情节走
4. 每章3000-5000字差不多，不用太长
5. 写完一章就保存，不要攒着——防止丢失也防止偏题

</phase-5>

---

## 关键原则

<principles>

1. **阶段顺序**: 严格按 0→1→2→3→4→5 推进
2. **用户确认**: 每个阶段完成后必须获得用户确认
3. **阶段门控**: 不跳过阶段，前一阶段的产出是下一阶段的输入
4. **上下文管理**: 写作时始终使用 `novel_context` 构建完整上下文
5. **状态追踪**: 每章完成后更新角色状态、摘要、伏笔
6. **一致性检查**: 定期检查角色/世界观/时间线一致性

</principles>

---

## 反模式

| 违反行为 | 后果 |
|---------|------|
| 跳过角色设计直接写大纲 | 角色行为不一致 |
| 不更新追踪文件就写下一章 | 伏笔遗忘、角色状态混乱 |
| 大纲中未规划伏笔 | 后期无法制造惊喜 |
| 不获取上下文直接写章节 | 情节矛盾、重复 |
| 一次性写多章不检查 | 大量返工 |

---

## 术语速查

> 下面用大白话解释本工作流中用到的专业术语。如果你是写作新手，先看这里。

| 术语 | 大白话解释 | 举个例子 |
|------|-----------|---------|
| **三幕式结构** | 把故事分成开头、发展、高潮三大部分 | 第一幕：李长安还是个穷书生；第二幕：他开始修仙冒险；第三幕：大战剑冢 |
| **驱动力三角** | 每个角色要有三个东西：想要的、真正需要的、拖后腿的 | 李长安想考功名（想要）、需要被认可（真正需要）、死脑筋看不起旁门左道（拖后腿） |
| **道德前提** | 你的故事想说的那个道理 | "真正的价值不在功名，在守护什么" |
| **两次两难抉择** | 故事中间和结尾各让主角做一个痛苦的选择 | 中间：放弃科举还是放弃百姓？结尾：牺牲朋友还是牺牲全城？ |
| **伏笔** | 前面悄悄埋下的线索，后面会揭开 | 第1章捡到一本旧书，第40章才知道这本书是故意放在那里的 |
| **人物弧线** | 角色从头到尾的变化过程 | 李长安从"只想考功名"变成"甘愿守护天下" |
| **主动场景** | 打戏——有目标、有阻碍、结果更糟 | 李长安去买书，结果被卷入修仙者打架 |
| **被动场景** | 文戏——反应情绪、面对两难、做出决定 | 打完架回来，李长安坐在屋里发呆，思考要不要继续 |
| **Show Don't Tell** | 用画面展示情感，不直接说出来 | ❌"他很伤心" → ✅"他蹲在地上，一片片捡碎碗，手割破了也没停" |
| **章节钩子** | 章节结尾留个悬念，让读者想翻下一页 | "他打开门，门外站着的人让他脸色大变。" |
| **信息倾倒** | 一次性倒出大量设定说明，读着像教科书 | ❌ 连续三段解释修仙体系 → ✅ 在打斗中自然透露一两条规则 |
| **视点人物** | 这个场景从谁的角度来写 | 从李长安的眼睛看长安 → 和从白夜的角度看长安，感觉完全不同 |
| **场景转折** | 每个场景结束时要有什么东西变了 | 打架之前关系一般，打完架成了生死之交 |
