---
name: short-drama-director
description: 把剧本转成表演、场面调度、镜头覆盖、景别、机位、运镜与剪辑意图，产出可校验导演镜头包。用于导演方案、拍法、镜头诊断和分镜重构；只要求大纲、剧本或资产设定时不触发。
---

## 输入与创作权限

先读用户实际材料与目标，复用已确定的事实和规格；已有剧本、资产或分镜直接进入相关工作，不为流程完整重写上游。未授权的删线、合人、改变人物身份、主题、结局或重要表演意图，先展示原位置、具体方案与得失，再由用户选择；已授权的局部修正直接完成。

下面的类型经验、批次和创作预算是适配起点，不是用户接受过的创作要求。旧校验器可能仍将部分经验规则报为失败：区分实际数据/引用/模型接口错误与创作建议，说明不适用项，保留原稿；不伪造字段、不静默改戏或降低技术投产要求。总控可用时参考其 references/creative-agreement.md；独立任务按本段处理，不强制依赖总控。


# Short Drama Director

把剧本中的戏剧行动，翻译成能拍、能剪、能生成的视听方案。先做导演判断，再做镜头；不要把景别词和运镜词随机贴在台词上。

本文件中的 `references/...` 与 `scripts/...` 均相对本 skill 目录。执行脚本时把工作目录设为本 skill 目录，输入与输出文件使用绝对路径；不要假设用户项目根目录恰好包含 `scripts/`。

## 必读与按需参考

开始导演设计前，完整阅读：

- `references/directing-workflow.md`：拆戏、调度、镜头组织和导演复盘。
- `references/visual-grammar.md`：景别、机位、镜头运动、轴线、构图、镜头衔接。
- `references/schema.md`：`director-package.json` 的字段与质量门。

现实主义题材涉及交通、医疗、办公、公安司法、政务或工业流程时，同时完整阅读 `../short-drama-production/references/reality-grounding.md`。先固定真实设备、空间拓扑和人流，再设计调度；不得用“电影感”填补不懂的现实流程。

只有需要 AI 视频生成提示词、模型适配或投产批次时，再读 `references/ai-video-production.md`。目标为 MiniMax H3 时必须同时使用官方 `h3-prompt-writing` skill：导演包提供调度、构图、机位、运镜、声音和参考职责，官方 skill 负责最终模式格式。指定模型与参考文档冲突时，以用户给定模型的官方文档为准，并记录采用的模式与假设。

## 输入边界

按以下优先级读取输入：

1. `script.json`：最佳输入。保留原有集、场、节拍、台词与动作，不改写剧情事实。
2. 剧本文本：先编号为集、场、源节拍，再进行导演设计。
3. `outline.json` 或梗概：可以制作“导演预案”，但要把未落成的台词、动作和连续性标为假设；不要伪装成可直接拍摄的定稿。
4. 已有分镜：进入诊断/重构模式，保留有效镜头，只改有明确理由的部分。

若缺少画幅、单集时长或生成模型，采用以下默认值并写进 `assumptions`：优先继承 production.json 和已批准输入；独立任务未指定时采用 `16:9`、24 fps、按输入目标时长、模型无关。模型无关方案默认后期 TTS；用户明确采用 H3 时，默认 `h3-ref2va + h3-native-reference`，主要说话角色缺少声音母版就列为缺失资产，不静默改成随机音色。缺失信息不阻断导演设计，除非不同选择会彻底改变叙事或交付形式。

## 核心工作流

### 1. 建立源节拍账本

使用脚本将上游 `script.json` 转成导演骨架：

```bash
node scripts/director-kit.mjs seed path/to/script.json > director-package.json
```

每个源动作或台词生成稳定的 `beatId`。镜头中的 `beatRefs` 表示该镜头主要承载的节拍；跨镜继续的台词或声音只放入 `audioCarryRefs`。不漏拍、不凭空添拍，新增内容放入 `inventedBeats` 并说明必要性。

### 2. 先写“戏”，再写“拍法”

逐集明确：本集问题、冷开场承诺、关键转折、高潮、结尾悬念、情绪曲线。

逐场明确：谁想要什么、谁/什么阻碍、场内转折、价值变化、权力变化、可利用的空间关系。把抽象情绪改写成可见行为，例如“忍耐”变成“先把证据扣在掌心，再把手摊开”。

### 3. 设计场面调度

先定义人物位置、视线、行动路径、道具交接、进出方向、轴线和空间层次，再选择机位。调度必须制造或改变关系；人物没有行动，摄影机通常也不该无理由游动。

每场至少记录：

- `geography`：观众需要理解的空间关系。
- `axis`：主轴及越轴策略。
- `blocking`：动作触发点与落位。
- `continuityIn` / `continuityOut`：姿势、视线、道具、屏幕方向和情绪状态。

现实敏感场景还必须从 `reality-audit.json` 继承 `mustHave`、`topology`、`flow` 与 `peoplePolicy`。导演可以选择观看角度，不能把安检、就诊、办事或生产流程改造成另一行业的通用空间；背景人物也必须服从入口—操作—出口方向。

### 4. 用镜头组织信息与权力

