# Xiaolai Fiction

> 小说写作创意全流程引擎（笑来工程化方法 × McKee 故事原理）。Use when 用户想写小说/短篇/微型故事集/志怪故事，提到"写小说""编个故事""写虚构故事""化城志风格""故事引擎""xiaolai-fiction"，或想把一个想法/焦虑/新闻改编成虚构故事，或需要给已有小说稿做结构诊断、文风打磨、McKee 式审稿。不用于非虚构文章（那是 xiaolai-write/dedao-write 的领域）。覆盖：立项→世界观引擎→选题→结构→草稿→真实性校验→文风→审稿→集子编排→引擎升级 十个阶段。

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

---


# xiaolai-fiction — 小说写作创意全流程

把小说创作当作**可迭代的系统工程**：故事引擎（设定资产）与生产流水线（十阶段）分离，写崩了升级引擎而不是弃稿。方法论三源：

1. **笑来工程法**：小说 = 三维度工程（构建虚拟世界 / 让它足够真实 / 独特文风）。写程序像做柜子，写小说像做毛衣——读者看得见每一针，所以文风是一等公民。首作走"曲奇饼干"路线：微型故事集，单篇独立，碎一块不影响整盒。
2. **McKee《Story》**：场景必须翻转价值、鸿沟驱动、危机即两难、主控思想统帅一切。详见 `references/mckee-principles.md`。
3. **职业作家流水线**：雪花法、Sanderson 三 P、Save the Cat 节拍、多遍修订。详见 `references/pro-workflows.md`。

## 核心纪律（任何阶段都生效）

1. **引擎与稿件分离**：所有设定写进 `story-bible/`，稿件只消费设定。新设定在稿中诞生后必须回写 bible（资产沉淀）。
2. **无翻转即无场景**（McKee）：任何一篇/一场，开头与结尾的价值电荷必须改变，否则是 nonevent，删或重写。
3. **先规则后故事**：虚拟世界的"真实感"来自 3–6 条操作系统级规则的一致推导，不来自临场发挥。
4. **写崩是流程的一部分**：草稿失败 → 在 `engine-log.md` 记录崩因 → 升级引擎或检查清单 → 重写。永远不在崩溃现场硬改。
5. **大产出防截断**：任何成稿直接 Write 进文件，分段追加，对话里只报路径和字数。
6. **进度落盘**：每阶段产物落盘到项目目录,状态记入 `.fiction-state.json`，中断可恢复。

## 项目目录约定

首次启动时在用户指定位置（默认 `~/Desktop/内容创作/fiction/<作品名>/`）建立：

```
<作品名>/
├── .fiction-state.json      # 当前阶段、已完成篇目、下一步
├── story-bible/             # 故事引擎（跨篇共享资产）
│   ├── world.md             # 世界观操作系统：3-6 条规则 + 地理 + 命名法
│   ├── cast.md              # 人物谱系（复现人物 + 单篇人物归档）
│   ├── theme.md             # 主控思想 + 正反题 + 温度配比规划
│   ├── voice.md             # 语言指纹规格（可执行的文风规则）
│   └── threads.md           # 跨篇暗线 / 悬念账本（埋了什么、何时收）
├── ideas/                   # 选题卡（焦虑×规则×原型 三元卡片）
├── drafts/                  # 草稿（每篇一文件，v1/v2 后缀）
├── final/                   # 终稿
└── engine-log.md            # 写崩日志 + 引擎升级记录
```

## 十阶段流水线

按序执行；用户可说"从阶段 N 开始"或"只做阶段 N"。每阶段结束报告产物路径 + 一句进度，**不暂停问确认**（除非真被阻断），做合理假设并标注。

### 阶段 0 · 立项

问清或推断三件事（已知则跳过，不要逐条盘问）：
- **形态**：微型故事集（默认推荐，曲奇饼干原则：300–800 字 × N 篇 + 揭底终篇）/ 短篇（3000–8000 字）/ 长篇（分卷）
- **题材域**：从用户的生活半径取材（写你知道的 + 想象你不知道的）
- **野心刻度**：练手（允许歪）/ 出版级。写入 `.fiction-state.json`。

