worldwonderer/short-drama-video-prompts
为已接受的短剧镜头和关键帧编写或修改可复制的通用视频提示词与运动规格。用户提到视频提示词、文生视频、图生视频动作、人物表演过程、运镜、对白口型、环境运动、镜头时长、起止状态或把分镜转成视频提示词时直接使用;只描述单个已编镜头内的运动、表演、摄影与声音,不生成视频,不调用模型或供应商接口,也不改写分镜边界。
npx skills add https://github.com/worldwonderer/drama-skills --skill short-drama-video-prompts
把分镜已经决定的一个镜头,写成按时间执行的动作、表演、摄影和声音。运动说明只实现起止边界,不能改写边界。
从本技能目录读取 suite-ref.json,按其中相对 core_manifest 定位唯一同级主技能与
套件清单;确认声明的 core、contract、recipe 和清单 hash 一致后再读写项目。
随后执行 阶段契约 的运行时预检:先恢复事务、读取状态,再进入本阶段。
该文件同时给出本阶段的所有权边界、需要从制作形态取得哪些输入,以及本阶段规则表;本技能不读取其他技能的文件。
stale 或项目状态不清时,读阶段契约 的所有权边界;需要定位规则 ID
或解释审查问题时,读同一文件的本阶段规则表。
accepted 的镜头、起始关键帧/边界、时长、连续性终点与对白/声音引用;未接受或 stale 时退回 $short-drama-storyboard。provisional、但没有 unresolved 问题的镜头/关键帧写候选运动说明;保留 authority:candidate,禁止声称已经 accepted、approved 或
delivery-ready。
short-drama.json#/creator_authority/{visual_direction,production_profile};直接从本环节开始的项目若为 unset,就保留选择,不把默认配置写成已接受事实。
| 任务 | 必读资料 |
|---|---|
| 任意镜头运动说明/提示词 | 起点—变化—终点配方 |
| 动作、表演、节奏或超载 | 表演弧与动作预算 |
| 运镜、环境、对白、声音、边界冲突 | 摄影声音与连续性 |
| 自检、独立复核、正反案例 | 审查量表与合成案例 |
| 生产端提示词写法、台词绑定、负面清单 | 生产提示词语法惯例 |
| 分段交付、槽位职责、时长分配 | 交付档案与槽位语义 |
| 多张参考图的用途、补拍或替代版范围 | 阶段契约 的参考媒体与补拍 |
规格使用 运动规格模板;末镜或下一集记录尚未建立时参考
末镜定位示例;可复制交付使用
Markdown 模板。只加载本次问题需要的资料。
建立只读的起止边界清单:
artifact/hash/field 引用;任何来源冲突先停止。如果创作者要求延长时长、换结尾站位、删对白或改变下一镜开场,
就向负责该内容的技能提出修改请求;不要在运动规格中覆盖。
用一句话写镜头内的运动目的:“观众在这几秒内看到或感到什么变化?”然后选择少量有因果顺序的事件:主体行动 → 可见反应或注意转移 → 到达终点。只加活动会冲淡表演。
reviewed_invariant:动作量必须让演员有时间完成镜头的故事变化;是否能完成由审查者结合当前资料判断,不用动词数或固定秒/动作公式硬挡。craft_default:短镜头优先一个主要动作,加一个必要反应;复杂过程请求分镜拆镜或延长。taste_option:克制、爆发、停顿、喜剧节奏等取决于角色和导演意图。start_anchor:只重述开动所需的姿态、重心、目光、手、持物和空间关系。ordered_subject_motion:谁先做什么、方向/路径、物理接触与先后;不要用一串“同时”。performance_arc:触发 → 内在处理的外在迹象 → 决定/行动 → 到达结束状态。camera:一次有动机的移动,写起点、速度/节奏和终点;或明确固定机位。environment_motion/audio:只写有剧情和连续性依据的环境运动、对白、画外音、环境声、音效和音乐意图。timing_plan:用阶段/顺序为主;需要精确时间时,明确段落总和必须正好等于镜头时长——超出会被截断,不足的余量会被执行端用未经批准的动作填满。end_report:说明当前描述怎样到达分镜负责的连续性终点;它只用于比较,不是新的权威来源。如果绑定的参考帧已经说明人物外貌、服装、场景构图和光线,正文就聚焦“从此刻开始怎么变”。只重复动作执行中容易出错的局部事实,如“右手仍握住铜夹”。不要复制完整人物/场景设定,也不要用“与参考一致”替代必要的起点信息。
每条参考绑定还要声明 role / may_control / must_not_control。身份参考不自动决定
构图,构图或尺度参考不自动带入图中人物、服装、文字、道具和故事状态;先做像素/文字
检查,再使用允许参考的内容。只有创作者/参考图权利人的可核对说明,或运行环境获授权
后形成的输入参考图检查记录,才能给出结论;说明记录写 creator_described,视觉检查写
visually_inspected,两者都没有时保持 unverified。这不是媒体生成
或成片验收。
structural_invariant:明确时间段相加正好用完镜头时长(既不超出也不留余量);同一时间区间不能既固定机位又摇、移、手持,除非写清切换;引用必须可解析;end_report 必须匹配来源终点。reviewed_invariant:动作物理可行、表演弧可见、摄影有动机、没有语义发明。craft_default:环境和摄影只支持注意、压力、揭示、结盟或转场,不用来装饰每一镜。taste_option:固定或移动机位、焦段语汇、口型精度和音乐密度由项目配置决定。一个已经设计好的镜头只保持一个剪辑边界。不要在镜头内部偷藏未声明的切镜;打包也不改变源镜头可以单独审查的要求。
若创作者声明了多镜交付容器,一个容器可以按来源顺序承载若干连续镜头:此时切换只允许出现在成员镜头边界上,容器时长必须等于成员镜头已接受时长之和,镜头目的与逐镜可审查性不变。容器分层、成员资格与两级算术见 delivery-profile.md。
写完容器记录后用 container_check.py 做一次全集对账:
python3 <skill-dir>/scripts/container_check.py \
剧集/EP001/storyboard/delivery-containers.jsonl \
--shots 剧集/EP001/storyboard/shots.jsonl
逐个容器都正确不代表全集的账是对的:一个镜头同时进两个容器会让全集时长凭空多一段,
一个镜头谁都没装会让它无声消失——两种错误在单容器视角下都看不见。脚本做的是集合
与算术比对:成员是否重复认领、成员是否属于本集、容器时长是否等于成员之和、容器加散镜
是否正好等于全集总时长。
未装容器的散镜是合法的,脚本只报告不判错;时长尚未确定的镜头列在 unmeasured_shots
并排除在总和之外,这样"还没做完"不会被当成"做错了"。
若 timing_plan 写的是显式秒段,再用
motion_timing_check.py 核 VID-04 的算术:
python3 <skill-dir>/scripts/motion_timing_check.py \
剧集/EP001/storyboard/motion-specs.jsonl \
--shots 剧集/EP001/storyboard/shots.jsonl
超出与不足都算违约,且不足的后果更重:未分配的余量不会渲染成静止画面,执行端会用
没有上游来源的动作、表情或运镜把它填满。脚本还会报未声明的区间重叠、declared_total
与实际覆盖不一致,以及 boundary_refs.duration 相对镜头已接受时长过期。
relative 计时不做算术断言,列在 relative_plans 里报告而不是判过。
若当前版本是局部补拍或替代实现,在 coverage_scope 标明 `master | pickup |
alternate`,用同一文件内稳定的运动记录 ID 说明母版和补充关系;每项原文要求都要对应到
当前运动字段或说明去向。补拍默认只补充、不替代母版;运动规格只能提出替代请求,
独立审查者在下游审查结论中绑定固定 hash 后决定,不能回写运动规格形成循环引用。
先向创作者展示起止边界摘要、动作/表演顺序、摄影/声音选择、时长警告和可复制提示词。接受后写:
剧集/<EP>/storyboard/motion-specs.jsonl:运动规格字段和只读来源引用;剧集/<EP>/storyboard/delivery-containers.jsonl:仅当项目声明了多镜交付容器时,记录容器成员顺序、各成员已接受时长的只读引用与容器时长,模板见
delivery-container.jsonl.md;
剧集/<EP>/storyboard/video-prompts.md:由已接受规格、容器记录和配方 hash 生成的文本版本。自然语言改提示词时,先展示规格字段怎样变化和重新生成的文本预览;若改动触碰分镜或
剧本负责的内容,保持当前文件不变,并把修改请求交给对应技能。跨文件发布遵循主技能的
提交与恢复流程。
start_anchor 出发,以明确顺序实现已确认终点,不改变时长、对白或下一镜;$short-drama-review 结合来源资料审查是否可执行、是否改写原意;Take worldwonderer/short-drama-video-prompts from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.