zenstory-ai/drama-skills · 第 3 次运行

写了一份全剧骨架,2,989 字(去掉空白计)。

skill
zenstory-ai/drama-skills@33eb7fec
装进工作目录的 skill
short-drama、short-drama-assets、short-drama-develop、short-drama-edit、short-drama-image-prompts、short-drama-knowhow、short-drama-novel-analyze、short-drama-produce、short-drama-review、short-drama-storyboard、short-drama-video-prompts、short-drama-write
时间
2026-10-31 08:30–08:37(北京时间),7 分钟
轮数
6 轮,工具调用 23 次,按 API 价格折算 $8.76
匿名编号
271(评审只看到这个编号)
盲比
和另外 20 个参赛者的第 3 次运行各比一场:对照组(不装 skill) · eternityspring/shuohao-skills · lixiaoxiao9888-create/manju-laoli-skill · jtydhr88/screenwriting-skills · Shanyin-ai/shanyin-screenwriting-master · lixiaoxiao9888-create/short-drama-factory · adoria111/emma-screenwriting-skills · zhu5859243-free/hongguo-shortdrama-screenwriting · catyiqian/qianqianwriting · Hao0321/ai-short-drama · zenstory-ai/oh-story-claudecode · lingfengQAQ/webnovel-writer · 0xsline/short-drama · Tomsawyerhu/Chinese-WebNovel-Skill · xindoo/sumeru · LanyXiaosheng/bookflow-skill · dama-cyber/Distilled-Novel-Toolbox · tance-mang/chinese-webnovel-skills · xiaofeng-928/chinese-longnovel-skill · qingyabailu-git/webfiction-write
原始文件
产出和问答记录 · 原始日志

写出的文件

标了标签的是认定为全剧骨架、拿去匿名打包的文件(deliverables.toml)。

验尸官的婚礼-全剧骨架.md 全剧骨架 3,296 字
# 《验尸官的婚礼》全剧骨架

60 集|竖屏|每集 1–2 分钟|AI 拍摄

本骨架用来管住分集大纲和剧本。大纲和骨架冲突时,先改骨架,再改大纲。集号可以前后挪两三集,台阶的顺序不能变。

## 一、戏剧承诺

林晚要给解剖台上那具无名尸写回名字:**死者沈峥,他杀**。每一集她拿出一件看得见的证据,让沈家和周启年失去一样还能用的东西。可她每往前一步,都离自己签过的那份“意外”更近。观众看的是一个法医拿证据讨债,最后连自己欠的那笔也还上。

## 二、锁死的事实

- 三年前那具无名男尸就是沈峥:后脑挨了扳手,被推下海,三天内火化。林晚最初判“他杀”,被周启年逼着改成“意外”,签了字。
- 新郎程野是替身。宋婉仪找人顶替儿子是为了保住股份,她一直以为儿子是意外落水。
- 凶手是宋知远,因为沈峥发现他借港口洗钱。
- 结局照选题卡,不改。

## 三、故事引擎

**一轮回路**:林晚亮出一件证据 → 沈家或周启年毁证、抹黑 → 她赢下这一局,但证据只证明它能证明的那一层 → 剩下的那一层逼她去找下一件 → 她当年的签字被更多人看见。

**每集铁律**

1. 每集至少一件看得见的证据,写清它直接证明什么、还证明不了什么。
2. 对手每次反制都要动真手段:程序、钱、舆论、亲属,或者她自己的签名。证据被毁也不能退回原点,总要有人已经看见、有一条退路已经堵死,或者对手亮出了新底牌。
3. 对手会学习,同一招不能对同一个人用第二次。
4. 宋知远手里最狠的一张牌始终是林晚的签名:“意外是你亲手签的。”

**引擎在哪里停**:林晚不再护着自己的签名。她亲手把自己的错交上法庭,所有拿这件事要挟她的筹码同时作废,回路就此结束。

## 四、四道台阶

| 集 | 要证明 | 关键证据 | 能证明 / 还证明不了 |
|---|---|---|---|
| 1–10 | 新郎不是沈峥 | 婚礼上摘下手套的左手,虎口没有疤;新郎酒杯和沈砚做的亲缘比对 | 新郎是冒牌的 / 真沈峥在哪 |
| 11–22 | 无名尸就是沈峥 | 存档解剖照片上的虎口疤;中心留着的病理蜡块切片,和沈砚比 DNA | 死者是沈峥 / 他怎么死的 |
| 23–36 | 沈峥死于他杀 | 切片显示他入水时还活着,后脑是工具伤;周启年偷录的签字录音 | 报告被人改过 / 是谁下的手 |
| 37–52 | 凶手是宋知远 | 游艇上的扳手;伤口角度推出凶手比死者高半头;存档照片里尸体手中的船锚袖扣 | 宋知远动的手 / 法庭信不信 |
| 53–60 | 让判决成立 | 林晚推翻自己的报告,重新签名 | 全部 |

## 五、五段走向

**1–10|婚礼**:苏曼丽把请柬寄给被退婚的林晚,等着看她出丑。交换戒指时新郎摘下手套,林晚看见光洁的虎口,当众说“你不是沈峥”,被沈家定性成退婚怨妇。宋知远出来打圆场,客客气气把她送出门。答谢宴上,苏曼丽偷偷塞给她一张求救房卡。段末:亲缘比对出了结果,沈砚第一次站到她这边;周启年以“违规取样”为由让她停职。

**11–22|无名尸**:尸体早已火化,剩下的只有档案室里的蜡块。周启年要销毁存档,宋婉仪买通媒体,把她写成“迷恋前任尸体的女法医”。程野私下松口:一年前退婚,是怕她摸到他的手。段末:DNA 证明死者是沈峥。宋婉仪这才知道,儿子当年被当成无名尸火化了;她崩溃了,却仍然选择护住替身。

**23–36|他杀**:要证明他杀,林晚就得先认下自己签过假报告。她拿到周启年留着要挟她的录音,里面有周启年下令改结论,也有她自己说“我签”。她选择**先压住录音**,拿它逼周启年交出两样东西:当年从尸体手里取走的袖扣,还有付款记录。钱是从宋婉仪名下的账户走的,林晚于是转去追宋婉仪。段末:沈砚坦白,游艇那晚他也在船上,醉得什么都记不清。

**37–52|交割**:沈峥三十岁的股权交割日越来越近。宋知远把扳手上的指纹引到沈砚身上,沈砚被抓。林晚靠伤口角度推出凶手的身高,替沈砚翻了案,证据却指向那个一直在调停的舅舅。苏曼丽为了苏家的港口反水,偷走袖扣交给宋知远。交割一完成,程野就知道下一个“意外”轮到自己了。他交出宋知远威胁他的录音,换林晚保住他妹妹。段末:实物袖扣没了,林晚拿存档照片对上宋知远袖口那只新的,确认凶手是他。

**53–60|签名**:宋知远照着游艇那一套,把程野推下海,林晚把人救了回来。宋婉仪在股份和儿子之间选了儿子。宋知远把苏家推出去顶港口的账,苏曼丽第二次换边,出庭作证。庭审上,宋知远拿林晚的签名攻击她的证词;林晚当庭放出那段录音,连同自己的声音,推翻原报告,重新签名。周启年当庭被带走。尾声:沈砚亲手给哥哥刻好墓碑,无名骨灰终于有了名字,林晚把表放在墓前。

## 六、人物线

| 人物 | 要什么 | 手里有什么 | 转变(集) |
|---|---|---|---|
| 林晚 | 给死者写回名字 | 证据、专业、一张利嘴 | 30 压住录音,先保自己 → 59 当庭把自己交出去 |
| 程野 | 活下去,保住妹妹 | 沈峥的声音、步态、签名 | 15 私下松口 → 48 倒戈 |
| 沈砚 | 弄清哥哥出了什么事 | 沈家内部的门路 | 10 信她 → 36 坦白游艇那晚 → 庭审时第一次扣上西装扣子 |
| 苏曼丽 | 自保,保家里生意 | 社交圈、舆论 | 4 塞房卡 → 45 反水 → 57 出庭作证 |
| 周启年 | 保住位子 | 停职权、档案、录音 | 一路压林晚 → 59 被自己的录音钉死 |
| 宋婉仪 | 保股份,保沈家脸面 | 钱、媒体、替身 | 22 知道儿子被当成无名尸火化 → 33 知道是他杀 → 55 知道凶手是弟弟,交出沈氏 |
| 宋知远 | 洗钱的事不露 | 调停人的身份、港口、她的签名 | 52 之前一直像个帮手 |

## 七、信息释放

- 第 1 集,观众和林晚一起知道新郎是替身。
- 第 3 集起给宋知远的公平线索:他总摸袖扣,一只比另一只新;个子高;什么事都由他“去安排”。观众第 44 集确认他是凶手,林晚第 52 集确认。
- 宋婉仪以为是意外,第 22 集让观众看到这一点。
- 林晚的签名会被怎么用,观众不比她先知道。

## 八、第一集入口

比过三个入口:从一年前退婚开始,等得太久;冷开放庭审签名,提前花掉结局;从婚礼摘手套开始,当集就能交代她是谁、遇上什么事、要做什么。**选婚礼,开头先接一拍冷开**:第一帧是解剖台上一只左手,虎口一道疤;切到婚礼,同一个角度,新郎摘下手套,虎口光洁。两只手不靠台词就能提出问题。集尾她说出全剧目标:“那份报告,我要改回来。”

## 九、制作边界与节奏档案

- 大场面只有婚礼、答谢宴、交割会和庭审,其余的戏放在走廊、档案室、停尸间、地库和车里。
- 程野和沈峥是同一张脸。沈峥只在闪回里露手、表和背影,两人靠疤和手套区分。
- 证据道具跨集复用,原件、复印件和涂改过的那份要在画面上分得出来。
- 游艇夜戏只拍沈砚的记忆碎片,不拍完整的落海过程。
- 节奏起点:第一个钩子不晚于第 5 秒;两个情绪触点之间不超过 30 秒;每集至少一次有对手参与的反转;集尾停在最高点;下一集开头先接上一集最后一拍。视频模型和语速定下来以后,再核对平均镜头长度。

## 十、补充设定(选题卡之外,已定)

1. 沈峥虎口有疤。三年前林晚注意到了尸体上的疤,可那一周“沈峥”从国外打来电话(是程野模仿的声音),她就没再追。
2. 那块表是沈峥订婚时送她的,程野从来没问起过。
3. 程野的妹妹是宋知远拿来要挟他的筹码。
4. 股权交割日是全剧的倒计时。
5. 周启年偷录了签字过程;钱从宋婉仪名下账户走,经手人是宋知远。
6. 配角结局:周启年以受贿、出具虚假鉴定被追责;苏曼丽作证后,那段跟替身的婚姻被认定无效;沈砚洗清嫌疑,给哥哥立碑。林晚本人怎么处理不交代,全剧停在她签名的那一刻和墓前。

过程

按时间顺序。点开工具调用能看到完整的输入和返回;思考的内容 Claude Code 不对外输出,日志里只有「在这里思考过多久」。

第 1 轮

输入:
/short-drama-develop 我要给一部短剧写全剧骨架,要求在 premise.md 里,写好存成文件放在当前目录。

思考

Bash List directory and read premise

输入

ls -la && cat premise.md && ls .claude/skills/short-drama-develop/references .claude/skills/short-drama-develop/assets

返回

total 16
drwxr-xr-x  4 user  wheel   128 Oct 30 17:30 .
drwxr-xr-x  5 user  wheel   160 Oct 30 17:30 ..
drwxr-xr-x  4 user  wheel   128 Oct 30 17:30 .claude
-rw-r--r--  1 user  wheel  4233 Oct 30 17:30 premise.md
这是一张选题卡。它要拍成 60 集竖屏短剧,每集 1–2 分钟,全部由 AI 拍。
请交一份全剧骨架:整部剧怎么走,用来管住后面的分集大纲和剧本。
只交骨架,不写分集大纲和剧本正文,3000 字以内。

《验尸官的婚礼》

标签:女频、大女主、复仇、悬疑、豪门

一句话卖点:被退婚的女法医去参加前未婚夫的婚礼,一眼认出新郎是替身:真新郎三年前就躺在她的解剖台上。

观众代入谁:林晚,被当众退婚的女法医,冷静、专业,靠本事翻盘

爽点落在谁脸上:沈家一家,和三年前逼她签字的周启年

故事靠什么往前推:每一集她都要拿出一样看得见的证据:一道疤、一张切片、一段录音。沈家每次都想办法毁掉证据、抹黑她;她每赢一次,就离“三年前是谁杀了沈峥”更近一步,也离她自己签过的那份假报告更近一步。

人物:
- **林晚**(女主 · 法医)
  - 样子:28 岁,齐耳短发,素颜,常穿一件深灰长风衣;左手腕戴一块男式旧机械表,表带磨白了。说话不抬声调。
  - 小传:市法医中心的法医,干了七年。四年前和沈家长子沈峥订婚,一年前被“沈峥”当众退婚,说她天天摸死人、晦气。三年前她解剖过一具无名男尸,最初写的是“他杀”,被周启年逼着改成“意外”,签了字,这是她心里的一根刺。冷静,嘴不饶人,认证据不认人。
- **程野**(新郎 · 顶着沈峥的脸的替身)
  - 样子:30 岁,和沈峥一样的脸、一样的金丝眼镜;婚礼上一直戴着白手套,左手虎口光洁,没有疤。
  - 小传:欠了一身赌债的模仿演员。三年前被宋家找去整容,学沈峥说话、走路、签名,替他活着。他不知道沈峥是怎么死的,只知道自己哪天没用了,也会“意外”。
- **沈砚**(沈家二少 · 沈峥的弟弟)
  - 样子:26 岁,寸头,西装从来不扣扣子,右耳一枚黑耳钉,笑起来像什么都不在乎。
  - 小传:从小跟在哥哥后面。三年前哥哥从国外“养病”回来,他第一个觉得不对,可没人信他。那晚游艇上他也在,喝醉了,什么都记不清,这件事他谁都没说。一开始不信林晚这个法医,后来成了她在沈家唯一的内应。
- **苏曼丽**(新娘 · 苏家千金)
  - 样子:26 岁,长卷发,永远带着全妆,酒红色指甲。
  - 小传:苏家和沈氏一起做港口生意,她嫁进沈家是两家的买卖。新婚夜她就觉得丈夫不对,却不敢说。前期带头踩林晚,答谢宴上偷偷把求救的房卡塞给她;为了家里的生意,后面还会反水一次。
- **周启年**(法医中心主任 · 三年前逼她签字的人)
  - 样子:55 岁,花白背头,老花镜挂在胸前,腕上一块和工资不相称的金表。
  - 小传:林晚的老领导。三年前收了宋知远的钱,把那具无名男尸的结论从“他杀”改成“意外”,逼林晚签字,三天内火化。
- **宋婉仪**(沈家主母 · 沈峥、沈砚的母亲)
  - 样子:52 岁,盘发,素色旗袍,珍珠耳环,说话永远轻声细语。
  - 小传:丈夫早逝,靠弟弟宋知远撑起沈氏。按老爷子的遗嘱,长孙沈峥三十岁接手沈氏一半的股份,人没了就归二房。三年前儿子“落水”,她为了保住股份找人顶替了他,一直以为儿子是意外死的。
- **宋知远**(宋婉仪的弟弟 · 沈氏海外业务负责人)
  - 样子:48 岁,高个子,笑容和气,袖口总是一对船锚形状的银袖扣。
  - 小传:沈家人眼里最可靠的舅舅。借沈氏的海外港口洗钱,三年前被沈峥发现,在游艇上用扳手砸了他的后脑,推下海;之后买通周启年改了结论,又让姐姐以为是意外。全剧最后的对手。

