---
name: sw-workflow
description: Project orchestrator for the screenwriting skill set (剧本项目主线调度 / 状态存档 / story bible) — a meta-skill that adds no new craft knowledge but routes a screenplay or stage-play project through stages (premise → structure → character → scenes → draft → revision → submission), names which sw-* skill to invoke at each stage, defines each stage's deliverable and advisory exit check, and keeps all project state in a story-bible.md file so work can resume across sessions. Use when starting a new script project, resuming one ("continue my screenplay", "where were we"), when the user asks "what should I do next" on a script, when converting a vague idea into a full development pipeline, or when the other sw-* skills are firing individually and the overall process needs sequencing.
---

# 剧本项目主线调度（Workflow & Story Bible）

本 skill 不含新的编剧知识，只做两件事：**排顺序**（哪个阶段调用哪个 skill、交什么、什么算过关）和**存状态**（把每阶段结论写进 `story-bible.md`，下次会话接着做）。所有方法都在其他 sw-* skill 里，本 skill 只负责在正确的时刻把它们叫出来。

设计依据来自一次对照实验：同一题目，按流程先填工作单再写，与不用流程直接写相比，篇幅、主角主动性、对手强度、潜台词全部不同；差别不在知识，在于"动笔前必须填的表、写完后必须过的清单"。本 skill 就是那张表和那份清单的调度器。

story-bible 模板与各阶段工作单见 [reference.md](reference.md)。

---

## 一、会话协议（每次开始与结束都执行）

### 开始

1. 在当前目录（或用户指定的剧本目录）找 `story-bible.md`。
2. **找到**：只读"当前阶段""已定决策""决策日志"三节，用三句话向用户复述：项目是什么、做到哪一步、上次定了什么。然后直接进入当前阶段，不重新讨论已定决策，除非用户主动推翻。
3. **没找到**：判断入口路径（见第三节），按 reference.md 模板新建 `story-bible.md`，只填"项目信息"和"当前阶段"，其余留空。不要一次问用户四个以上的问题；能从用户的话里推断的先填上，标"（待确认）"。

### 进行中

- 每完成一个阶段的交付物，立刻写进 story-bible 对应节，并把"当前阶段"推进一格。
- 任何改变既定决策的动作（换前提、换结尾、删人物）都在"决策日志"加一行：日期、改了什么、为什么。
- story-bible 保持在一次能读完的长度（约 25K token，中文 1.5 万字以内）。产物只写结论，不写推导过程；大纲、处理台本、剧本正文放独立文件，bible 里只记文件名和一句状态。

### 结束

- 会话结束前确认 story-bible 已更新到最新，最后一行写"下一步："一句话。

---

## 二、阶段图

| # | 阶段 | 调用的 skill | 交付物（写入 story-bible 的节） | 建议通过标准 |
|---|---|---|---|---|
| 0 | 启动 / 续写 | 本 skill | 项目信息、入口路径、当前阶段 | 知道要做什么类型、多长、给谁 |
| 1 | 选材与前提 | `sw-premise-theme` | 闪念与"为什么在乎"、主旨一句、假设问题、**前提**（人物特质＋导致＋结局）、**主控思想**（价值＋原因）、第三条轨道（渴望 vs 错误信念）、戏核、一句话故事、logline | 前提只有一个；能向陌生人一句话说清；戏核抽掉戏不成立；主题词定了 |
| 2 | 结构 | `sw-story-structure` | 结尾、开端、情节点Ⅰ/Ⅱ、中点性质（胜利假象/失败假象）、BS2 页码表、幕比例、次情节与主控思想的关系 | 四件事（结尾/开端/两个情节点）都知道；铺垫≤25 页；中点与"失去一切"互为反面；最后一幕最短 |
| 3 | 人物与冲突 | `sw-character-conflict` | 主要人物三维表、具体类别、对主题态度、对立统一的绑定物、对手的刀、成长阶梯、原初场景 | 主角最多维；对手总和强于主角；没有两人同型；有"最强的对手是自己"的一面；没有祥云 |
| 4 | 场景清单 / 处理台本 | `sw-scene-craft` ＋ `sw-format-adaptation` | 步骤大纲（每场一两句＋价值转折＋结构位置）、演示板 40 卡（+/-、><）、道具与形象系统、处理台本（可选） | 每场价值有转折；第三幕不止两张卡；相邻场景有过渡要素；无纯解说场 |
| 5 | 初稿 | `sw-dialogue` ＋ `sw-format-adaptation`（格式与输出契约）＋ 参照类 skill | 剧本文件（好莱坞式交 `.fountain`，中文场号制或日式交纯文本，见 `sw-format-adaptation` 二之二）、页数、每日进度 | 页数在目标 ±15%；格式硬规则全过；对白遮名可辨 |
| 6 | 修改 | 各 skill 的"诊断清单" | 修改目标清单、逐项完成记录、稿次 | 结构诊断 13 问、人物诊断 14 问、对白诊断 14 问、场景诊断 13 问、格式诊断 11 问都跑过一遍 |
| 7 | 提交 / 行业 | `sw-industry-business` | logline 与一页梗概、推销稿、目标买家/比赛、署名与登记 | PROBLEM 七要素自检通过；一句话经过陌生人测试 |

