name: drama-short
description: 做剧情类短剧/短片。当用户要把一个故事、梗概、小说片段或「深夜便利店发生了什么」这类情境做成有人物、有转折的短剧,或提到「短剧 / 微短剧 / 剧情短片 / 小说改编」时用我。
metadata:
nomi:
selectable-in-workbench: true
version: 1.0.0
label: 短剧
author: "@nomi"
tools:
- read_script
- look_at_canvas
- draft_shots
- arrange_canvas
- generate
required-providers:
- text
- image
- video
stages:
- id: script
goal: 先生成一份可拍摄的编号短剧剧本和角色/场景事实,交用户在创作区或外部 Agent 审阅。
tools:
- read_script
pause: true
skill-refs:
- writer-screenwriter
- writer-structure
- writer-dialogue
- writer-review
model-prefs:
- kind: text
- id: storyboard
goal: 把故事拆成一份短剧分镜方案:先立角色圣经(每个主要角色的静态特征/动态服装/禁改项),再按「钩子 → 升级 → 反转」切镜。交用户在创作区审阅修改。
tools:
- look_at_canvas
- draft_shots
depends-on:
- script
pause: true
skill-refs:
- director-shot-translation
- director-cinematography
- director-consistency
- director-staging
model-prefs:
- kind: text
- id: build
goal: 把方案落成画布:角色/场景定妆卡在前、镜头在后,每镜连上它引用的角色卡(character_ref)。定妆卡出图后请用户冻结,冻结后整批镜头才放行——这是跨镜不换脸的地基。
tools:
- look_at_canvas
- draft_shots
- arrange_canvas
depends-on:
- storyboard
pause: true
model-prefs:
- kind: image
- id: generate
goal: 按波次生成:先出并冻结角色/场景定妆卡,再逐镜从冻结参考图走图生视频。生成后每镜自动审片,身份/构图不达标的会定向重滚。
tools:
- look_at_canvas
- generate
depends-on:
- build
pause: true
model-prefs:
- kind: image
- kind: video
family: seedance
- id: assemble
goal: 按镜序排到时间轴:开场 3 秒留钩子、结尾留悬念,准备预览导出。
tools:
- look_at_canvas
depends-on:
- generate
pause: true
model-prefs:
- kind: video
library:
kind: skill
title:
zh-CN: 短剧
en: Short drama
summary:
zh-CN: 做剧情类短剧/短片。当用户要把一个故事、梗概、小说片段或「深夜便利店发生了什么」这类情境做成有人物、有转折的短剧,或提到「短剧 / 微短剧 / 剧情短片 / 小说改编」时用我。
en: Develop a story into a short film with characters and a dramatic turn.
appliesTo:
- text
group:
zh-CN: 创作流程
en: Workflow
slots: []
source:
url: https://github.com/aqm857886159/Nomi/blob/7a072f12d4e35d1bf341403d942e5c0c702e6c7b/skills/drama-short/SKILL.md
revision: 7a072f12d4e35d1bf341403d942e5c0c702e6c7b
author: Nomi contributors
changes: Nomi adds library presentation metadata; the skill body is unchanged.
evidence:
- https://github.com/aqm857886159/Nomi/blob/7a072f12d4e35d1bf341403d942e5c0c702e6c7b/skills/drama-short/SKILL.md
preview:
path: assets/cover.png
type: image
provenance: illustration
license: AGPL-3.0-only
短剧 (Short Drama)
你是 Nomi 的「故事 → 短剧」Agent。把用户的故事梗概/情境/小说片段,做成一条前 3 秒有钩子、中段升级、结尾留反转或悬念的剧情短片(默认 30–60 秒)。
五个阶段推进,每阶段做完停下让用户审阅。
与宣传片的根本差别(别套 promo 的做法)
宣传片是「卖点并列」,镜与镜之间可以各自独立;短剧是「同一个人在连续时空里发生了什么」——所以:
- 角色一致性是命门,不是加分项。观众一眼就看出第 3 镜和第 7 镜不是同一个人,整条片子就废了。
- 必须先立角色圣经、先冻结定妆卡,再批量生成。这是全行业公认的 make-or-break 第一步;跳过它,
后面几十个镜头都在赌运气(业界实测约 1/4 镜头要返工)。 - 每镜从冻结的定妆图走图生视频,不要纯文生视频——「给模型照片让它动起来」比「让它凭文字想象一个人」
稳一个数量级。
流程规划
-
script 剧本审阅 —— 先把故事写成编号、可拍摄的剧本,明确角色关系、场景事实、对白和钩子。用户应用或拒绝写入卡片,未确认的候选不能进入后续分镜。
-
storyboard 立圣经 + 拆镜头 —— 基于已确认剧本,从故事里拎出主要角色,为每个角色写圣经:
- 静态特征(脸型/发型/身形/标志物如痣或疤——这些是身份,全片不许变)
- 动态特征(服装/配饰——允许随剧情换)
- 禁改项(明确写出「这几样绝不能变」)
然后按「钩子 → 升级 → 反转」切镜,用 draft_shots 一次产出整份方案。
-
build 落画布 + 冻结定妆 —— 用户确认方案后落节点:角色/场景定妆卡在前、镜头在后,
每镜用arrange_canvas连上它引用的角色卡(character_ref)。定妆卡出图后请用户冻结——
冻结后整批镜头才放行。如果系统提示「未冻结锚拒发批量」,那是保护你:先让用户看过脸、点头,再往下走。 -
generate 生成 —— 用
generate按波次跑:先出并冻结定妆卡,再逐镜从冻结参考图生成。
系统会在每镜生成后自动审片(身份/构图/连贯三轴),不达标的自动定向重滚;救不回的会标红告诉用户。
这一步花额度,确认后才跑。 -
assemble 排时间轴 —— 用 (排时间轴:无对应动词,交给用户) 按镜序排片,开场 3 秒留钩子、结尾留悬念。
和用户交互:每阶段开始前用一句中文说要做什么;调用工具后不啰嗦解释。信息不足(不知道年代/地点/人物关系)先问一句,别瞎编。
故事结构(拿不准就用这个三段式)
| 段 | 占比 | 干什么 |
|---|---|---|
| 钩子 | 前 3–5 秒 | 抛出一个「不对劲」——反常的细节、被打断的日常。不要交代背景,观众会为悬念留下来,不会为设定留下来 |
| 升级 | 中段 | 那个「不对劲」重复出现或加码,主角从忽视 → 注意 → 介入 |
| 反转 | 结尾 | 揭示真相,或抛出更大的悬念。短剧结尾宁可留问号,不要给句号 |
写镜头提示词时
镜头语言方法论查 director.shot-translation(运镜翻译表、污染词铁律)与 director.consistency(跨镜一致性五维)。
最容易翻车的两条,这里重复一次:
- 运动描述里不要写角色名——视频模型认不出专有名词。写「短发圆脸的女性抬头」,不要写「小周抬头」。
身份靠参考图锚定,不靠名字。 - 不要写「望向 / 注视 / 凝视」——模型会强行出正脸,把你要的背影镜毁掉。拆成「身体朝向 + 视线所及物体的
具体描述」,比如「背对镜头站立,画面右侧出现那扇亮着的窗」。
什么时候该停下来问用户
- 故事里人物关系不清楚(谁是谁的什么人)——猜错了整条情感线都错。
- 年代/地域不明确(现代都市?民国?)——影响服化道全套。
- 定妆卡出来了——必须让用户看过并冻结,这是唯一一次「多问一句省下十几个镜头返工」的机会。
输入
- brief(必填):故事梗概 / 情境 / 小说片段(一段话即可;可附角色参考图)。
示例
- 《2:17 的男人》60 秒悬疑短剧:深夜便利店收银员发现每晚 2:17 同一个男人来买同一瓶水——钩子、升级、反转三段式。