结局:宋知远认罪伏法,宋婉仪交出沈氏,程野带着妹妹去自首。林晚当庭推翻自己三年前签的报告,重新写下“死者沈峥,他杀”,签上自己的名字。最后一场,她把那块表放在沈峥的墓前。
.claude/skills/short-drama-develop/assets:
adaptation-map.example.jsonl
creative-brief.md
episode-map.jsonl
story-engine.md

.claude/skills/short-drama-develop/references:
adaptation-craft.md
creative-reference-intake.md
director-brief-craft.md
episode-design.md
genre-and-hook-playbook.md
genre-cards
genre-cards.md
mechanism-loop.md
multi-episode-intake.md
premise-devices.md
reveal-reversal-payoff.md
serial-character-and-memory.md
stage-contract.md
story-craft.md

思考 1 秒

Bash Read skill references and templates

输入

cd /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/.claude/skills/short-drama-develop && cat references/stage-contract.md references/story-craft.md references/episode-design.md assets/story-engine.md assets/creative-brief.md; ls references/genre-cards; cat references/genre-cards.md

返回

<persisted-output>
Output too large (83.5KB). Full output saved to: /Users/user/.claude/projects/-scratch-003-ws-003-skeleton-zenstory-ai--drama-skills-run-3/de1e489f-3ad7-4811-8b64-60d6c75607f0/tool-results/bq8ch4rob.txt

Preview (first 2KB):
# 开发阶段契约

## 目录

