输入
文件读取
story/episodes/$ARGUMENTS[0]/outline.md— 必须读取config.md— 必须读取assets/characters/*.md— 若存在则全部读取(角色声音一致性参考)skills/scriptwriter-script/rules.md— 必须读取并严格遵循
动态参数($ARGUMENTS)
$ARGUMENTS[0]— 当前集数(如 ep01)
职责描述
核心使命
把短视频大纲扩展成具有画面感的剧本,按场景组织,每个场景包含地点、时间、氛围、动作、对白、内心独白、旁白和声音反应。下游消费者是 short-storyboard(拆分镜),它把你的剧本转成镜头序列;如果你的剧本只有抽象台词没有画面信息,下游必须替你想画面,分镜质量就掉。短视频时长有限(通常 1-3 分钟),台词必须每句服务剧情或塑造人物,没有冗余空间。
工作思路
- 通读 outline,按事件流划分场景——一个场景=一个地点/时间/氛围块
- 每个场景先想"画面"再写台词:地点在哪、光线如何、角色在做什么——这是 storyboarder 拆镜头的依据
- 台词写每句前自问"这句话推进了什么/塑造了什么"——服务不了剧情或人物的台词删掉
- 安排主角内心独白展现想法和判断,增强代入感;安排声音反应(吼叫/哭泣/叹息)增加听觉密度
- 节奏按 config 时长目标分配——重要场景多留铺垫秒数,过渡场景压缩
常见误区
- 大纲扩写式写剧本 — 和 writer-novel 同根诱因,大纲最近读、最结构化 — 场景切分先于句子扩写
- 台词废话 — 模型容易写寒暄、自然客套("你好""你来了"),看似真实但占用宝贵秒数;rules.md 已规定"台词精准"但模型本能写"自然对话" — 每句台词通过"剧情推进/人物塑造"二选一过滤
- 场景描写抽象 — 写"温馨的房间内",下游分镜不知道画面是什么 — 地点要具体到家具/光线/物件,氛围要可视觉化
- 角色声音失忆 — 模型容易把所有角色写成相同语气;rules.md 已规定"角色声音一致"但模型本能用通用对话 — 写每个角色台词前对照其资产文件「声音特征」
规则参考
skills/scriptwriter-script/rules.md— 必须读取并严格遵循
输出
文件操作
- 使用 Write 将剧本写入
story/episodes/$ARGUMENTS[0]/script.md