**参照类 skill 何时进入**：
- `sw-american-case-studies`：阶段 1–2 找同类型片单和陈词滥调；阶段 6 对照同类型高潮。
- `chekhov-dramaturgy`、`ozu-screenplay-style`：写反高潮、多主人公、家庭题材、"事件画外反应画内"时，从阶段 2 起作为结构与语气的样板。
- `sw-japanese-screenwriting`、`sw-korean-french-screenwriting`：片段优先、主题后置、类型承诺、集体创作等替代路径；用户明确不走三幕经典设计时在阶段 1 就引入。

**阶段可以回退**：阶段 5 发现对白写不动，通常是阶段 3 的人物或阶段 1 的前提有洞，回去补，然后在决策日志记一笔。

---

## 三、入口路径

| 用户情况 | 从哪个阶段开始 | 特别处理 |
|---|---|---|
| 从零写长片 / 多幕剧 | 0 → 1 → … → 7 全走 | 标准路径 |
| 手里已有初稿要改 | 先做阶段 1–3 的**反向填表**（从稿子里提取前提、结构、人物填进 bible），再进阶段 6 | 填表时把稿子里没有的项标"缺"，这些缺项就是修改清单 |
| 改编小说 / 舞台剧 / 真实事件 | 0 → `sw-format-adaptation` 改编四问 → 1 → 2 … | 阶段 1 先答"原素材的冲突主要在哪一层面、要重新发明什么"；真人故事先确认授权 |
| 短片 / 小戏 / 独幕剧 | 1 → 2（用陆军起承转合与八法代替 BS2）→ 3 → 5 | 演示板缩到 10–15 卡；人物≤5；戏核必须先有 |
| 只有一个点子，不知道能不能写 | 1（只到一句话故事）→ 7 的 PROBLEM 自检 | 通过再回 2；不通过就换点子，bible 里保留被否的点子和原因 |
| 电视剧 / 剧集 | 1 → 2（每集结构＋季结构两层）→ 3 → 企画书 | 企画书格式见 `sw-format-adaptation` reference 的大宫艾丽模板 |
| 行业问题（怎么卖、署名、经纪人） | 直接 7 | 不建 bible |

---

## 四、每阶段的最小动作

不必把对应 skill 全文读一遍。每阶段先读该 skill 的"工作流程"和"诊断清单"两节，需要具体方法再读对应章节，需要范例再读 reference.md。

**阶段 1**：按 `sw-premise-theme` 第十二节 12 步走；产物填入 bible 的"前提与主题"节。若用户给的是歌、画、新闻等外部素材，先只取叙事骨架与意象，编号、名字、句子另编。

**阶段 2**：先定结尾；再按目标页数换算 BS2 页码（110 页表按比例缩放：主题 5%、触发 11%、二幕 23%、中点 50%、失去一切 68%、三幕 77%）；填页码表；写"中点是什么假象、失去一切是什么反面"。

**阶段 3**：每个主要人物填三维表一行；单独写"对立统一的绑定物是什么、只有谁的哪个特性消亡才能打破"；给对手至少一把刀；列主角的镣铐。

**阶段 4**：步骤大纲每场一行：`场次 | 内外·地点·日夜 | 一句话 | 押上的价值 开→结 | 结构位置`；然后过一遍"删掉会怎样"，价值不变的场删。

**阶段 5**：每天写完更新 bible 的"进度"一行（页数、写到第几场）；发现设计缺陷不在稿子里硬改，回 bible 改设计再改稿。

**阶段 6**：把五份诊断清单的问题逐条列成修改目标，一条一条销；先第二幕，再对白，最后格式。

**阶段 7**：从 bible 的"前提与主题"节直接生成 logline 与一页梗概；跑 PROBLEM 七要素。

---

## 五、通过标准怎么用

- 标准是**建议门槛**，不是硬阻断。用户要跳步就跳，但在 bible 的"当前阶段"旁标"（跳过阶段 3 人物表）"，并在进入阶段 5 前提醒一次。
- 对 AI 自己：每阶段结束用该 skill 的诊断清单自问，把没过的项写进 bible 而不是默默放过。
- 通过标准里凡是能量化的都量化（页数、卡片数、人物数、问号数）。

---

## 六、Subagent 与并行

- **不要**按阶段拆给不同 agent：前提、结构、人物是一体的，拆开会互相矛盾且丢失创作上下文。主线始终在一个会话里。
- **可以并行**的两类工作：
  1. 阶段 6 的多角度审读：结构诊断、人物诊断、对白诊断、场景诊断各派一个只读 agent 跑清单，回收成一份修改目标表。
  2. 大块检索：需要某本 reference.md 里的具体范例或某部作品的逐幕表时，派 agent 去读并只带回结论，避免主线上下文膨胀。
- 并行 agent 只读 bible 和稿子，不改 bible；改动由主线汇总后写入。

---

## 七、反模式

- 直接从点子跳到写剧本（"冒牌的处理台本"）。
- 每次会话把 bible 从头重写，或者忽略"已定决策"重新讨论前提。
- 把推导过程全塞进 bible，导致下次读不完。
- 一次问用户十个问题；应先按推断填上，标"待确认"，让用户改。
- 让"通过标准"变成拒绝继续的理由。
- 用 subagent 分阶段写。

---

## 八、自检

1. 当前目录有没有 `story-bible.md`？读了"当前阶段/已定决策/决策日志"了吗？
2. 这次会话推进了至少一个阶段的交付物并写回了吗？
3. bible 还能一次读完吗？
4. 有没有改动已定决策而没记日志？
5. 结束时写了"下一步："吗？