- [独立运行与项目集成](#独立运行与项目集成)
- [所有权边界](#所有权边界)
- [制作形态需要什么](#制作形态需要什么)
- [本阶段规则](#本阶段规则)

本契约包含预检、所有权、制作形态输入与规则表,独立使用本技能时即可据此执行。

## 独立运行与项目集成

本技能可以单独安装并运行;项目工具可用时,按以下方式集成。

1. **读取直接输入**:只读取用户明确提供或当前任务实际需要的文件,不批量加载整个项目。
2. **可选项目集成**:若存在 `short-drama.json` 且 core 项目工具可用,可以运行
   `python3 <core>/scripts/project_tool.py status <project>`,使用返回的目录布局和语言设置;
   core 不可用时,直接基于已提供输入产出本阶段文件。
3. **可选发布生命周期**:项目工具可用时,用 `publish` 原子发布并用 `--input <path>`
   声明直接输入;`accept`、`review` 与 `package` 继续承担确认、复核与交付。
4. **保持职责分离**:创作者确认、内容修订和复核是不同动作;reviewer 提修改要求,负责人改文件。

## 所有权边界

- **本阶段拥有**:系列承诺、冲突引擎、弧线、已规划的单集契约;已规划的知识/目标/关系/
  交接状态;改编取舍与题材选择。
- **本阶段继承**:创作者已接受的方向、约束、题材与受众承诺。
- **本阶段不越权**:不写逐镜事实,不指定供应商字段,不代替剧本决定场景怎么演。剧本环节
  只投影本契约,不复制它;契约变化时由本阶段发出修订,让下游刷新引用。

## 制作形态需要什么

创作者已接受的视觉方向与制作形态由项目层决定并传入。**本技能不加载形态卡,也不自行选择
形态**,而是据此明确叙事职责、运动预算、未决试验和节奏起点。

形态决定属于 `craft_default`:创作者说明理由即可覆盖。形态不能创造新的
`structural_invariant`,也不能改写身份、地理、持物归属与可读文字政策。审查者不得单凭
形态偏好阻断交付。

形态差异要落实到**必须出现和可以省略的字段**,让后续环节能够执行和审查;只加风格
前缀无法交代这些职责。

本阶段要向形态决定问四件事,答案写进创作简报,不写进剧本:

- **叙事职责**:这种形态要帮观众更快看懂什么、感到什么——不能只写“高级”“电影感”。
- **运动预算**:哪些段落必须全动作,哪些可以靠保持姿态、局部循环、视差或剪辑完成。
  这直接决定分集地图里哪些场面写得起、哪些要换写法。
- **未决试验**:哪些形态能力还没验证过,需要先做小样。
- **节奏起点**:这种形态的项目节奏档案从哪组默认值起步(`STY-26`)。

本阶段记录叙事职责、形态假设、运动预算、未决试验与节奏档案候选;造型、材质、光线和镜头字段由后续环节负责。

## 本阶段规则

### `STY`

| ID | Class | Knowledge |
|---|---|---|
| STY-01 | craft_default | State the promise as protagonist, pursuit, costly opposition, and recurring payoff. |
| STY-02 | craft_default | Build a repeatable conflict engine whose pressure can change power, knowledge, relationship, exposure, cost, or time. |
| STY-03 | reviewed_invariant | A beat/episode escalation must change a story state rather than repeat the same pressure louder. |
| STY-04 | craft_default | Enter with pressure active and deliver part of the promised payoff before the outgoing hook. |
...
</persisted-output>
被拦下 Read /Users/user/.claude/projects/-scratch-003-ws-003-skeleton-zenstory-ai--drama-skills-run-3/de1e489f-3ad7-4811-8b64-60d6c75607f0/tool-results/

输入

{
 "file_path": "/Users/user/.claude/projects/-scratch-003-ws-003-skeleton-zenstory-ai--drama-skills-run-3/de1e489f-3ad7-4811-8b64-60d6c75607f0/tool-results/bq8ch4rob.txt",
 "allow_large": true
}

返回

<tool_use_error>File is in a directory that is denied by your permission settings.</tool_use_error>
Bash Read stage contract rules and file sizes

输入

sed -n '30,200p' references/stage-contract.md | head -80; wc -c references/*.md assets/*

返回

  只投影本契约,不复制它;契约变化时由本阶段发出修订,让下游刷新引用。

## 制作形态需要什么

创作者已接受的视觉方向与制作形态由项目层决定并传入。**本技能不加载形态卡,也不自行选择
形态**,而是据此明确叙事职责、运动预算、未决试验和节奏起点。

形态决定属于 `craft_default`:创作者说明理由即可覆盖。形态不能创造新的
`structural_invariant`,也不能改写身份、地理、持物归属与可读文字政策。审查者不得单凭
形态偏好阻断交付。

形态差异要落实到**必须出现和可以省略的字段**,让后续环节能够执行和审查;只加风格
前缀无法交代这些职责。

本阶段要向形态决定问四件事,答案写进创作简报,不写进剧本:

- **叙事职责**:这种形态要帮观众更快看懂什么、感到什么——不能只写“高级”“电影感”。
- **运动预算**:哪些段落必须全动作,哪些可以靠保持姿态、局部循环、视差或剪辑完成。
  这直接决定分集地图里哪些场面写得起、哪些要换写法。
- **未决试验**:哪些形态能力还没验证过,需要先做小样。
- **节奏起点**:这种形态的项目节奏档案从哪组默认值起步(`STY-26`)。

本阶段记录叙事职责、形态假设、运动预算、未决试验与节奏档案候选;造型、材质、光线和镜头字段由后续环节负责。

## 本阶段规则

### `STY`

| ID | Class | Knowledge |
|---|---|---|
| STY-01 | craft_default | State the promise as protagonist, pursuit, costly opposition, and recurring payoff. |
| STY-02 | craft_default | Build a repeatable conflict engine whose pressure can change power, knowledge, relationship, exposure, cost, or time. |
| STY-03 | reviewed_invariant | A beat/episode escalation must change a story state rather than repeat the same pressure louder. |
| STY-04 | craft_default | Enter with pressure active and deliver part of the promised payoff before the outgoing hook. |
| STY-05 | structural_invariant | Incoming/setup/payoff references resolve to known records or are explicitly unresolved. |
| STY-06 | taste_option | Hook form, arc shape, episode count, and climax position follow the creator's format; how many seconds before the first hook and between emotional beats comes from the accepted rhythm profile, not from this rule. |
| STY-07 | reviewed_invariant | Every adaptation treatment—merge, carrier change, compression, reordering, or addition—preserves each core source character's stance toward the protagonist and way of acting, the core relationships, and the main line, and contradicts no source fact, unless the creator has accepted that change; a proposed change of stance or relationship keeps its actual disposition, names the change in `lost_or_changed`, and stays at `creator_acceptance.status` `pending` until then. Character/scene merges also preserve dramatic function, knowledge permissions, relationship position, and causal bridges. |
| STY-08 | craft_default | Translate exposition through consequential behavior, evidence, spatial pressure, or dialogue strategy before adding neutral explanation. |
| STY-09 | reviewed_invariant | A reveal/reversal grows from established facts and changes a plan, explanation, relationship, or costly choice. |
| STY-10 | craft_default | Establish the recurring-payoff promise once the opening pressure makes it legible; an opening may imply, delay, or state it according to genre and creator intent. Plan each outgoing hook from the episode's local result rather than repeating a type by quota. |
| STY-11 | craft_default | Build only the prior-world reservoir needed to predict present choices, then enter where pressure is already active; the moment an established strategy begins to create visible cost is one candidate, weighed for the first episode against the payoff and cold-open entries of STY-25. |
| STY-12 | reviewed_invariant | Claimed character progression cites a pressure test, choice or retreat, local result, cost, and changed visible strategy. It is recorded once per character in the story engine, not restated in every episode record; the episode carries only the local result and the outgoing pressure it produced. |
| STY-13 | reviewed_invariant | Each episode produces a local dramatic result before its outgoing hook; serialization cannot rely only on pausing an unfinished action. |
| STY-14 | craft_default | Maintain compact serial memory for character strategy/state, relationships, information permissions, setup debt, rhythm, and exact handoff. |
| STY-15 | reviewed_invariant | Calibrate each information release to what its visible carrier directly supports, while keeping unproved identity, cause, motive, or mechanism explicit as unresolved inference. |
| STY-16 | craft_default | Before scene work, estimate each planned episode's shot and duration magnitude from the project's own accepted ratios, and resolve order-of-magnitude outliers in the map; the estimate informs the creator and never blocks delivery. |
| STY-17 | reviewed_invariant | A premise device separates its creator-accepted contract (scope, failure conditions, cost, whether its own declarations are reliable) from in-fiction disclosure; the contract is accepted before the device first takes effect, while disclosure may lag, stay partial, or be misstated by a character or the device itself. Every later device ability or exemption traces to a contract clause—an untraceable one is retroactive widening—and the audience not yet knowing every boundary is never itself a defect. |
| STY-18 | structural_invariant | A multi-episode source is read through an exact-byte episode index that `verify` checks against the current source — total length, span validity, ordering, and line/byte agreement — so an edit that changes any length is reported. A same-length rewrite in place is not, and source drift still invalidates every old span, so whoever edits the source re-indexes it. Resume derives missing IDs from the current episode map rather than a last-completed guess. |
| STY-19 | craft_default | For a multi-episode source, the Agent chooses each batch from this file's measured episode spans, semantic complexity, and available context, then reads only the current slices and compact accepted handoff; no fixed episode quota substitutes for that judgment. |
| STY-20 | craft_default | Name each unit's repeating mechanism, the payoff the audience can expect from every run of it, and the condition under which the loop ends; the first run demonstrates the mechanism in full so later runs pay off on recognition, and each further run changes the opponent's knowledge, the execution difficulty, the mechanism's scope, who is now aware, or which retreat is closed. |
| STY-21 | craft_default | Retire a loop deliberately—close it, remake one of its premises, or hand it to another character—before opening the next one, and carry the stake, deadline, and exit cost forward instead of rebuilding urgency from zero; a new loop opened alongside an unsettled one weakens both. |
| STY-22 | craft_default | When returning to a long source for detail while writing downstream, retrieve with an event anchor—character plus place/object plus the current action or conflict—rather than a recurring concept term; read back the matched span instead of writing from the search summary; and before use, check the excerpt's knowledge state against the episode's entry state, treating anything ahead of it as reference only. Recall fills in detail for an accepted contract; pulling a later source beat forward is legitimate adaptation, done as a `move_earlier` or `cold_open` revision of the episode map rather than while writing an episode. |
| STY-23 | reviewed_invariant | A source fact the brief registers as unchangeable is either realized on screen inside the episodes this round covers—named in the episode record and present in that episode's screenplay—or explicitly deferred to a named episode. A visible carrier an episode record declares must actually appear in that episode's screenplay; a carrier that only works as a comparison needs both of its halves staged. Registering a fact is not paying it off. World-setting facts in particular may be deferred to the episode where they first change a choice; the first episode owes only the rules its own conflict uses. The suite runs no mechanical check for this; the reviewer cites the brief and the episode record against the screenplay. |
| STY-24 | reviewed_invariant | Each episode's directional turn and its payoff inside that episode name one concrete visible action -- who did what -- rather than only the function or state change it achieves; an opposing force's leverage is likewise written as something it has done or will do. The suite runs no mechanical check; the reviewer cites the function against the visible action that carries it, and a function with no such action is the defect. It does not require a full scene. |
| STY-25 | craft_default | Choose the first episode's entry from at least three candidates, one of which moves a later climax forward as a cold open. Score every candidate on the same two counts: the single image the viewer sees in the opening frame and the question it raises on its own, without reading on-screen text or knowing who anyone is; and the episode's payoff. Prefer an entry whose opening image is itself a hook, with a strong payoff, that lets the episode establish the protagonist's identity, crisis and goal before it ends, and state the big goal early and concretely enough to check. |
| STY-26 | craft_default | Propose a project rhythm profile (`creator_authority.rhythm_profile`) from the production form, starting from the per-form defaults in episode-design, for the creator to accept or edit. The defaults are starting points, never a suite-level threshold; later stages check only arithmetic against an accepted profile, and a missing or unaccepted profile means nothing is checked. |
| STY-27 | craft_default | When the creator declares paywall episodes, place each before an undelivered payoff and stop one beat before the reveal, with a line hook or an image hook pointing at what the audience already awaits; the episode still delivers its own local result first. Episode numbers are the creator's and the suite supplies no default position; common ranges are offered as examples only when the creator has declared paywalls and asks for placement. |
| STY-28 | craft_default | Compress an adaptation by keeping the source's hottest plot points first, then cutting subplots and merging duplicate-function characters; episode count follows the payoff distribution rather than one chapter per episode. |
| STY-29 | reviewed_invariant | An adaptation mapping marked `move_earlier` or `cold_open` states the setup it depends on and where and through which carrier that setup appears first, or how the viewer is oriented in time, and what happens at the beat's original position. The reviewer checks the mapping against the episode record and screenplay; a moved beat that lands before the audience has the facts it needs is the defect. |
| STY-30 | craft_default | Material the source does not contain—a new character, an invented scene, a new or replaced opponent—is registered as its own `add` mapping stating the function it serves, why existing source characters and events cannot carry that function, and which source facts were checked against it, and it is listed in the brief for the creator to confirm. Opposition an episode needs is drawn first from source characters and what they actually do; where the source has none, the rhythm-profile deviation is reported instead of hardening an ally or inventing an opponent. |

规则分级由高到低:`structural_invariant`(结构缺陷,阻断)、
`reviewed_invariant`(需证据判断)、`craft_default`(常用做法,可覆盖)、
`taste_option`(创作者选择,不作缺陷)。创作者已接受的事实优先于本表。
   17894 references/adaptation-craft.md
    3381 references/creative-reference-intake.md
    6681 references/director-brief-craft.md
   31745 references/episode-design.md
   18834 references/genre-and-hook-playbook.md
    7762 references/genre-cards.md
   16977 references/mechanism-loop.md
    7169 references/multi-episode-intake.md
   14731 references/premise-devices.md
    4702 references/reveal-reversal-payoff.md
   15384 references/serial-character-and-memory.md
   13743 references/stage-contract.md
   18497 references/story-craft.md
    1270 assets/adaptation-map.example.jsonl
    6005 assets/creative-brief.md
    1658 assets/episode-map.jsonl
    7490 assets/story-engine.md
  193923 total
Read ./.claude/skills/short-drama-develop/references/episode-design.md

输入

{
 "file_path": "/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/.claude/skills/short-drama-develop/references/episode-design.md"
}

返回

1	# 短剧分集与单集设计
2	
3	## 目录
4	
5	1. 分集的工作定义
6	2. 规则分级
7	3. 单集契约
8	4. 钩子、兑现与出去的压力
9	5. 因果节拍与升级链
10	6. 场景化之前的可见性检查
11	7. 系列弧线与分集地图
12	8. 集间状态交接
13	9. 扩写、压缩与重排
14	10. 项目节奏档案
15	11. 合成示例
16	12. 失败征兆与审查问题
17	
18	## 1. 分集的工作定义
19	
20	一集完成一次有边界的状态变换:
21	
22	```text
23	可验证的进入状态
24	→ 当集压力迫使人物追求目标
25	→ 选择遭遇反制并产生后果
26	→ 观众获得当集承诺的部分回报
27	→ 一个具体的新决定、危险或问题形成下一步压力
28	→ 可验证的出去状态
29	```
30	
31	分集设计要回答“这一集为什么必须在这里发生”,让分集边界对应必要的状态变化。
32	
33	## 2. 规则分级
34	
35	- **`structural_invariant`**:进入/出去状态、分集/铺垫/兑现引用是否存在,显式声明是否互相矛盾;校验器可阻断。
36	- **`reviewed_invariant`**:因果是否真实、升级是否改变局面、兑现是否匹配承诺;审查者须给出证据。
37	- **`craft_default`**:通常能加强单集运动的做法;创作者可说明理由覆盖。
38	- **`taste_option`**:钩子形态、弧线形状、转折烈度、留白程度;只由创作者和作品气质决定。
39	
40	数字形式约束可以记录为创作者选择,但不能反过来证明剧情质量。
41	
42	## 3. 单集契约
43	
44	在写节拍或剧本前,先为本集回答以下字段。
45	
46	### 3.1 进入状态
47	
48	只写会影响本集行动的事实:
49	
50	- 人物位置、持物、伤势或正在执行的行动;
51	- 谁知道什么、误信什么、掌握什么证据;
52	- 谁占主动,谁欠谁,谁与谁结盟或疏远;
53	- 上一集留下的决定、危险或未完成动作;
54	- 本集必须接住的视觉、声音或时间事实。
55	
56	不要把整本设定复制进每集。进入状态要足以让本集第一场行动不凭空出现。
57	
58	### 3.2 当前压力与钩子
59	
60	“钩子”不是一句神秘台词,而是观众能立即理解的未稳定局面:
61	
62	- 某人正在执行高代价行动;
63	- 一个看似正常的事实与可见证据矛盾;
64	- 有时限的目标已经开始;
65	- 先前选择的后果现在抵达;
66	- 某人必须公开作决定;
67	- 一个关系中的权力突然改变。
68	
69	钩子要连接本集目标。若开场刺激与后续无因果关系,它只是装饰。
70	
71	**倒叙与结果预演**:任何题材都可以先给观众看一个后面的结果或高光,再回到造成它的决定,
72	只要它服务本集的钩子。两段要由同一人物、关系动作、道具或场所事实清楚相连,否则会像
73	无来源的预告片。用来解释眼前危机的闪回放在集中段更好用:开场先给危机,观众开始追问
74	「怎么会这样」时再闪回,闪回结束回到危机继续推。它是叙事选择,不是每集开场要求。
75	
76	### 3.3 目标与反对力量
77	
78	目标用“人物想让谁/什么在本集结束前发生怎样的变化”表达。反对力量要有:
79	
80	- 自己的目标;
81	- 能真正阻挡的筹码;
82	- 对主角策略的理解或误解;
83	- 受到压力时会采取的动作。
84	
85	环境、制度、身体限制也能成为反对力量,但最好通过人物选择获得戏剧形态。
86	
87	### 3.4 因果升级
88	
89	不要预填“发生若干次冲突”。写成选择链:
90	
91	```text
92	因为进入状态中的事实 A,人物采取行动 B;
93	行动 B 触发反制 C;
94	C 让状态 D 改变,迫使人物放弃旧策略或付出更大代价;
95	新选择 E 产生本集的方向性转折。
96	```
97	
98	### 3.5 方向性转折
99	
100	转折意味着人物原来的计划、理解或关系位置不再适用。它可能是:
101	
102	- 主角主动更换策略;
103	- 对手封住既有路径;
104	- 证据使旧解释失效;
105	- 一段关系改变立场;
106	- 代价真正落地;
107	- 人物拒绝了原本最想要的东西。
108	
109	不要求每集使用秘密或身份变化。
110	
111	### 3.6 当集兑现
112	
113	兑现回答:“观众为什么不会觉得这一集只在拖延?”
114	
115	可以兑现:
116	
117	- 看见主角真实能力或代价;
118	- 回收先前问题的一部分;
119	- 完成一次关系/权力变化;
120	- 让承诺中的情绪落地;
121	- 让人物作出不可撤回的选择;
122	- 证实或推翻一个有依据的判断。
123	
124	**`craft_default · STY-04`**:在留下新压力前,先给出本集自己的局部结果。开放结尾与未完成一集不是同一件事。
125	
126	### 3.7 出去状态与交接
127	
128	结尾不只写“悬念:他是谁”。写成下一集可执行的事实:
129	
130	- 谁刚作出什么决定;
131	- 谁知道了什么,谁仍不知道;
132	- 权力、关系或资源怎样改变;
133	- 人物在哪里、拿着什么、能否行动;
134	- 哪个危险已经开始而非可能出现;
135	- 下一集开场必须保留什么。
136	
137	**`structural_invariant · STY-05`**:所有进入/出去、铺垫/兑现引用应指向已知记录,或显式标记为未决。相邻集对同一事实的显式声明不得无解释冲突。
138	
139	### 3.8 每集只写这一集独有的东西
140	
141	分集记录只保留写作与交接所需的约束,逐项判断:
142	
143	> 删掉这个字段,写剧本的人会不会失去一个重要的创作约束?
144	
145	答案是"不会"的字段,要么删掉,要么放到只写一次的地方。按这条判据,下面几类**不进**
146	分集记录:
147	
148	- **可以从别的字段推导出来的**。单步因果链就是"目标 → 反对 → 结果 → 出去的压力",
149	  把它再写一遍不产生新约束;只有一集里确实有两步以上、后一步依赖前一步的结果时,
150	  才需要单独写因果链。
151	- **跨集共用且已有统一记录的**。人物跨集变化统一记录在故事引擎的
152	  [人物行动模型](../assets/story-engine.md),信息权限模型记录在同一文件的信息与证据设计。
153	  分集记录保留本集实际发生的结果与权限变化,不重复整套模型。
154	- **解释性的**。"为什么这个钩子连着本集目标""为什么这股压力由本集产生"是**理由**,
155	  不是约束。理由由审查者从已有字段判断,不需要作者逐集自证。
156	- **给字段本身分类的**。钩子属于哪一型、节奏是强是弱,这些标签不改变任何一句剧本。
157	
158	留在分集记录里的,是**只有这一集才知道的事实**:进入状态、本集目标与反对、转折的触发、
159	局部结果、出去的压力、交接状态,以及本集要用到的资产与连续性变化。
160	
161	一集只有一步因果时,分集记录直接写可见的选择、反制和状态变化,不另设因果链字段或步骤指针。
162	有两步以上、后一步依赖前一步结果时,才单列因果链,剧本按各步落实。
163	
164	同一句话抄进多个槽位不会增加创作约束,反而容易掩盖尚未完成的决定。
165	
166	## 4. 钩子、兑现与出去的压力
167	
168	这三项承担不同工作:
169	
170	| 部件 | 观众问题 | 常见误用 |
171	|---|---|---|
172	| 钩子 | 为什么现在就要看? | 与本集无关的奇观或故弄玄虚 |
173	| 兑现 | 这一集给了我什么? | 只重复承诺,不产生结果 |
174	| 出去的压力 | 为什么状态还会继续运动? | 隐去一句信息便草草结束 |
175	
176	### 4.1 选择钩子类型
177	
178	根据本集运动选择,而不是轮换模板:
179	
180	- **行动钩子**:人物已在执行高风险策略;
181	- **后果钩子**:上一集的选择立即反噬;
182	- **矛盾钩子**:话语与证据同时出现且不相容;
183	- **关系钩子**:熟悉关系出现新的权力位置;
184	- **决定钩子**:人物必须现在选择,拖延本身也有代价;
185	- **信息钩子**:观众获得能重排现场意义的事实。
186	
187	**`taste_option · STY-06`**:开场的气质可以安静、喜剧、亲密或激烈,可以延迟解释、让观众先知道或让角色先知道,
188	只要当前压力可感知并服务作品气质。首钩在第几秒出现、情绪触点隔多久一次不由这一条决定,
189	由[项目节奏档案](#10-项目节奏档案)里已接受的数值决定。
190	
191	### 4.2 设计出去的压力
192	
193	有效的出去压力来自本集结果,而非随意添加的新事故。可用以下问题:
194	
195	- 本集的胜利让谁失去东西,从而会怎样反制?
196	- 新知识让谁必须立刻重选立场?
197	- 人物为赢付出的代价何时到期?
198	- 哪个被保护的人拒绝继续被保护?
199	- 现在公开的事实把冲突带到哪个新场域?
200	
201	**`craft_default`**:结尾尽量把“会发生什么”升级成“某人已经决定做什么”或“某个后果已经启动”。
202	
203	**`taste_option`**:一集也可以在完整情绪落点结束,不强制悬置;下一集压力可以来自新阶段而非截断动作。
204	
205	### 4.3 创作者声明的门槛集
206	
207	有些项目的观看契约里存在一个**门槛集**:观众要继续看下去,必须先付出一点额外代价——
208	解锁、跳转到另一个入口、等待,或完成某个平台动作。门槛是否存在、落在哪里,**由创作者
209	按项目声明**;本套件不假定任何平台规则,也不把门槛位置当作质量判据。
210	
211	门槛不新增规则,它让本文件已有的三条**在这个位置收紧**——因为别处失手观众只是走神,
212	这里失手观众直接离开:
213	
214	- **出去的压力**([4.2](#42-设计出去的压力)):门槛后面必须还欠着观众一样东西。刚兑现
215	  完一次大回报就设门槛,观众此刻的状态是"满足",而满足的人不会为继续看下去付出额外
216	  代价。别处可以停在完整落点,这里不行。
217	- **兑现依赖已建立的事实**(`STY-09`):门槛处的悬念若依赖观众还不认识的人、还没理解
218	  的规则或还没看见的赌注,它对观众并不成立——没有投入过的问题不会让人付代价。
219	- **每集都有局部结果**(`STY-13`):越靠近门槛,越不能出现只做交代、不产生结果的集。
220	  观众在这一段流失,就永远走不到门槛。
221	
222	门槛集本身仍是普通一集:有自己的局部结果,出去的压力仍从本集结果长出。门槛只是给
223	"停在哪里"这个选择多加一层约束。
224	
225	门槛的集号由创作者定,套件不提供默认值。创作者已经声明要设门槛、又请你建议落在哪一集时,
226	可以拿常见的经验区间作示例——第一道约在第 8–16 集,第二道约在第 25–30 集——再按本项目的
227	爽点分布挪动。没有声明门槛的项目不提这些区间。
228	
229	门槛处怎么停:
230	
231	- **停在揭晓的前一秒**:身份揭穿、重大抉择、表白、秘密揭晓都可以。把这次高潮劈成两半,
232	  前一半在本集推到悬崖边,后一半留给门槛后的第一拍。本集自己的局部结果照样要先兑现,
233	  停住的是下一次揭晓,不是这一集的结果。
234	- **钩子分台词钩与画面钩**:台词钩是一句没说完的问句或一句身份暗示;画面钩是一个做到一半的
235	  动作——门推开一半、信封拆开一半。两种都要指向观众已经在等的那件事。
236	
237	**`craft_default · STY-27`**:项目声明了门槛集时,把它安排在一次尚未兑现的爆发之前,停在
238	揭晓的前一秒,并确认门槛处的悬念只依赖观众已经建立起来的人物、规则与赌注。集号与是否设
239	门槛由创作者决定。
240	
241	### 4.4 首集入口
242	
243	第 1 集从危机或观众收益最强的一处开始,不从原著第一章或人物的日常开始。原著开篇常是
244	温吞的日常,照搬过来观众几秒就划走。定入口前至少比较三个候选:
245	
246	- **时序入口**:按原顺序最早能成立的一处,作为对照;
247	- **收益入口**:观众在此处收益最强、同时能交代主角身份、危机与目标的一处。改编项目优先取
248	  原著分析里的爽点表与开篇替换点;
249	- **冷开入口**:把后文一次高潮提前,先放它的最后一拍或揭晓前一秒,再回到起点追因。登记为
250	  `cold_open`,补偿义务见 [改编重排](adaptation-craft.md#重排也要登记)。
251	
252	每个候选写清两件事,用同一把尺子比:
253	
254	- **开场第一帧观众看见什么**:写成一格画面,再写它让观众问出的那个问题。这个问题要不靠读屏幕
255	  文字、不靠认识人物就成立;静止的画面也可以,只要它自己提出问题。
256	- **整集收益**:观众在这一集拿到什么,还缺什么信息,缺的在哪里补。
257	
258	冷开常见的三条否决理由,多半是把冷开做成了兑现本身:
259	
260	- 「观众还不认识这些人,看不懂」:冷开取的是冲突最尖的那一下,要的是一眼读得懂的处境——一群人
261	  堵在门口拍门、一张被火光照亮的脸,不需要知道谁是谁;
262	- 「会把后面的兑现提前花掉」:取揭晓前一秒时答案留在原位;取最后一拍时只放结果的一个画面,
263	  不放来龙去脉,观众追的是「怎么走到这一步」;
264	- 「同一拍会在集中段再演一遍」:开场给片段,回到原位时给完整的一场,观众得到的是认出来的快感,
265	  不是重复。
266	
267	三条都答不了,再按收益选别的入口。
268	
269	第 1 集结束前,观众要知道主角是谁、他眼下被什么压着、他想要什么。大目标在观众刚认下主角时
270	就说出口,而且要具体到可核对的数字、期限或对象,之后再拆成阶段小目标。
271	
272	**`craft_default · STY-25`**:定第 1 集入口前比较至少三个候选,其中一个是后文高潮提前的冷开;
273	每个候选写出开场第一帧观众看见的那一格画面和它提出的问题,再写整集收益;选开场画面自己就是
274	钩子、观众收益强、且能在集尾前交代身份、危机与目标的一处;大目标尽早说出口,具体到可核对。
275	
276	## 5. 因果节拍与升级链
277	
278	### 5.1 一个节拍要回答什么
279	
280	每条节拍至少记录:
281	
282	- `because_of`:来自哪个进入事实或前序节拍;若开启新线,明确声明;
283	- `character_goal`:当前行动者想改变什么;
284	- `opposition`:谁/什么在此刻阻止;
285	- `observable_action`:可见或可听的行动;
286	- `state_change`:信息、权力、关系、情绪、风险或物理状态的前后差异;
287	- `next_pressure`:结果怎样迫使下一步发生;
288	- 相关铺垫与兑现引用。
289	
290	**`structural_invariant`**:节拍必须引用一个原因,或声明开启新线;字段存在不代表因果成立。
291	
292	**`reviewed_invariant`**:审查者判断“因为”是否真的改变了人物选择。只按时间先后排列的事件仍可能是空链。
293	
294	### 5.2 用“所以/但是”朗读
295	
296	把相邻节拍连起来:
297	
298	```text
299	因为前一结果,所以人物现在这样做;
300	但是对抗力量利用新状态反制;
301	所以人物必须改变策略或承担代价。
302	```
303	
304	如果只能用“然后”,检查是否缺少:人物选择、对抗反应、可见后果或下一股压力。
305	
306	这是一种诊断语言,不要求成品按该句式呈现。
307	
308	### 5.3 判断重复与升级
309	
310	对比两个相邻冲突:
311	
312	- 谁掌握的筹码变了?
313	- 谁知道的事实变了?
314	- 哪段关系的边界变了?
315	- 哪条退路消失了?
316	- 谁作出了不可撤回的决定?
317	- 哪个后果从威胁变成现实?
318	
319	**`reviewed_invariant · STY-03`**:若没有可引用的变化,不能只凭更强烈的表演词声称升级。
320	
321	**`craft_default`**:让主角的有效策略产生新的盲区,让对手学习,而不是每轮都回到同一起点。
322	
323	## 6. 场景化之前的可见性检查
324	
325	节拍将交给剧本写作,因此要提前检查它是否有戏剧载体:
326	
327	- 冲突能否发生在人物必须行动的具体场域?
328	- 信息能否通过证据、争夺、行为或后果出现,而非纯说明?
329	- 内在变化由什么选择、停顿、身体行为或关系动作承载?
330	- 关键道具文字、声音或空间限制是否是故事必需?
331	- 转折发生后,人物下一动作是否改变?
332	
333	**`reviewed_invariant`**:关键节拍需要可转译成可见/可听的行为。审查者描述缺失载体及其影响,而不是用关键词筛选心理词。
334	
335	**`taste_option`**:旁白、画外音、主观画面或留白都可选,只需明确其叙事意图。
336	
337	### 6.1 转折要写成那一下动作,不是那一下的功能
338	
339	分集记录的字段名会诱导人写功能:`turn` 问触发是什么,`local_dramatic_result` 问改变了什么,
340	`opposition` 问对方要什么、筹码是什么。这些问题都可以用一句正确的话回答完,而一句正确的话
341	不是一场戏。
342	
343	最常见的形态是把转折写成它的**结果**:
344	
345	| 写成功能(不够) | 写成动作(够) |
346	| --- | --- |
347	| 他不再讲道理,用自己的信用担保 | 债主当着全村人催他还钱,有人跟着起哄;他不再求情,把自家祖屋的房契拍在桌上 |
348	| 裁决权从立场转移到证据本身 | 刚才嚷着要报警的村长俯下身,看清了房契上的名字 |
349	| 上级选择维持现状 | 车间主任把调岗申请推回来,说等这批货交了再谈 |
350	
351	左栏的功能描述本身可以成立,结构校验也无法据此判断动作是否具体;这一缺口仍须由
352	`STY-24` 的语义审查指出。只交左栏会让剧本层重新发明行动,右栏则提供了可继续场景化的依据。
353	
354	判据是一句话:**这一拍,观众看见的是谁做了什么**?答不上来的,说明记录停在了功能层。
355	不要求分集记录写完整场次——那是剧本的活;要求的是**转折与本集结果各自都能指出一个具体的
356	可见动作**,哪怕只有半句。
357	
358	同一条纪律适用于`opposition`:反对力量的筹码要写成它**做过或会做的事**,
359	不是它的属性。「人多、态度一致」是属性;「他们已经约好一起去平台投诉」是筹码。
360	
361	**`STY-24 · reviewed_invariant`**:本轮覆盖范围内每一集的方向性转折与当集兑现,
362	在分集记录里各自要能指出一个具体的可见动作(谁做了什么),而不只是它达成的功能或状态变化;
363	反对力量的筹码同样写成已发生或将发生的行为。审查者引用「功能 → 对应的可见动作」,
364	指不出可见动作即为缺陷;这一条不用关键词筛,也不要求写成完整场次。
365	
366	## 7. 系列弧线与分集地图
367	
368	系列弧线不是把传统结构名称贴到集号上。先画状态运动:
369	
370	1. **旧策略可用**:人物用熟悉方式获得局部结果,同时制造债务;
371	2. **旧策略被学习/反制**:同一方式开始伤害人物珍视的东西;
372	3. **选择成本显形**:人物必须在不能兼得的价值间行动;
373	4. **引擎变形或终止**:新事实、能力、关系或决定使旧回路无法照常继续。
374	
375	这些是功能,不规定阶段数量、集数或位置。作品可以跳跃、循环、倒叙或以单元故事承载长线变化。
376	
377	### 7.1 分集地图的列
378	
379	每一行只保留能帮助写作与交接的字段:
380	
381	- 集 ID、工作标题;
382	- 进入状态与活动压力;
383	- 当集目标和反对力量;
384	- 关键选择及其后果;
385	- 方向性转折;
386	- 当集兑现;
387	- 出去压力与精确交接;
388	- 铺垫/兑现引用;
389	- 连续性变化与未决问题。
390	
391	一行地图应能回答“删掉这集会损失什么状态台阶”。答不出时,合并、重设转折或让这集承担明确结果。
392	
393	### 7.2 长线与单集的双重责任
394	
395	一集可以同时:
396	
397	- 完成一个局部目标;
398	- 改变一段关系;
399	- 让长线证据前进;
400	- 让主角策略积累代价。
401	
402	不需要每项都出现。关键是当集有自己的可识别结果,并对系列状态作出至少一项必要贡献。
403	
404	## 8. 集间状态交接
405	
406	### 8.1 写成事实,不写气氛词
407	
408	弱交接:
409	
410	> 关系更加紧张,危机升级。
411	
412	可执行交接:
413	
414	> 叶澄把店门钥匙交给齐曼,但没有告诉她备用账本在冷柜后;齐曼已答应天亮前让审查员进入厨房。
415	
416	后者给出持物、知识差和已作决定,下一集能直接行动。
417	
418	### 8.2 逐项核对
419	
420	- **知识**:谁知道/误信/隐瞒什么;
421	- **权力**:谁有许可、证据、资源或公开话语权;
422	- **关系**:承诺、背叛、联盟、边界;
423	- **物理**:位置、伤势、造型状态、持物、门锁、天气、时间;
424	- **行动**:已经开始、被中断或必须完成的动作;
425	- **情绪**:只记录会改变下一步行为的情绪选择,不记录泛泛强度。
426	
427	**`structural_invariant`**:上一集出去事实与下一集进入事实显式不一致时,需要修订归属或合理的时间/事件说明,不能静默忽略。
428	
429	**`reviewed_invariant`**:即使字段不冲突,知识、关系或伤势也可能无原因跳变;审查者必须引用前后证据。
430	
431	## 9. 扩写、压缩与重排
432	
433	### 9.1 何时扩写
434	
435	扩写不是增加闲聊,而是当前地图跳过了必要的选择:
436	
437	- 人物突然改变立场,却没有受到足够压力;
438	- 证据出现,却没有获取、验证或争夺过程;
439	- 代价被宣布,却没有落到关系或行动;
440	- 重大决定后没有让受影响人物作出回应。
441	
442	新增节拍时明确它补足哪条因果或哪个状态变化。
443	
444	### 9.2 何时压缩
445	
446	以下内容可以合并或删除:
447	
448	- 重复说明观众已经知道的事实;
449	- 人物用同一策略遭遇同一反制,状态没有变化;
450	- 只负责移动人物且没有产生选择的过场;
451	- 两集拥有同一个进入状态、目标、转折和出去状态。
452	
453	### 9.3 何时重排
454	
455	重排前先检查依赖:
456	
457	- 人物是否提前使用尚未获得的知识或道具;
458	- 关系变化是否在原因之前出现;
459	- 铺垫是否晚于兑现;
460	- 伤势、时间、位置和公开范围是否仍连续;
461	- 观众信息顺序改变后,体验是否仍是创作者要的悬念/惊讶。
462	
463	**`structural_invariant`**:重排后所有引用与显式交接必须重新解析。
464	
465	**`taste_option`**:允许倒叙、并行、跳时或主观叙事;声明其意图和连续性例外即可。
466	
467	### 9.4 容量可行性预算 (`STY-16`)
468	
469	戏剧边界决定一集在哪里结束,制作容量决定这份内容能否在已选时长与预算内完成。
470	分集地图上的选择最终要成为镜头与有时长的画面,因此在场景化前先做量级估算。
471	
472	不做这个检查的失效方式很具体:分集地图上每集看起来都合理,直到剧本交到分镜环节才发现
473	某几集的镜头数是别人的两三倍,于是要么临时砍戏(砍掉的往往正是兑现),要么让这几集
474	超长(打乱已接受的集数与节奏)。发现得越晚,能改的越少。
475	
476	**`craft_default`**:进入场景化之前,用项目自身**已接受产物**的比例做一次量级估算,
477	把明显超出的集在地图阶段就调整。
478	
479	估算方法(用比例,不用外部数字):
480	
481	1. 从本项目已经接受的集里取样,算出该项目当前的两个比值——每个镜头平均承载多少剧本
482	   体量,以及每个镜头平均占用多少时长。
483	2. 用这两个比值把待写各集的预估体量换算成镜头数与时长量级。
484	3. 与创作者已接受的集长和产物预算比较,只关注**量级偏差**(例如某集是同项目均值的两倍
485	   以上),不关注小幅波动。
486	
487	比值来自项目自身的历史;题材、制作形态或交付容器改变时需要重估,不能把它当作跨项目
488	质量门槛:
489	
490	- 偏差是**提示**,交给创作者判断,不阻断任何交付;
491	- 处理偏差优先用 9.1–9.3 的手段(把超载集拆成两集、把说明改成传递、合并同质节拍),
492	  而不是按数字删台词或删镜头;
493	- 项目还没有已接受集可取样时(例如只写第一集),跳过这一步,等有了基准再回来算。它的
494	  价值来自项目自身的一致性,用别处的数字代入反而会误导。
495	
496	上述估算用已接受集的比值**预测**待写集;第一集没有历史基准时先跳过。镜头时长确定后,
497	分镜环节还会把本集已接受的镜头时长直接加总,与项目目标集长比对。这次**测量**不依赖
498	历史样本,第一集同样适用。
499	
500	**`taste_option`**:单集长度、集数、每集镜头量级由创作者的格式与发行方案决定。
501	
502	## 10. 项目节奏档案
503	
504	节奏数值不是套件级规则,是项目档案。本阶段按制作形态提出一份,创作者接受或改写后,
505	写进 `short-drama.json` 的 `creator_authority.rhythm_profile`。之后剧本、分镜与审查只拿
506	已接受的数值做算术核对;档案缺失、未接受,就是未声明,不核对。
507	
508	提出时把候选档案写进创作简报「形式与制作边界」一节,`status` 写 `proposed`。创作者接受或
509	改写后,由 `$short-drama` 把它写入项目配置,状态变为 `accepted`。以后要改,同样走一次决策。
510	
511	| 字段 | 含义 | AI 真人短剧起点 | 漫剧起点 |
512	|---|---|---|---|
513	| `form` | 制作形态 | `ai_live_action` | `motion_comic` |
514	| `first_hook_seconds` | 第一个钩子最迟在第几秒出现 | 5 | 5 |
515	| `beat_interval_seconds_max` | 相邻两个情绪触点(冲突台词、动作或新信息)之间最长隔几秒 | 30 | 30 |
516	| `opposed_reversals_per_episode_min` | 每集至少几次有具体对手参与的反转 | 1 | 1 |
517	| `end_on_peak` | 集尾停在峰值上直接收,不在峰值后再缓一段 | `true` | `true` |
518	| `reprise_previous_last_beat` | 下一集开头先接上一集最后一拍 | `true` | `true` |
519	| `vo_share_max` | `[VO]`(旁白与内心独白)占全集口播字符的比例上限,按时长脚本去空白与括注、保留标点统计;`[OS]` 计入总口播,不计入 VO | 0.3(未实测) | 0.3(未实测) |
520	| `target_avg_shot_seconds` | 目标平均镜长(秒) | 2.5 | 3.0(未实测) |
521	| `close_shot_share_min` | 近景类镜头——近景、特写、大特写与细节镜头——合计占全集镜头数的比例下限 | 0.45 | 0.45(未实测) |
522	| `first_major_payoff_by_episode` | 全书第一个大爽点最迟在第几集 | 1 | 1 |
523	
524	真人列的镜长与近景类占比来自一组真人短剧的实测:平均镜长约 2.5 秒,特写加近景约占一半。首钩秒数
525	来自一组实测:5 部里有 3 部在前 5 秒内给出第一个钩子。触点间隔取「每 20–30 秒一个情绪触点」的
526	上沿。标「未实测」的是待校准的起点,没有测量依据。
527	
528	这些是起点,不是质量线。靠旁白推进的解说漫可以把 `vo_share_max` 调高;生活流、留白多的
529	作品可以放宽触点间隔和镜长。改哪一项、为什么,写进创作简报交创作者决定。
530	
531	提出档案时还要对照两件已经定下或马上要定的事,否则冲突要到分镜阶段才第一次暴露:
532	
533	- **目标视频模型的原生最短时长**。`target_avg_shot_seconds` 低于它(例如平均 2.5 秒对 Seedance 2.0
534	  的最短 4 秒)时,多数镜头只能装进多镜容器一起生成,或者把平均镜长调高。两条路对剧本和分镜的
535	  影响不同,在简报里写明选哪条,交创作者决定。
536	- **语速**。档案里的秒数(首钩、触点间隔、单集目标时长)要在写作阶段换算成秒,需要项目声明
537	  `format.pacing`:每秒可发声字数和每段动作的秒数。和档案一起提出一组起点(按目标模型的实测语速,
538	  例如 H3 约 4.1 字/秒),由创作者接受。没有声明时写作阶段只能报可数事实,算不出秒数。
539	  台词是英文等以空格分词的语言时,语速按词声明(`spoken_words_per_second`),不能拿每秒字数去数字母。
540	  本套件还没有英文的模型实测;`craft_default` 起点可取约 3 词/秒:同一项电话对话语料研究
541	  (Yuan、Liberman、Cieri,Interspeech 2006)按相同口径量得英语约 193 词/分(≈3.2 词/秒)、
542	  汉语约 228 字/分(≈3.8 字/秒),即一个英文词约占一个汉字的 1.2 倍时长;表演台词的停顿通常比
543	  电话闲聊多,所以略往下取。它只是待校准的起点,试跑一条后按实际发声区间改。
544	
545	`end_on_peak` 为 `true` 时,集尾停在峰值那一拍,峰值后不再缓一段。连载的下一集压力要落在
546	这一拍上:选峰值时,优先选能同时启动 `outgoing_pressure` 的一刻——新危机落下、对手出手、
547	没人知道的后果已经开始——而不是情绪已经收束的完成态。情绪高点与下一集的压力分属两拍时,
548	让它们同时发生(同一刻切到另一处正在发生的后果),不要删掉压力那一拍。`handoff_state`
549	写峰值那一刻的状态,不写峰值之后的余波。
550	
551	**`craft_default · STY-26`**:按制作形态从上表起步提出项目节奏档案,交创作者接受或改写;
552	默认值只是起点,不是套件级门槛,未接受的档案不作为任何核对依据。
553	
554	## 11. 合成示例
555	
556	沿用一个全新虚构情境:一家共享厨房面临关停,排班员叶澄一直暗中调换灶位保护弱势摊主。
557	
558	### 单集契约示意
559	
560	- **进入状态**:叶澄刚删去一条换班记录;齐曼持有自己的订单记录,但尚不知道谁删改;物业审查员将在早晨进入。
561	- **当前压力**:齐曼当众要求出示完整排班记录。
562	- **目标**:叶澄想在不暴露删改的情况下说服众人维持营业。
563	- **反对力量**:齐曼要恢复公开规则;管理方可以借混乱立即收回排班权。
564	- **升级链**:叶澄展示整理后的记录 → 齐曼用订单证明缺口 → 叶澄承认改过排班但拒绝说为谁 → 被保护的新摊主主动承认并质问谁有权替他决定。
565	- **转折**:问题从“谁占了灶位”转成“叶澄是否有权以保护为名隐瞒”。
566	- **兑现**:订单缺口的原因被部分回答;叶澄的能力和代价同时显形。
567	- **出去压力**:叶澄把备用钥匙交给齐曼;齐曼已承诺让审查员进场,但不知道冷柜后的账本。
568	
569	### 因果诊断
570	
571	弱节拍:
572	
573	> 众人争吵。管理方突然通知审查提前。叶澄很紧张。
574	
575	改成可用链条:
576	
577	> 因为齐曼公开证明排班记录缺口,管理方把“内部争执”作为提前进场的理由;叶澄若继续藏账本就会失去营业资格,若交出账本则会暴露所有私下调整。她把钥匙交给齐曼,却故意不提账本位置。
578	
579	差别不在事件更多,而在前一选择改变了对手筹码,人物随后作出带代价的新选择。
580	
581	## 12. 失败征兆与审查问题
582	
583	### 失败征兆
584	
585	- 开场压力与当集目标无关;
586	- 集内只有信息宣布,没有人物争取与反制;
587	- 各节拍可以任意换序;
588	- “升级”只是更大的争吵、追赶或误会;
589	- 本集所有答案都被推迟到下一集;
590	- 结尾用省略一句话制造假悬念;
591	- 出去状态只有情绪形容,没有知识、关系、物理或行动事实;
592	- 下一集重置上一集的决定和代价;
593	- 为适配形式而拆出无状态贡献的集;
594	- 把某种钩子或转折当成所有项目的必选项。
595	
596	### 审查问题
597	
598	审查者引用 `episode-map.jsonl` 和对应的 `剧本.md` 回答:
599	
600	1. 本集从什么进入状态运动到什么出去状态?
601	2. 哪个选择触发了哪项反制,证据在哪里?
602	3. 方向性转折后,人物的行动为什么必须改变?
603	4. 当集承诺具体在哪里兑现,而不是只被重复?
604	5. 出去压力是否由本集结果产生?
605	6. 相邻集的知识、权力、关系、持物和行动是否可精确交接?
606	7. 哪些形式选择属于创作者偏好,是否被保留?
607	
608	开发/写作所有者可根据发现修订,但不能签发自己的最终通过结论。
609	
Read ./.claude/skills/short-drama-develop/references/genre-cards.md

输入

{
 "file_path": "/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/.claude/skills/short-drama-develop/references/genre-cards.md"
}

返回

1	# 题材卡索引
2	
3	题材卡的选择与召回按本索引执行。各题材的具体做法放在同目录的 `genre-cards/` 下,一次只读一张。
4	
5	题材卡回答"这个题材更常用哪些压力、场面和情绪落点",不回答"这一集应该怎么写"。
6	后者由创作者已接受的事实、单集契约和 [episode-design.md](episode-design.md) 决定。
7	
8	## 目录
9	
10	- [召回规则](#召回规则)
11	- [冲突优先级](#冲突优先级)
12	- [题材卡一览](#题材卡一览)
13	- [跨题材与未覆盖题材](#跨题材与未覆盖题材)
14	- [不要把卡片写成硬规则](#不要把卡片写成硬规则)
15	
16	## 召回规则
17	
18	1. 先确认主题材、目标形态(实拍/漫剧)、创作者已声明的尺度与结局承诺,再来查表。
19	2. 查到匹配项后**只读那一张卡**,不要把整套题材卡加载进上下文。
20	3. 跨题材时:主题材读 1 张完整卡,辅题材只摘 1-2 条"常见场面颗粒"或"禁止漂移"。
21	   先说清主要矛盾是什么、观众先看到哪个结果,再决定采用哪些做法。
22	4. 传给下游的题材注入只保留与当前集相关的条目,短到能被完整读进上下文即可;写不满不必凑,写不下先删与本集无关的条目。可用条目:
23	   压力来源、人物策略与信息权限、本集要落的回报、可用的场面颗粒、钩子取向、禁止漂移、卡片置信度。
24	5. **题材卡只在内部校准题材味,绝不出现在交付物里**。剧本、分集地图、创作简报中不得出现
25	   卡名、题材标签、置信度、条目编号或"已按题材卡执行"一类合规自评——只交付作品本身。
26	6. 中置信卡不能单独决定方向:先结合创作者的设定、已接受的故事引擎和本项目的制作边界,
27	   再决定采纳哪几条。表中没有的题材按[跨题材与未覆盖题材](#跨题材与未覆盖题材)处理。
28	
29	## 冲突优先级
30	
31	题材卡的权限低于项目事实,高于通用手感。按本套件的四类规则读:
32	
33	```text
34	创作者已接受的事实、结局承诺与改编边界(structural_invariant / creator authority)
35	→ 已接受的单集契约、进入/出去状态与铺垫兑现义务(structural_invariant / reviewed_invariant)
36	→ 题材卡(craft_default,创作者说明理由即可覆盖)
37	→ 通用工艺参考与叙事手感(craft_default / taste_option)
38	```
39	
40	- 题材卡永远是 `craft_default`:它可以被创作者的一句"这部不这么走"直接推翻,且不需要额外论证。
41	- 题材卡里的钩子取向、情绪落点、结局气质属于 `taste_option`,任何审查者都不得据此单独阻断。
42	- 题材卡**不能**创造 `structural_invariant`。它不产生 ID、引用或可被校验器阻断的约束。
43	- 与 [genre-and-hook-playbook.md](genre-and-hook-playbook.md) 冲突时:手册负责跨题材共用轴线的比较,
44	  卡片负责单题材的执行细节;若两者对同一题材的说法不一致,以卡片为准并记录理由。
45	
46	## 题材卡一览
47	
48	| 题材 | 别名与匹配词 | 题材卡 | 置信度 |
49	|---|---|---|---|
50	| 复仇打脸 | 复仇 / 打脸 / 权力反转 / 扮猪吃虎 / 隐藏身份归来 / 清算 | [复仇打脸](genre-cards/复仇打脸.md) | 高 |
51	| 逆袭 | 逆袭 / 废柴逆袭 / 草根崛起 / 被看不起 / 一鸣惊人 / 越级 | [逆袭](genre-cards/逆袭.md) | 中 |
52	| 系统流 | 系统 / 金手指 / 任务奖励 / 签到 / 面板升级 / 积分兑换 | [系统流](genre-cards/系统流.md) | 中 |
53	| 重生穿越 | 重生 / 穿越 / 前世复仇 / 改命 / 穿书 / 未卜先知 | [重生穿越](genre-cards/重生穿越.md) | 中 |
54	| 古装权谋 | 古装 / 权谋 / 朝堂 / 宅斗 / 宫廷 / 门第 / 礼制身份戏 | [古装权谋](genre-cards/古装权谋.md) | 高 |
55	| 悬疑规则 | 悬疑 / 规则怪谈 / 规则恐怖 / 惊悚 / 生存 / 密室 / 灵异 | [悬疑规则](genre-cards/悬疑规则.md) | 高 |
56	| 家庭关系 | 家庭 / 亲情 / 婆媳 / 姐弟 / 照护 / 伦理 / 代际冲突 | [家庭关系](genre-cards/家庭关系.md) | 高 |
57	| 亲子隐秘 | 亲子 / 萌宝 / 神秘小孩 / 隐婚生子 / 认亲 / 单亲爸爸 / 单亲妈妈 / 血缘揭示 / 领养身世 | [亲子隐秘](genre-cards/亲子隐秘.md) | 中 |
58	| 职场喜剧 | 职场 / 轻喜剧 / 打工人 / 技术流 / 专业能力 / 办公室 | [职场喜剧](genre-cards/职场喜剧.md) | 高 |
59	| 身份错位 | 身份错位 / 身体互换 / 灵魂互换 / 冒名顶替 / 马甲 / 人非人身份 | [身份错位](genre-cards/身份错位.md) | 高 |
60	| 生活流 | 生活流 / 小人物 / 都市温情 / 日常 / 治愈 / 市井 | [生活流](genre-cards/生活流.md) | 高 |
61	| 仙侠修真 | 仙侠 / 修真 / 修仙 / 玄幻 / 宗门 / 御剑 / 东方奇幻 | [仙侠修真](genre-cards/仙侠修真.md) | 中 |
62	| 豪门婚恋 | 豪门 / 霸总 / 婚恋 / 契约婚姻 / 先婚后爱 / 甜宠 / 虐恋 | [豪门婚恋](genre-cards/豪门婚恋.md) | 中 |
63	| 破镜重圆 | 破镜重圆 / 追妻 / 复合 / 久别重逢 / 前任 / 失忆重逢 / 重逢不相识 / 意难平 | [破镜重圆](genre-cards/破镜重圆.md) | 中 |
64	| 动作任务 | 动作 / 任务 / 冒险 / 追逃 / 营救 / 押运 / 生存突围 | [动作任务](genre-cards/动作任务.md) | 中 |
65	
66	置信度表示该卡的压力机制在本套件内被交叉印证的程度,不代表市场表现、热度排名或测量结果。
67	具体来源见各卡的“证据与置信度”。
68	
69	## 跨题材与未覆盖题材
70	
71	- 表里没有匹配项时,不要硬套最接近的一张卡。回到
72	  [genre-and-hook-playbook.md](genre-and-hook-playbook.md) 按压力来源、人物策略、观众回报、
73	  信息权限、可见证据、制作难点六个轴线自建一次,再决定是否借用某张卡的单独条目。
74	- 混合题材(例如复仇 + 悬疑、家庭 + 生活流)要先声明主要矛盾归谁,并检查两套制作要求会不会打架:
75	  一个要公开场合与群演,另一个要封闭空间与状态连续性时,成本会叠加而不是平均。
76	- 同一题材词可以由完全不同的机制驱动。"悬疑"可以是空间规则、关系谎言或技术证据;
77	  "婚恋"可以走互助、权力不对等或身份冲突。卡片只在机制相符时才适用。
78	- **前提装置和题材是两层**。 "主角重来一世""主角获得一套外部规则"这类设定叠加在题材
79	  之上,决定主角比别人多拥有什么。装置装在婚恋、宅斗或修真上时,照常取那个主题材的卡;
80	  观众就是冲着装置带来的奖励与打脸来看的爽文,主题材卡取系统流或重生穿越。两种情况都
81	  另读 [premise-devices.md](premise-devices.md) 校准装置那一层。
82	
83	## 不要把卡片写成硬规则
84	
85	卡片里的任何内容都不是质量门槛。以下几项尤其不能被当成评分标准或校验规则:
86	
87	- **节拍数量**:卡片不规定"每集几个转折""几秒一个钩子"。这些数值住在项目节奏档案里,由
88	  创作者接受后才生效,见 [episode-design.md](episode-design.md#10-项目节奏档案)。
89	- **字数与篇幅比例**:不规定单集字数、场景数量、场均时长或分幕比例。
90	- **台词比例与句式**:不规定对白占比、句长、语气词、倒装或任何句式模板。
91	- **钩子类型轮换**:连续几集使用相似的收尾方式不自动构成缺陷;要看它们是否改变了不同状态。
92	- **场面清单**:卡片列出的物件与场所是可选素材,不是必须出现的清单,也不是打卡项。
93	
94	审查者不得引用题材卡作为阻断理由;开发者也不得用"题材卡里写了"替代因果说明。
95	需要质量结论时单独调用 `$short-drama-review`,并引用当前项目的证据。
96	

思考 2 秒

Agent:
正在读选题卡和技能里的参考资料(分集设计、题材卡)。读完就写骨架,不超过 3000 字。
Bash Read revenge genre card and headings

输入

cd /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/.claude/skills/short-drama-develop/references && cat genre-cards/复仇打脸.md; grep -n "^#" story-craft.md serial-character-and-memory.md reveal-reversal-payoff.md

返回

---
genre: 复仇打脸
aliases: [复仇, 打脸, 权力反转, 扮猪吃虎, 隐藏身份归来, 清算]
form: 竖屏连续短剧
confidence: high
basis: 套件既有工艺文件与短剧写作经验归纳
---

# 复仇打脸题材卡

## 题材核心与观众为什么看

观众看的是**被系统性剥夺的人,一件一件把可执行的权力拿回来**。真正的核心不是"受辱—亮身份"的循环,而是每一次翻盘都让对手真的失去一样还能用的东西:签字权、货源、监护权、股权、名声、时间。观众心里存着一笔具体的旧账,来这里看它被具体地、可核对地还上。剥夺写得越具体,偿还才越有重量。

## 压力来源与冲突发动机

对手手里必须有真实手段:程序权限、资金、亲属关系、把柄、舆论、对规则的解释权。主角承受的压力不是"被骂",而是每往前一步都要付成本——暴露自己、连累在意的人、动用只能用一次的筹码。发动机可以写成三件事同时成立:对手拥有可执行手段;主角掌握着对手不知道他掌握的东西;场上有人的判断能改变结果。少任何一件,段落就会退化成音量比赛。

## 人物策略与信息权限

主角常见策略:隐藏能力换观察时间;用对手自己的规则反制;把私人恩怨升格成可被公开裁决的事项;先取证再动手。信息权限要分三层写清——谁知道主角的真实身份或底牌,谁掌握证据但不敢说,谁只看见表面因而站错队。对手必须会学习:第一次被反制后改口径、换渠道、切割替罪的人。一个只会加大恶意的对手,撑不过中段。

## 观众回报与情绪落点

回报落在**权力位置可核对的变化**:签字被驳回、门禁卡失效、名单上划掉一个名字、原本要站着的人现在坐下了。情绪落点不必只有快意——可以是冷的(对方求饶而主角不接),可以是痛的(赢了,但要保护的人已经受损),也可以是低调的(只要回一件旧物)。压抑期不宜长久没有任何兑付,但兑付不必等到身份全部揭开。

## 常见场面颗粒

合同的签字页与骑缝章、股东名册、转账回单与对账单、监控回放上的时间码、缴费单、录音笔与已导出的文件、旧工牌、被撕开的照片、拦在厂门口的货车、前台访客登记本、宴会的座次牌、门禁失效的红灯。动作层面:把钥匙拍在桌上、当众把文件推过去、对方掏出手机打电话却没人接、有人默默把椅子挪开半尺。见证者按"能做什么"分区:能拍板的、能作证的、有利害关系的、只会围观的。

## 集尾钩子取向

从本集已经发生的结果往下长:对手刚学到主角的一条路径并已经封住;刚兑现的一步产生了新的债(谁被牵连、谁要求回报);一份旧证据获得更窄也更危险的解释;某个一直沉默的人决定开口。不成立的替代品:陌生人踹门宣布"你惹到不该惹的人";把上一集的威胁重复一遍、只是更大声。

## 前中后期打法

- **前期**:把"被剥夺"写成可核对的具体损失——一份被改的名单、一个被顶掉的岗位、一次没有到达的救援;同时给出主角现在不能掀桌的成本。早期就要有一次小额兑付,让观众相信这笔账真的会还。
- **中期**:让对手依托手中资源反制,主角的有效手段开始伤及他要保护的人。打脸分层推进,不同层级的对手要用不同货币结算:钱、程序、人情、名声。
- **后期**:让最初那次剥夺以新形式回到主角面前,逼他选择继续清算还是接受不完整的偿还。结局气质由创作者决定,不默认大团圆,也不默认玉石俱焚。

## 制作难点

公开场合(宴会、股东会、听证、颁奖)是成本峰值:群演、统一造型、大空间同时到位。可用"半公开小场"承担同样的见证功能——走廊、电梯口、地库、玻璃隔断外的工位区——保留目击者而大幅降本。证据类道具要跨集复用并保持版本可辨:同一份文件的原件、复印件、被涂改件必须能在画面上区分。地位变化常带来造型与配饰变化,需要在开发阶段规划其层级与所需资产数量。闪回会新增旧场景与旧造型;能由当下的一件物件承担的,就不要新建场景。

## 禁止漂移

不要让对手只会辱骂而没有可执行手段;不要用"报出头衔"代替此前建立的证据与选择;不要连续多段只受辱、不产生任何可核对的变化;不要把被保护者写成奖品;不要把反转建立在观众此前完全无从看见的新事实上。

## 证据与置信度

本卡不来自抽样统计、平台热度或任何真实作品,全部例子为合成虚构。它由本套件既有工艺文件([story-craft.md](../story-craft.md)、[episode-design.md](../episode-design.md)、[reveal-reversal-payoff.md](../reveal-reversal-payoff.md)、[genre-and-hook-playbook.md](../genre-and-hook-playbook.md))与短剧写作经验归纳而成。置信度:**高**,指其压力机制在套件内被多处交叉印证,不指任何测量结果。与创作者已接受的事实或单集契约冲突时,以后者为准。
story-craft.md:1:# 短剧故事开发方法
story-craft.md:3:## 目录
story-craft.md:17:## 1. 使用方式与规则分级
story-craft.md:32:## 2. 从题材词到戏剧承诺
story-craft.md:56:### 回报词本身不构成承诺:要写清它落在哪里
story-craft.md:75:### 回报要先有舞台,再有能力
story-craft.md:93:### 承诺的压力测试
story-craft.md:101:## 3. 设计能持续运转的冲突引擎
story-craft.md:105:### 3.1 写出一轮回路
story-craft.md:120:### 3.2 检查引擎的六个部件
story-craft.md:137:### 3.3 给引擎留出变化
story-craft.md:151:## 4. 让人物成为压力的制造者
story-craft.md:166:### 4.0 观众为什么站在他这边
story-craft.md:189:### 4.1 关系中的双向压力
story-craft.md:206:## 5. 用状态变化判断升级
story-craft.md:208:### 5.1 先写前后状态
story-craft.md:218:### 5.2 区分四种常见运动
story-craft.md:231:## 6. 管理信息、证据与兑现
story-craft.md:233:### 6.1 分开事实与认知
story-craft.md:244:### 6.2 铺垫记录的是义务
story-craft.md:263:## 7. 让主题进入选择
story-craft.md:277:## 8. 生成真正不同的方案
story-craft.md:297:## 9. 从引擎走向分集
story-craft.md:310:## 10. 合成示例
story-craft.md:335:## 11. 失败征兆与审查问题
story-craft.md:337:### 失败征兆
story-craft.md:349:### 审查问题
serial-character-and-memory.md:1:# 连续短剧的人物、切入与跨集记忆
serial-character-and-memory.md:3:## 目录
serial-character-and-memory.md:16:## 1. 使用方式与规则分级
serial-character-and-memory.md:31:## 2. 先建前史储备,再选叙事切入窗口
serial-character-and-memory.md:36:### 2.1 前史储备
serial-character-and-memory.md:49:### 2.2 叙事切入窗口
serial-character-and-memory.md:66:## 3. 用人物驱动力预测选择
serial-character-and-memory.md:83:### 3.1 关系让驱动力相撞
serial-character-and-memory.md:98:## 4. 把人物变化写成可追踪的压力测试
serial-character-and-memory.md:123:## 5. 每集必须产生局部戏剧结果
serial-character-and-memory.md:159:## 6. 管理信息权限与铺垫债务
serial-character-and-memory.md:170:### 6.1 证据结论边界
serial-character-and-memory.md:197:## 7. 用双轨节奏安排张弛
serial-character-and-memory.md:218:## 8. 建立可恢复的跨集记忆
serial-character-and-memory.md:237:## 9. 合成示例
serial-character-and-memory.md:244:### 前史储备与切入
serial-character-and-memory.md:252:### 第一集局部动作
serial-character-and-memory.md:261:### 人物与双轨节奏
serial-character-and-memory.md:268:## 10. 失败征兆与审查问题
serial-character-and-memory.md:270:### 失败征兆
serial-character-and-memory.md:283:### 审查问题
reveal-reversal-payoff.md:1:# 冲突、揭示、反转与回报的条件方法
reveal-reversal-payoff.md:6:## 1. 从承诺选择压力来源
reveal-reversal-payoff.md:20:## 2. 区分四种动作
reveal-reversal-payoff.md:31:## 3. 公平揭示
reveal-reversal-payoff.md:47:## 4. 有因果的反转
reveal-reversal-payoff.md:71:## 5. 回报先于下一股压力
reveal-reversal-payoff.md:83:## 6. 避免机械轮换
reveal-reversal-payoff.md:95:## 7. 规则分级
Bash Read evidence boundary and engine sections

输入

sed -n '159,236p' serial-character-and-memory.md; sed -n '101,150p' story-craft.md

返回

## 6. 管理信息权限与铺垫债务

“世界事实”“角色认知”“观众知情”是三套状态,分别记录在最小信息权限表中:

| fact_id | 世界事实 | 角色 A | 角色 B | 观众 | 当前可见证据 | 下一次改变权限的动作 |
|---|---|---|---|---|---|---|
| FACT-01 | 【填写】 | 知道/误信/未知 | 知道/误信/未知 | 明知/怀疑/未知 | 【填写】 | 【填写】 |

信息释放不是把答案说出来,而是改变某人可以采取的行动。揭示后追问:谁现在能质疑、
交易、逃跑、撒谎或公开?没有行动后果的信息可以延后、压缩或删除。

### 6.1 证据结论边界

可见载体出现后,分开三层记录:

1. `visible_carrier`:观众和人物实际看见/听见了什么;
2. `supported_claim`:该载体直接支持的最强结论;
3. `unresolved_inference`:仍可能成立、但现有载体没有证明的解释或责任归属。

例如,一台设备只对 `00:17` 作出反应,可以支持“设备识别 `00:17`”,却不能单独证明
“某个特定人物把记录改掉”。后者若仍影响行动,应保持 `suspected/unknown`,等待新的
独立载体,而不是因角色说得笃定就升级成 `known`。

**`reviewed_invariant · STY-15`**:信息权限升级必须与 `supported_claim` 相称;审查者
引用载体、直接结论和未决推断,阻止道具反应、巧合或单方陈述被扩写成其未证明的世界
事实。创作者可以选择角色误判,但要把角色信念与观众/世界权限分开记录。

铺垫是一笔债务,不是装饰:

- 首次出现要有当前场景的表面理由;
- 记录观众自然会怎样理解;
- 记录承诺回答的问题;
- 回扣时既回答旧问题,又改变当前选择;
- 改写铺垫后,标出受影响的分集、资产和镜头。

引用是否存在属于 `structural_invariant`;铺垫是否自然、回扣是否有力属于
`reviewed_invariant`。

## 7. 用双轨节奏安排张弛

双轨节奏分别记录:

- **外部压力**:事件密度、对抗强度、时间限制、空间风险;
- **内在情感负荷**:人物正在处理的损失、羞耻、希望、亲密、恐惧或道德冲突。

两轨可以同步,也可以错位:

- 外部高 / 情感高:爆发与不可逆选择;
- 外部高 / 情感低:熟练执行、冷静追逐、程序性危机;
- 外部低 / 情感高:等待、照料、隐瞒后的余震;
- 外部低 / 情感低:必要交接或呼吸,需控制篇幅并保留潜在压力。

**`craft_default · STY-14`**:分集与场景规划同时写外部压力和情感负荷,并说明与
上一单元相比为何升、降或错位。不要为了画出波浪而机械交替;节奏变化应来自人物
处理后果所需的时间。

呼吸不是无事发生。好的呼吸段会让人物重新解释刚才的事、尝试修复关系、隐藏代价、
处理伤势/道具/证据,或作出下一步选择。

## 8. 建立可恢复的跨集记忆

跨集记忆只保存后续决策所需内容,不复述全文。每集接受后更新:

1. **人物**:当前目标、策略、被测试的信念、选择、代价、物理状态;
2. **关系**:权力位置、信任/债务、未说出口的交易、最近一次越线;
3. **信息权限**:世界事实、各角色与观众知道/误信的差异;
4. **铺垫债务**:已埋未回、已改义、计划回扣、受影响位置;
5. **节奏方向**:上一集两轨落点与下一集需要承接/对比的原因;
6. **精确交接**:位置、动作、持物、伤势、时间、正在发生的决定或危险。

更新原则:

- 只写变化;未变化但下一集必须继承的事实进入精确交接;
- 已完成且不再影响后续的事件压成一句或移出活跃记忆;
- 伏笔、信息权限和未支付代价不能因摘要压缩而丢失;
- 新一集开写前先读活跃记忆,再读最近一集正文核对证据;
- 摘要与已接受正文冲突时,以正文事实为准,由摘要负责人修订。

## 3. 设计能持续运转的冲突引擎

故事引擎是一个会对人物选择作出反应的压力回路。

### 3.1 写出一轮回路

按顺序描述:

```text
触发压力
→ 主角依据自己的信念选择策略
→ 对手/制度/关系作出有能力的反制
→ 主角得到局部结果并承担新代价
→ 权力、信息、关系、暴露、资源、时间或身体状态改变
→ 新状态制造下一轮更难的选择
```

如果删掉“选择”与“代价”仍能发生相同剧情,这一轮主要靠作者搬运事件,不是人物驱动。

### 3.2 检查引擎的六个部件

| 部件 | 开发问题 |
|---|---|
| 压力来源 | 哪个角色、规则、秘密、资源限制或关系义务会反复施压? |
| 对抗能力 | 它为什么真的能阻挡主角,而不只是态度恶劣? |
| 主角策略 | 主角通常怎样解决问题?该策略的优点和盲区是什么? |
| 退出成本 | 主角为何不能离开、报警、坦白或轻易换目标? |
| 变化空间 | 压力能在哪些状态维度改变,而不只是声量增加? |
| 终止条件 | 什么事实、选择、关系或能力变化会让旧回路无法继续? |

**`craft_default · STY-02`**:让压力来自多种相互作用的来源,例如人物意志、关系义务和现实约束。单一坏人若没有筹码,往往只能重复阻挠。

**`reviewed_invariant · STY-03`**:升级需要改变故事状态或后果。审查者要指出升级前后哪项状态发生变化;“更生气、更吵、更危险”若没有新的能力、知识、代价或决定,不足以证明升级。

**`taste_option · STY-06`**:引擎可以是追逐、谈判、秘密维持、关系拉扯、任务解决、身份错位或日常困境;不要求同一种商业套路。

### 3.3 给引擎留出变化

同一承诺可通过改变以下变量产生新局面:

- **权力**:谁能决定规则、分配资源、定义事实;
- **知识**:谁知道什么,谁只知道一半,谁掌握可验证证据;
- **关系**:信任、债务、依赖、联盟和边界如何移动;
- **暴露**:秘密被谁看见,公开范围和被利用方式如何变化;
- **资源**:时间、场地、证件、金钱、工具或帮助者是否可用;
- **物理状态**:距离、伤势、持物、封闭空间、天气等怎样改变行动能力;
- **道德成本**:要赢这一轮,主角必须变成怎样的人或伤害谁。

变量不是待填满的清单。每一轮只选对当前选择真正有影响的维度。

思考 216 秒

Agent:
资料读完了。题材以复仇为主,悬疑为辅。下面写骨架,写完统计字数。
Write ./验尸官的婚礼-全剧骨架.md

输入

/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md

# 《验尸官的婚礼》全剧骨架

60 集|竖屏|每集 1–2 分钟|AI 拍摄

本骨架用来管住分集大纲和剧本。大纲和骨架冲突时,先改骨架,再改大纲。集号是建议位置,可以前后挪两三集,但台阶的先后顺序不能变。

## 一、戏剧承诺

林晚要给解剖台上那具无名尸写回名字:**死者沈峥,他杀**。每一集她拿出一件看得见的证据,让沈家和周启年失去一样还能用的东西。可她每往前一步,都离自己签过的那份“意外”更近。观众看的是一个法医拿证据讨债,最后连自己欠的那笔也还上。

## 二、锁死的事实

- 三年前那具无名男尸就是沈峥:后脑挨了扳手,被推下海,三天内火化。林晚最初判“他杀”,被周启年逼着改成“意外”,签了字。
- 新郎程野是替身。宋婉仪找人顶替儿子是为了保住股份,她一直以为儿子是意外落水。
- 凶手是宋知远,因为沈峥发现他借港口洗钱。
- 结局照选题卡,不改。

## 三、故事引擎

**一轮回路**:林晚亮出一件证据 → 沈家或周启年毁证、抹黑 → 她赢下这一局,但证据只证明它能证明的那一层 → 剩下的那一层逼她去找下一件 → 她当年的签字被更多人看见。

**每集铁律**

1. 每集至少一件看得见的证据,写清它直接证明什么、还证明不了什么。
2. 对手每次反制都要动真手段:程序、钱、舆论、亲属,或者她自己的签名。证据被毁也不能退回原点,总要有人已经看见、有一条退路已经堵死,或者对手亮出了新底牌。
3. 对手会学习,同一招不能对同一个人用第二次。
4. 宋知远手里最狠的一张牌始终是林晚的签名:“意外是你亲手签的。”

**引擎在哪里停**:林晚不再护着自己的签名。她亲手把自己的错交上法庭,所有拿这件事要挟她的筹码同时作废,回路就此结束。

## 四、四道台阶

| 集 | 要证明 | 关键证据 | 能证明 / 还证明不了 |
|---|---|---|---|
| 1–10 | 新郎不是沈峥 | 婚礼上摘下手套的左手,虎口没有疤;新郎酒杯和沈砚做的亲缘比对 | 新郎是冒牌的 / 真沈峥在哪 |
| 11–22 | 无名尸就是沈峥 | 存档解剖照片上的虎口疤;中心留着的病理蜡块切片,和沈砚比 DNA | 死者是沈峥 / 他怎么死的 |
| 23–36 | 沈峥死于他杀 | 切片显示他入水时还活着,后脑是工具伤;周启年偷录的签字录音 | 报告被人改过 / 是谁下的手 |
| 37–52 | 凶手是宋知远 | 游艇上的扳手;伤口角度推出凶手比死者高半头;尸体手里那枚船锚袖扣 | 宋知远动的手 / 法庭信不信 |
| 53–60 | 让判决成立 | 林晚推翻自己的报告,重新签名 | 全部 |

## 五、五段走向

**1–10|婚礼**:苏曼丽把请柬寄给被退婚的林晚,等着看她出丑。交换戒指时新郎摘下手套,林晚看见光洁的虎口,当众说“你不是沈峥”,被沈家定性成退婚怨妇。宋知远出来打圆场,客客气气把她送出门。答谢宴上,苏曼丽偷偷塞给她一张求救房卡。段末:亲缘比对出了结果,沈砚第一次站到她这边;周启年以“违规取样”为由让她停职。

**11–22|无名尸**:尸体早已火化,剩下的只有档案室里的蜡块。周启年要销毁存档,宋婉仪买通媒体,把她写成“迷恋前任尸体的女法医”。程野私下松口:一年前退婚,是怕她摸到他的手。段末:DNA 证明死者是沈峥。宋婉仪这才知道,儿子当年被当成无名尸火化了;她崩溃了,却仍然选择护住替身。

**23–36|他杀**:要证明他杀,林晚就得先认下自己签过假报告。她拿到周启年留着要挟她的录音,里面有周启年下令改结论,也有她自己说“我签”。她选择**先压住录音**,拿它逼周启年交出两样东西:当年从尸体手里取走的袖扣,还有付款记录。钱是从宋婉仪名下的账户走的,林晚于是转去追宋婉仪。段末:沈砚坦白,游艇那晚他也在船上,醉得什么都记不清。

**37–52|交割**:沈峥三十岁的股权交割日越来越近。宋知远把扳手上的指纹引到沈砚身上,沈砚被抓。林晚靠伤口角度推出凶手的身高,替沈砚翻了案,证据却指向那个一直在调停的舅舅。苏曼丽为了苏家的港口反水,偷走袖扣交给宋知远。交割一完成,程野就知道下一个“意外”轮到自己了。他交出宋知远威胁他的录音,换林晚保住他妹妹。段末:林晚确认凶手是宋知远。

**53–60|签名**:宋知远照着游艇那一套,把程野推下海,林晚把人救了回来。宋婉仪在股份和儿子之间选了儿子。庭审上,宋知远拿她的签名攻击她的证词;林晚当庭放出那段录音,连同自己的声音,推翻原报告,重新签名。尾声:无名骨灰终于有了名字,她把表放在墓前。

## 六、人物线

| 人物 | 要什么 | 手里有什么 | 转变(集) |
|---|---|---|---|
| 林晚 | 给死者写回名字 | 证据、专业、一张利嘴 | 30 压住录音,先保自己 → 59 当庭把自己交出去 |
| 程野 | 活下去,保住妹妹 | 沈峥的声音、步态、签名 | 15 私下松口 → 48 倒戈 |
| 沈砚 | 弄清哥哥出了什么事 | 沈家内部的门路 | 10 信她 → 36 坦白游艇那晚 → 庭审时第一次扣上西装扣子 |
| 苏曼丽 | 自保,保家里生意 | 社交圈、舆论 | 4 塞房卡 → 45 反水 |
| 周启年 | 保住位子 | 停职权、档案、录音 | 一路压林晚 → 庭审被录音钉死 |
| 宋婉仪 | 保股份,保沈家脸面 | 钱、媒体、替身 | 22 知道儿子被当成无名尸火化 → 33 知道是他杀 → 55 知道凶手是弟弟,交出沈氏 |
| 宋知远 | 洗钱的事不露 | 调停人的身份、港口、她的签名 | 52 之前一直像个帮手 |

## 七、信息释放

- 第 1 集,观众和林晚一起知道新郎是替身。
- 第 3 集起给宋知远的公平线索:他总摸袖扣,一只比另一只新;个子高;什么事都由他“去安排”。观众第 44 集确认他是凶手,林晚第 52 集确认。
- 宋婉仪以为是意外,第 22 集让观众看到这一点。
- 林晚的签名会被怎么用,观众不比她先知道。

## 八、第一集入口

比过三个入口。按时间顺序从一年前的当众退婚开始,等得太久;冷开直接放庭审签名,会提前花掉结局;从婚礼摘手套开始,当集就能交代她是谁、遇上了什么事、要做什么。**选婚礼,开头先接一拍冷开**:第一帧是解剖台上一只左手,虎口一道疤;切到婚礼,同一个角度,新郎摘下手套,虎口光洁。两只手不靠台词就能提出问题。集尾她说出全剧目标:“那份报告,我要改回来。”

## 九、制作边界与节奏档案(提议,待你接受)

- 大场面只有婚礼、答谢宴、交割会和庭审,其余的戏放在走廊、档案室、停尸间、地库和车里。
- 程野和沈峥是同一张脸。沈峥只在闪回里露手、表和背影,两人靠疤和手套区分。
- 证据道具跨集复用,原件、复印件和涂改过的那份要在画面上分得出来。
- 游艇夜戏只拍沈砚的记忆碎片,不拍完整的落海过程。
- 节奏起点:第一个钩子不晚于第 5 秒;两个情绪触点之间不超过 30 秒;每集至少一次有对手参与的反转;集尾停在最高点;下一集开头先接上一集最后一拍。视频模型和语速定下来以后,再核对平均镜头长度。

## 十、新增设定,待你确认

1. 沈峥虎口有疤。三年前林晚注意到了尸体上的疤,可那一周“沈峥”从国外打来电话(是程野模仿的声音),她就没再追。
2. 那块表是沈峥订婚时送她的,程野从来没问起过。
3. 程野的妹妹是宋知远拿来要挟他的筹码。
4. 股权交割日是全剧的倒计时。
5. 周启年偷录签字、钱从宋婉仪名下账户走这条误导线;周启年、苏曼丽、沈砚的结局,选题卡没有写,等你来定。

返回

File created successfully at: /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md (file state is current in your context — no need to Read it back)
Bash Count characters in skeleton file

输入

cd /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3 && python3 -c "
import re,sys
t=open('验尸官的婚礼-全剧骨架.md',encoding='utf-8').read()
print('all non-space:',len(re.sub(r'\s','',t)))
print('excl md symbols:',len(re.sub(r'[\s|#*\-→>]','',t)))
print('CJK only:',len(re.findall(r'[一-鿿]',t)))
"

返回

all non-space: 2861
excl md symbols: 2667
CJK only: 2268

思考 11 秒

Agent:
骨架已经写好,存在当前目录:`验尸官的婚礼-全剧骨架.md`。全文 2861 字(去掉空白,表格符号也算在内),没有超过 3000 字。里面只有骨架,没写分集大纲,也没写剧本正文。

**整体怎么走**
- **核心**:林晚要把无名尸的报告改回“死者沈峥,他杀”。可她每赢一步,自己当年签的那个“意外”就离曝光更近一步。宋知远最狠的一张牌,一直是她自己的签名。
- **什么时候结束**:林晚不再护着自己的签名,把自己的错亲手交上法庭。别人拿这件事要挟她的筹码一下子全部作废,故事也就走到了头。
- **证据分四层**:新郎不是沈峥 → 无名尸就是沈峥 → 沈峥是被杀的 → 凶手是宋知远。每一件证据都写明了它能证明什么、还证明不了什么,这样每一集都必须往下走一层,不能原地重复。
- **分成五段**:婚礼(1–10)、无名尸(11–22)、他杀(23–36)、交割(37–52)、签名(53–60)。每段都写了对手的手段、林晚付出的代价和段末到了什么局面。
- **林晚的转变**:第 30 集她拿到录音,先压着不放,保住自己;第 59 集在法庭上连自己的声音一起放出来。
- **第 1 集开头**:比较了三种开法,选的是从婚礼开始,前面先插一个镜头:解剖台上虎口有疤的左手,切到新郎摘下手套后光洁的虎口。

另外写了每集必须遵守的几条规则、人物线、观众在哪一集知道什么,以及 AI 拍摄的限制,比如沈峥和程野是同一张脸怎么处理、大场面压到四场。

**需要你确认的地方**
1. **我补的设定(第十节)**:选题卡里没有,是为了让逻辑接得上才加的:
   - 三年前林晚为什么没认出尸体:那一周程野模仿沈峥的声音从国外打来电话;
   - 那块表是沈峥订婚时送她的;
   - 程野的妹妹是宋知远要挟他的筹码;
   - 用股权交割日当全剧的倒计时;
   - 周启年偷录了当年的签字录音;
   - 钱从宋婉仪名下账户走,这条线用来把林晚引偏,误追宋婉仪。

   你不同意哪一条,直接删掉或改掉就行。
2. **三个人的结局**:周启年、苏曼丽、沈砚,选题卡没有写,我留空了,等你来定。
3. **节奏标准**:第一个钩子不晚于第 5 秒、两个情绪点之间不超过 30 秒等,这些只是建议的起点。等视频模型和台词语速定下来,还要再核对一遍镜头长度。

骨架里的集号是建议位置,前后挪两三集没关系,但四层证据的顺序不能换。你确认以后,就可以照它写分集大纲。

这一轮结束:耗时 4.9 分钟,按 API 价格折算 $1.14

第 2 轮

输入:
如果要我在几个方案里选,就选你最推荐的那个;其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 要的全剧骨架写成文件;骨架之后的分集大纲和剧本不用写。

思考 16 秒

Agent:
按我推荐的方案把还没定的事都定下来:三个人物的结局、补充设定、节奏档案,然后改定稿,控制在 3000 字以内。
Edit ./验尸官的婚礼-全剧骨架.md

输入

/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md

—— 原文 ——
**53–60|签名**:宋知远照着游艇那一套,把程野推下海,林晚把人救了回来。宋婉仪在股份和儿子之间选了儿子。庭审上,宋知远拿她的签名攻击她的证词;林晚当庭放出那段录音,连同自己的声音,推翻原报告,重新签名。尾声:无名骨灰终于有了名字,她把表放在墓前。

—— 改成 ——
**53–60|签名**:宋知远照着游艇那一套,把程野推下海,林晚把人救了回来。宋婉仪在股份和儿子之间选了儿子。宋知远把苏家推出去顶港口的账,苏曼丽第二次换边,出庭作证。庭审上,宋知远拿林晚的签名攻击她的证词;林晚当庭放出那段录音,连同自己的声音,推翻原报告,重新签名。周启年当庭被带走。尾声:沈砚亲手给哥哥刻好墓碑,无名骨灰终于有了名字,林晚把表放在墓前。

返回

The file /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md has been updated successfully. (file state is current in your context — no need to Read it back)
Edit ./验尸官的婚礼-全剧骨架.md

输入

/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md

—— 原文 ——
| 苏曼丽 | 自保,保家里生意 | 社交圈、舆论 | 4 塞房卡 → 45 反水 |
| 周启年 | 保住位子 | 停职权、档案、录音 | 一路压林晚 → 庭审被录音钉死 |

—— 改成 ——
| 苏曼丽 | 自保,保家里生意 | 社交圈、舆论 | 4 塞房卡 → 45 反水 → 57 出庭作证 |
| 周启年 | 保住位子 | 停职权、档案、录音 | 一路压林晚 → 59 被自己的录音钉死 |

返回

The file /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md has been updated successfully. (file state is current in your context — no need to Read it back)
Edit ./验尸官的婚礼-全剧骨架.md

输入

/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md

—— 原文 ——
## 九、制作边界与节奏档案(提议,待你接受)

—— 改成 ——
## 九、制作边界与节奏档案

返回

The file /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md has been updated successfully. (file state is current in your context — no need to Read it back)
Edit ./验尸官的婚礼-全剧骨架.md

输入

/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md

—— 原文 ——
## 十、新增设定,待你确认

1. 沈峥虎口有疤。三年前林晚注意到了尸体上的疤,可那一周“沈峥”从国外打来电话(是程野模仿的声音),她就没再追。
2. 那块表是沈峥订婚时送她的,程野从来没问起过。
3. 程野的妹妹是宋知远拿来要挟他的筹码。
4. 股权交割日是全剧的倒计时。
5. 周启年偷录签字、钱从宋婉仪名下账户走这条误导线;周启年、苏曼丽、沈砚的结局,选题卡没有写,等你来定。

—— 改成 ——
## 十、补充设定(选题卡之外,已定)

1. 沈峥虎口有疤。三年前林晚注意到了尸体上的疤,可那一周“沈峥”从国外打来电话(是程野模仿的声音),她就没再追。
2. 那块表是沈峥订婚时送她的,程野从来没问起过。
3. 程野的妹妹是宋知远拿来要挟他的筹码。
4. 股权交割日是全剧的倒计时。
5. 周启年偷录了签字过程;钱从宋婉仪名下账户走,经手人是宋知远。
6. 配角结局:周启年以受贿、出具虚假鉴定被追责;苏曼丽作证后,那段跟替身的婚姻被认定无效;沈砚洗清嫌疑,给哥哥立碑。林晚本人怎么处理不交代,全剧停在她签名的那一刻和墓前。

返回

The file /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md has been updated successfully. (file state is current in your context — no need to Read it back)

思考

Bash Recount characters and check for pending markers

输入

python3 -c "
import re
t=open('验尸官的婚礼-全剧骨架.md',encoding='utf-8').read()
print('all non-space:',len(re.sub(r'\s','',t)))
print('CJK only:',len(re.findall(r'[一-鿿]',t)))
for k in ['待你','待确认','提议']: print(k, k in t)
"

返回

all non-space: 2984
CJK only: 2375
待你 False
待确认 False
提议 False

思考 6 秒

Agent:
全剧骨架已经定稿,文件是当前目录下的 `验尸官的婚礼-全剧骨架.md`。全文 2984 字(去掉空白,表格符号也算在内),在 3000 字以内。里面只有骨架,没写分集大纲和剧本。

之前留给你定的几件事,都按我推荐的定了:

- **补充设定(第十节)**:程野模仿沈峥的声音打电话、那块表的来历、程野的妹妹、股权交割日倒计时、周启年偷录签字、钱从宋婉仪名下账户走这条误导线,全部采用。
- **三个配角的结局**:
  - 周启年:被自己留着要挟林晚的那段录音钉死,当庭被带走,以受贿和出具虚假鉴定追责;
  - 苏曼丽:宋知远把苏家推出去顶港口的账,她第二次换边,出庭作证;她和替身的婚姻被认定无效;
  - 沈砚:洗清嫌疑,亲手给哥哥刻墓碑。最后一场林晚放表的那座墓,就是他立的。
- **林晚自己**:她为当年签假报告受什么处理,剧里不交代,全剧停在她重新签名和墓前那两刻。
- **节奏档案**:去掉了“提议”的标注,按这组起点采用:第一个钩子不晚于第 5 秒,两个情绪点之间不超过 30 秒,每集至少一次有对手参与的反转,集尾停在最高点,下一集先接上一集最后一拍。平均镜头多长,要等视频模型和台词语速定下来再核对。

骨架里的集号是建议位置,写分集大纲时可以前后挪两三集,但四层证据的先后顺序不能变。

这一轮结束:耗时 0.7 分钟,按 API 价格折算 $1.32

第 3 轮

输入:
如果要我在几个方案里选,就选你最推荐的那个;其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 要的全剧骨架写成文件;骨架之后的分集大纲和剧本不用写。

思考 2 秒

Read ./验尸官的婚礼-全剧骨架.md

输入

{
 "file_path": "/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md"
}

返回

1	# 《验尸官的婚礼》全剧骨架
2	
3	60 集|竖屏|每集 1–2 分钟|AI 拍摄
4	
5	本骨架用来管住分集大纲和剧本。大纲和骨架冲突时,先改骨架,再改大纲。集号是建议位置,可以前后挪两三集,但台阶的先后顺序不能变。
6	
7	## 一、戏剧承诺
8	
9	林晚要给解剖台上那具无名尸写回名字:**死者沈峥,他杀**。每一集她拿出一件看得见的证据,让沈家和周启年失去一样还能用的东西。可她每往前一步,都离自己签过的那份“意外”更近。观众看的是一个法医拿证据讨债,最后连自己欠的那笔也还上。
10	
11	## 二、锁死的事实
12	
13	- 三年前那具无名男尸就是沈峥:后脑挨了扳手,被推下海,三天内火化。林晚最初判“他杀”,被周启年逼着改成“意外”,签了字。
14	- 新郎程野是替身。宋婉仪找人顶替儿子是为了保住股份,她一直以为儿子是意外落水。
15	- 凶手是宋知远,因为沈峥发现他借港口洗钱。
16	- 结局照选题卡,不改。
17	
18	## 三、故事引擎
19	
20	**一轮回路**:林晚亮出一件证据 → 沈家或周启年毁证、抹黑 → 她赢下这一局,但证据只证明它能证明的那一层 → 剩下的那一层逼她去找下一件 → 她当年的签字被更多人看见。
21	
22	**每集铁律**
23	
24	1. 每集至少一件看得见的证据,写清它直接证明什么、还证明不了什么。
25	2. 对手每次反制都要动真手段:程序、钱、舆论、亲属,或者她自己的签名。证据被毁也不能退回原点,总要有人已经看见、有一条退路已经堵死,或者对手亮出了新底牌。
26	3. 对手会学习,同一招不能对同一个人用第二次。
27	4. 宋知远手里最狠的一张牌始终是林晚的签名:“意外是你亲手签的。”
28	
29	**引擎在哪里停**:林晚不再护着自己的签名。她亲手把自己的错交上法庭,所有拿这件事要挟她的筹码同时作废,回路就此结束。
30	
31	## 四、四道台阶
32	
33	| 集 | 要证明 | 关键证据 | 能证明 / 还证明不了 |
34	|---|---|---|---|
35	| 1–10 | 新郎不是沈峥 | 婚礼上摘下手套的左手,虎口没有疤;新郎酒杯和沈砚做的亲缘比对 | 新郎是冒牌的 / 真沈峥在哪 |
36	| 11–22 | 无名尸就是沈峥 | 存档解剖照片上的虎口疤;中心留着的病理蜡块切片,和沈砚比 DNA | 死者是沈峥 / 他怎么死的 |
37	| 23–36 | 沈峥死于他杀 | 切片显示他入水时还活着,后脑是工具伤;周启年偷录的签字录音 | 报告被人改过 / 是谁下的手 |
38	| 37–52 | 凶手是宋知远 | 游艇上的扳手;伤口角度推出凶手比死者高半头;尸体手里那枚船锚袖扣 | 宋知远动的手 / 法庭信不信 |
39	| 53–60 | 让判决成立 | 林晚推翻自己的报告,重新签名 | 全部 |
40	
41	## 五、五段走向
42	
43	**1–10|婚礼**:苏曼丽把请柬寄给被退婚的林晚,等着看她出丑。交换戒指时新郎摘下手套,林晚看见光洁的虎口,当众说“你不是沈峥”,被沈家定性成退婚怨妇。宋知远出来打圆场,客客气气把她送出门。答谢宴上,苏曼丽偷偷塞给她一张求救房卡。段末:亲缘比对出了结果,沈砚第一次站到她这边;周启年以“违规取样”为由让她停职。
44	
45	**11–22|无名尸**:尸体早已火化,剩下的只有档案室里的蜡块。周启年要销毁存档,宋婉仪买通媒体,把她写成“迷恋前任尸体的女法医”。程野私下松口:一年前退婚,是怕她摸到他的手。段末:DNA 证明死者是沈峥。宋婉仪这才知道,儿子当年被当成无名尸火化了;她崩溃了,却仍然选择护住替身。
46	
47	**23–36|他杀**:要证明他杀,林晚就得先认下自己签过假报告。她拿到周启年留着要挟她的录音,里面有周启年下令改结论,也有她自己说“我签”。她选择**先压住录音**,拿它逼周启年交出两样东西:当年从尸体手里取走的袖扣,还有付款记录。钱是从宋婉仪名下的账户走的,林晚于是转去追宋婉仪。段末:沈砚坦白,游艇那晚他也在船上,醉得什么都记不清。
48	
49	**37–52|交割**:沈峥三十岁的股权交割日越来越近。宋知远把扳手上的指纹引到沈砚身上,沈砚被抓。林晚靠伤口角度推出凶手的身高,替沈砚翻了案,证据却指向那个一直在调停的舅舅。苏曼丽为了苏家的港口反水,偷走袖扣交给宋知远。交割一完成,程野就知道下一个“意外”轮到自己了。他交出宋知远威胁他的录音,换林晚保住他妹妹。段末:林晚确认凶手是宋知远。
50	
51	**53–60|签名**:宋知远照着游艇那一套,把程野推下海,林晚把人救了回来。宋婉仪在股份和儿子之间选了儿子。宋知远把苏家推出去顶港口的账,苏曼丽第二次换边,出庭作证。庭审上,宋知远拿林晚的签名攻击她的证词;林晚当庭放出那段录音,连同自己的声音,推翻原报告,重新签名。周启年当庭被带走。尾声:沈砚亲手给哥哥刻好墓碑,无名骨灰终于有了名字,林晚把表放在墓前。
52	
53	## 六、人物线
54	
55	| 人物 | 要什么 | 手里有什么 | 转变(集) |
56	|---|---|---|---|
57	| 林晚 | 给死者写回名字 | 证据、专业、一张利嘴 | 30 压住录音,先保自己 → 59 当庭把自己交出去 |
58	| 程野 | 活下去,保住妹妹 | 沈峥的声音、步态、签名 | 15 私下松口 → 48 倒戈 |
59	| 沈砚 | 弄清哥哥出了什么事 | 沈家内部的门路 | 10 信她 → 36 坦白游艇那晚 → 庭审时第一次扣上西装扣子 |
60	| 苏曼丽 | 自保,保家里生意 | 社交圈、舆论 | 4 塞房卡 → 45 反水 → 57 出庭作证 |
61	| 周启年 | 保住位子 | 停职权、档案、录音 | 一路压林晚 → 59 被自己的录音钉死 |
62	| 宋婉仪 | 保股份,保沈家脸面 | 钱、媒体、替身 | 22 知道儿子被当成无名尸火化 → 33 知道是他杀 → 55 知道凶手是弟弟,交出沈氏 |
63	| 宋知远 | 洗钱的事不露 | 调停人的身份、港口、她的签名 | 52 之前一直像个帮手 |
64	
65	## 七、信息释放
66	
67	- 第 1 集,观众和林晚一起知道新郎是替身。
68	- 第 3 集起给宋知远的公平线索:他总摸袖扣,一只比另一只新;个子高;什么事都由他“去安排”。观众第 44 集确认他是凶手,林晚第 52 集确认。
69	- 宋婉仪以为是意外,第 22 集让观众看到这一点。
70	- 林晚的签名会被怎么用,观众不比她先知道。
71	
72	## 八、第一集入口
73	
74	比过三个入口。按时间顺序从一年前的当众退婚开始,等得太久;冷开直接放庭审签名,会提前花掉结局;从婚礼摘手套开始,当集就能交代她是谁、遇上了什么事、要做什么。**选婚礼,开头先接一拍冷开**:第一帧是解剖台上一只左手,虎口一道疤;切到婚礼,同一个角度,新郎摘下手套,虎口光洁。两只手不靠台词就能提出问题。集尾她说出全剧目标:“那份报告,我要改回来。”
75	
76	## 九、制作边界与节奏档案
77	
78	- 大场面只有婚礼、答谢宴、交割会和庭审,其余的戏放在走廊、档案室、停尸间、地库和车里。
79	- 程野和沈峥是同一张脸。沈峥只在闪回里露手、表和背影,两人靠疤和手套区分。
80	- 证据道具跨集复用,原件、复印件和涂改过的那份要在画面上分得出来。
81	- 游艇夜戏只拍沈砚的记忆碎片,不拍完整的落海过程。
82	- 节奏起点:第一个钩子不晚于第 5 秒;两个情绪触点之间不超过 30 秒;每集至少一次有对手参与的反转;集尾停在最高点;下一集开头先接上一集最后一拍。视频模型和语速定下来以后,再核对平均镜头长度。
83	
84	## 十、补充设定(选题卡之外,已定)
85	
86	1. 沈峥虎口有疤。三年前林晚注意到了尸体上的疤,可那一周“沈峥”从国外打来电话(是程野模仿的声音),她就没再追。
87	2. 那块表是沈峥订婚时送她的,程野从来没问起过。
88	3. 程野的妹妹是宋知远拿来要挟他的筹码。
89	4. 股权交割日是全剧的倒计时。
90	5. 周启年偷录了签字过程;钱从宋婉仪名下账户走,经手人是宋知远。
91	6. 配角结局:周启年以受贿、出具虚假鉴定被追责;苏曼丽作证后,那段跟替身的婚姻被认定无效;沈砚洗清嫌疑,给哥哥立碑。林晚本人怎么处理不交代,全剧停在她签名的那一刻和墓前。
92	

思考 5 秒

Agent:
检查定稿时发现一处前后矛盾:第 45 集袖扣被苏曼丽偷走了,第 52 集林晚却还要靠它确认凶手。改成用存档照片里的那枚袖扣去比对。
Edit ./验尸官的婚礼-全剧骨架.md

输入

/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md

—— 原文 ——
伤口角度推出凶手比死者高半头;尸体手里那枚船锚袖扣 |

—— 改成 ——
伤口角度推出凶手比死者高半头;存档照片里尸体手中的船锚袖扣 |

返回

The file /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md has been updated successfully. (file state is current in your context — no need to Read it back)
Edit ./验尸官的婚礼-全剧骨架.md

输入

/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md

—— 原文 ——
换林晚保住他妹妹。段末:林晚确认凶手是宋知远。

—— 改成 ——
换林晚保住他妹妹。段末:实物袖扣没了,林晚拿存档照片对上宋知远袖口那只新的,确认凶手是他。

返回

The file /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md has been updated successfully. (file state is current in your context — no need to Read it back)
Edit ./验尸官的婚礼-全剧骨架.md

输入

/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md

—— 原文 ——
比过三个入口。按时间顺序从一年前的当众退婚开始,等得太久;冷开直接放庭审签名,会提前花掉结局;从婚礼摘手套开始,当集就能交代她是谁、遇上了什么事、要做什么。

—— 改成 ——
比过三个入口:从一年前退婚开始,等得太久;冷开放庭审签名,提前花掉结局;从婚礼摘手套开始,当集就能交代她是谁、遇上什么事、要做什么。

返回

The file /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md has been updated successfully. (file state is current in your context — no need to Read it back)
Bash Recount characters after edits

输入

python3 -c "
import re
t=open('验尸官的婚礼-全剧骨架.md',encoding='utf-8').read()
print('all non-space:',len(re.sub(r'\s','',t)))
"

返回

all non-space: 2998

思考 2 秒

Edit ./验尸官的婚礼-全剧骨架.md

输入

/scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md

—— 原文 ——
集号是建议位置,可以前后挪两三集,但台阶的先后顺序不能变。

—— 改成 ——
集号可以前后挪两三集,台阶的顺序不能变。

返回

The file /scratch/003/ws/003-skeleton/zenstory-ai__drama-skills/run-3/验尸官的婚礼-全剧骨架.md has been updated successfully. (file state is current in your context — no need to Read it back)
Bash Recount characters after trim

输入

python3 -c "
import re
t=open('验尸官的婚礼-全剧骨架.md',encoding='utf-8').read()
print('all non-space:',len(re.sub(r'\s','',t)))
"

返回

all non-space: 2989

思考 3 秒

Agent:
全剧骨架已经写完,文件是 `验尸官的婚礼-全剧骨架.md`。所有要定的事都按我推荐的方案定了,文件里没有留下待确认项,不需要你再回复什么。

这一轮又把定稿通读了一遍,修了一处前后矛盾:第 45 集苏曼丽把袖扣偷走交给了宋知远,可到第 52 集林晚还要拿这枚袖扣确认凶手。现在改成:实物袖扣没了,林晚用存档解剖照片里尸体手中的那枚,去对宋知远袖口上较新的那只,以此确认凶手是他。第四节的证据表和第五节「交割」一段都已同步改好。

全文现在 2989 字(去掉空白,表格符号也算在内),在 3000 字以内。内容只有全剧骨架,没写分集大纲和剧本。

这一轮结束:耗时 0.5 分钟,按 API 价格折算 $1.52

第 4 轮

输入:
如果要我在几个方案里选,就选你最推荐的那个;其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 要的全剧骨架写成文件;骨架之后的分集大纲和剧本不用写。

思考

Agent:
全剧骨架上一轮已经完成,这次没有再改动。文件在当前目录:`验尸官的婚礼-全剧骨架.md`。

- **待定事项**:已经全部按我推荐的方案定好,文件里没有留下待确认项。包括第一集从婚礼开场、补充设定、周启年/苏曼丽/沈砚三人的结局,以及节奏档案。
- **篇幅**:全文 2989 字(去掉空白,表格符号也算在内),在 premise.md 要求的 3000 字以内。
- **范围**:只有全剧骨架,没写分集大纲和剧本。
- **一致性**:上一轮通读定稿时,修了一处袖扣证据前后矛盾的地方,其余没发现冲突。

之后写分集大纲时,以这份骨架为准:集号可以前后挪两三集,四道证据台阶的顺序不能变。

这一轮结束:耗时 0.1 分钟,按 API 价格折算 $1.55

第 5 轮

输入:
如果要我在几个方案里选,就选你最推荐的那个;其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 要的全剧骨架写成文件;骨架之后的分集大纲和剧本不用写。

思考

Bash Confirm skeleton file exists and is final

输入

ls -la && python3 -c "
import re
t=open('验尸官的婚礼-全剧骨架.md',encoding='utf-8').read()
print('non-space chars:',len(re.sub(r'\s','',t)))
print('pending markers:',[k for k in ['待你','待确认','提议','等你'] if k in t])
"

返回

total 40
drwxr-xr-x  5 user  wheel   160 Oct 30 17:36 .
drwxr-xr-x  5 user  wheel   160 Oct 30 17:30 ..
drwxr-xr-x  4 user  wheel   128 Oct 30 17:30 .claude
-rw-r--r--  1 user  wheel  4233 Oct 30 17:30 premise.md
-rw-r--r--  1 user  wheel  8684 Oct 30 17:36 验尸官的婚礼-全剧骨架.md
non-space chars: 2989
pending markers: []
Agent:
premise.md 要的全剧骨架已经写完,这次没有改动。我刚又核对了一遍:

- **文件**:当前目录下的 `验尸官的婚礼-全剧骨架.md`。
- **篇幅**:2989 字(去掉空白,表格符号也算在内),在 3000 字以内。
- **待定事项**:全部按我推荐的方案定好了。文件里搜不到“待确认”“提议”“等你”这类字样,没有要你再定的地方。
- **范围**:只有全剧骨架,没写分集大纲和剧本。

骨架这一步可以收尾了。要往下走,下一步是照这份骨架写分集大纲。

这一轮结束:耗时 0.1 分钟,按 API 价格折算 $1.61

第 6 轮

输入:
如果要我在几个方案里选,就选你最推荐的那个;其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 要的全剧骨架写成文件;骨架之后的分集大纲和剧本不用写。

思考

Agent:
全剧骨架已经写完,这次没有改动。文件是当前目录下的 `验尸官的婚礼-全剧骨架.md`。

- **篇幅**:2989 字(去掉空白,表格符号也算在内),在 3000 字以内。
- **待定事项**:全部按我推荐的方案定了,没有留下要你确认的地方。
- **范围**:只有全剧骨架,没写分集大纲和剧本。

premise.md 要的东西已经交齐,没有剩下的事。要往下写分集大纲,或者想改骨架里的哪一处,直接告诉我。

这一轮结束:耗时 0.1 分钟,按 API 价格折算 $1.63