### 阶段 1 · 故事引擎搭建（world + voice）

这是"构建虚拟世界"维度，产出四份 bible 文件（填空模板直接取自 `references/story-engine-templates.md`，复制后逐项填写）：

1. **world.md**：写下 3–6 条**操作系统级规则**——世界异于现实的根本法则，每条规则必须能推导出十个以上故事。范例（化城志）："存在=被记录，簿上无名便似没来过"。规则之间要能互相咬合。另加：地理（5–8 个有功能分工的地点）、命名法（人名/地名风格统一）。
2. **theme.md**：用 McKee 公式写**主控思想**（价值 + 原因，一句话），并写出**反题**——好故事靠正反题轮流得分推进，不靠说教。
3. **voice.md**：把目标文风写成**可执行规格**（句长、词表、标点癖、禁用词、收束套语）。若用户要化城志风格，直接引用 `references/style-huacheng.md` 的语言指纹八条。
4. **cast.md**：3–5 个复现人物（每人一句功能定位 + 一条私人纵贯线），其余单篇人物用完归档。

### 阶段 2 · 选题（ideas）

微型集用**三元公式**批量出卡：`当代焦虑/欲望 × 世界规则 × 民间故事原型`（详表见 `references/style-huacheng.md` 第七节）。一次出 8–12 张卡，每张三行：人物+欲望｜异象｜价值翻转方向。按温度（冷讽/暖偿/怆然/谐趣）标注，保证配比约 5:3:1.5:0.5。
长篇用雪花法第 1–3 步替代（一句话 → 一段话 → 人物小传），见 `references/pro-workflows.md`。

### 阶段 3 · 结构设计（每篇/每章）

微型篇用**五拍模板**：开人（一句立身份+欲望）→ 入异（开人段一结束立即入异，激励事件落在前 10% 篇幅内）→ 进逼（三段递进纠葛，用"后三日/月余"类节律词）→ 抉择（真两难：两善取一或两恶取轻）→ 翻转收束（价值翻转 + 间离套语）。
短篇/长篇用 Save the Cat 15 拍或雪花法第 4–6 步，对照 `references/pro-workflows.md`。
**结构自检**：激励事件够早吗？纠葛是递进还是重复？危机是真两难还是假选择？结局翻转了开场价值吗？

### 阶段 4 · 草稿

逐篇写进 `drafts/<篇名>-v1.md`。写作时执行：
- **鸿沟驱动**：主角每个动作都得到世界的非预期反应，期望与结果之间裂开缝，主角被迫加码——这是逐段推进的引擎（McKee: The Gap）
- **从内向外写**：先想透人物在此刻压力下会怎么选，再落笔；第一直觉方案往往是陈词滥调，列 3 个备选取最不顺手的那个
- **情绪外化**：禁止直接报告心理（"他很害怕"），全部转成动作与物件
- **对白即子弹**：每篇直接引语 ≤3 句，句句承担揭示或翻转
- 写崩了：停，在 engine-log.md 记一行崩因（结构崩/人物崩/文风崩），回对应阶段修引擎，再重写

### 阶段 5 · 真实性校验（"让它看起来真实"维度）

逐篇对照 bible 审：
- 本篇每个超自然/设定细节，能否从 world.md 的规则推导？推导不出 = 改稿或（若更好）升级规则并全局检查旧篇
- 因果留白纪律：机制不解释（"莫知其故"），但**后果必须严格一致**——读者可以不知道为什么，不能发现矛盾
- 现实锚点：每篇至少 3 个可触摸的实物细节（凉了三年的茶、洗剩半个的名）
- 新增设定回写 bible（cast.md 归档人物、threads.md 记下埋的钩子）

### 阶段 6 · 文风打磨（"毛衣的每一针"）