每个镜头先填 `dramaticPurpose`，只能为了揭示、隐藏、强调、反应、对比、转移权力、建立空间或完成转场而存在。随后决定：

- 景别与角度：观众离谁更近，谁掌握画面权力。
- 构图与前后景：关系如何被空间可视化。
- 镜头运动：由人物、信息或权力变化触发；必须有起点、触发、路径和终点。
- 画面内运动：与摄影机运动分开设计，明确主体、道具和环境运动的起始状态、触发、发展与落点；静止机位不等于静止画面。
- 焦段：服务距离感、透视和表演，不把“85mm”“电影感”当装饰词。
- 切点：切在信息变化、动作峰值、视线转移或反应价值上，而不是平均切碎台词。
- 节奏：按信息可读性分配停留，不平均分镜。要求提速时先缩短已读懂的建立与重复，不机械倍速，也不优先牺牲转折后的反应。
- 屏幕/文件信息：先决定观众必须看清什么，再选择环境内观看、插入特写、全屏主观内容或后期合成；关键信息不能只缩在手机或电脑的小屏幕里。

镜头覆盖要围绕冲突设计。不要机械套“全景—中景—近景—特写”，也不要让每条台词自动获得一个正反打。

### 5. 划分生成片段与镜头

严格区分：

- 场 `scene`：一段连续的戏剧行动。
- 生成片段 `clip`：一次 AI 视频调用或一个可独立生产的连续片段。
- 镜头 `shot`：剪辑中的一次连续观看。

先按戏剧信息与剪辑需要设计 shot 和覆盖关系，再按动作连续性、参考需求和提供方限制打包为 clip。代码使用 clip 容纳 shot 不代表导演先被 API 秒数决定拍法；打包需要改拍法时记录偏差。

### 6. 写提示词与声音方案

先固定 `audioRoute`：

- `h3-native-reference`：H3 用固定人物声音母版生成新对白；固定角色的默认路线。
- `tts-guided-h3`：先用 TTS 生成准确台词音频，再由 H3 复用/参考并生成表演。
- `h3-native-free`：H3 自行生成声音，只用于临时样片或无固定身份的声音。
- `tts-post`：模型只生成表演与可控环境声，台词交给后期；避免在视频模型提示中重复生成对白。
- `silent`：无对白，仅画面或后期音乐设计。

再分别确定环境、拟音和音乐来源；多片段短剧默认后期统一配乐。模型提示词必须从结构化镜头字段派生；不要让提示词反过来成为唯一事实源。使用 H3 时严格遵守 `references/ai-video-production.md` 的模式合同。

### 7. 确定性验证与导演复盘

每次交付前运行：

```bash
node scripts/director-kit.mjs validate director-package.json
node scripts/director-kit.mjs render director-package.json > director-shotlist.md
```

先清零结构错误，再处理警告。验证通过不等于导演成立；还需人工回答：

1. 静音观看时，关系和权力变化是否看得懂？
2. 去掉所有装饰性运镜后，是否反而更有力？
3. 每个近景/特写是否留给真正的转折、证据或反应？
4. 每一切是否改变信息、情绪或观看位置？
5. 结尾最后一个画面是否把悬念具象化？
6. 现实功能空间去掉风格词后，设备、岗位与人流是否仍能按真实流程工作，且不会被误认成相邻行业？
7. 手机、电脑、票据或文件承载的关键信息，静音观看时是否真的看得清；信息镜头后是否有必要且不重复的反应？

若答案是否定的，优先修改调度和镜头目的，不要只加形容词。

## 交付物

默认交付：

- `director-package.json`：唯一结构化事实源。
- `director-shotlist.md`：便于导演、分镜师、剪辑和生成操作员评审。
- 一段简短导演阐述：核心观看策略、最重要的三项选择、已知风险。

用户要求诊断时，不擅自覆盖原文件；输出问题、证据、影响和建议修法。用户要求生产时，才生成或更新上述文件。


## 制作交接

独立使用时，自检后主动打开当前报告并给绝对路径链接，说明本轮范围、检查重点和下一步；需要锁定内容时在对话中收取通过或修改结论。已有确认覆盖当前版本就不重复询问，打开页面或下载 JSON 不算批准。总控已接管时，由总控统一收取这次结论，不另开重复审批。当前内容、依赖或源图改变后，不因旧文件仍存在就跳过复核；输出新版本并保留原审阅笔记。

本项目的阶段职责、变更记录和交付顺序由 `short-drama-production` 的 `references/company-workflow.md` 统一维护；未安装总控时按本 skill 的输入和交付范围独立完成，不将总控变成硬依赖。

每次内容交付运行 validate；只有修改工具代码或遇到疑似工具回归时运行 scripts/selftest.mjs，不要求每次创作重跑开发测试。


涉及尚未授权的创作取舍时，给用户 2–3 个有具体差异的选项，说明收益、损失与推荐，允许保留原稿或自定义。模型先完成阅读、诊断和短样段，不把准备工作推给用户；已经明确授权的范围直接执行。未经用户选择，不把暂定片长预算升级成删词、删情绪段落的理由。