对照 voice.md 逐句过：句长节奏、词表纪律、标点癖好、套语使用。然后跑**反 AI 腔清单**（`references/revision-checklists.md`）：删排比三连、删"不是A而是B"句式、删空泛形容词、查破折号滥用。化城志风格另查：现代词置入每篇 3–6 处是否超标、文言虚词是否用串。

### 阶段 7 · McKee 审稿

按形态分流：**微型篇**用 `references/revision-checklists.md` 清单 A（10 条）+ 该文件的判级标准；**短篇/长篇**用 `references/mckee-principles.md` 末尾的 30 条全表（幕高潮/次情节/前 25% 等项只适用于长形态），判级标准仍按 revision-checklists.md。每篇给出 A/B/C 判级 + 一句最大问题。C 级回阶段 3 重构，B 级局部修，A 级进 final/。

### 阶段 8 · 集子编排（仅多篇形态）

- 排序：温度交替（连续 ≥3 篇同温度即调序），首篇立世界（创世/入城型），终篇揭底（回收暗线 + 留下一卷钩子）
- 暗线审计：对照 threads.md，每条埋下的线要么本卷收束、要么显式留给下卷，不允许失踪
- 复现人物出场密度：主暗线人物间隔 ≤8 篇露一次面

### 阶段 9 · 复盘与引擎升级

成卷后写 engine-log.md 复盘：本卷哪类篇目最强/最弱、清单上哪条最常被违反、bible 哪里供血不足。产出 2–3 条**下一卷引擎升级项**。这就是"每天晚上升级故事引擎"的制度化。

## 长篇模式（10 万字级，一句话直达成书）

用户要写整本书（≥10 万字/≥20 章）或说"扩写成长篇"时，**不走十阶段手工挡位，直接按
`references/novel-pipeline.md` 操作手册执行**：用可复用 workflow（`~/.claude/workflows/xiaolai-novel.js`，
传 books 配置）跑 Architect→Chapters→Assemble→Expand→QC 五阶段；rolling-summary 是命根子；
限额断点恢复、Codex 分担英文翻译与 gpt-image 插图、双语 PDF 成书，全部按该手册。
开跑前必做两件事：① 写 `.omc/plans/` ledger ② CronCreate 在下一限额重置点挂 durable 续跑保险。

## 已有稿件的诊断模式

用户拿现成稿子来时，跳过 0–4，直接按 5→6→7 跑三遍审校，输出诊断报告（结构/真实性/文风三轴各给分与改法），改不改由用户定。

## References（按需加载，不要全读）

| 文件 | 何时读 |
|---|---|
| `references/story-engine-templates.md` | 阶段 1 建 bible、阶段 2 出选题卡时复制模板 |
| `references/mckee-principles.md` | 阶段 3 结构设计、阶段 7 审稿 |
| `references/style-huacheng.md` | 用户要化城志/志怪风格时的阶段 1、2、6 |
| `references/pro-workflows.md` | 长篇/短篇形态的阶段 2、3；卡文时换方法（方法库参考，操作步骤以本文件十阶段为纲） |
| `references/revision-checklists.md` | 阶段 6、7 的全部清单 |
| `references/novel-pipeline.md` | 长篇模式（10万字级）：workflow 编排/断点恢复/Codex 翻译与插图/PDF 成书 |

## Anti-Patterns

- ❌ 不建 bible 直接开写（= 临场发挥的世界，必然自相矛盾）
- ❌ 解释超自然机制（志怪的恐怖感来自"莫知其故"，解释即祛魅）
- ❌ 用"突然/没想到"制造转折（翻转必须由前文纠葛推出来，巧合只准用于把人物逼入困境，不准用于解围——deus ex machina 是罪）
- ❌ 每篇都阴冷或每篇都温暖（集子要呼吸）
- ❌ 把用户的稿子重写成自己的风格（诊断模式只诊断，动笔须授权）
- ❌ 一次性生成整本（逐篇走流水线，每篇独立验收）

