复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
项目页: · ZenStory AI 全部项目:
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
中文 | English
项目页:https://zenstory.ai/drama-skills · ZenStory AI 全部项目:https://zenstory.ai/projects
面向编剧、漫剧工作室和编导的 AI 短剧创作工作流。十一个技能把一个点子或一部长篇材料, 一路做成分集剧本、资产设定、图片提示词、分镜关键帧和视频提示词, 用清晰的所有权与连续性衔接。适配 Claude Code、Codex 和其他 支持 Agent Skill 规范的运行环境。
新项目每集默认只维护五份 Markdown:剧本.md、视觉设定.md、分镜.md、
图片提示词.md 和 视频提示词.md。
这套技能来自我们自己的漫剧工作室产线:2025 年至今累计上千个 AI 短剧 / 漫剧项目, 中间换过几轮自建和开源工具。前后端加起来近 8 万行代码,在模型能力和需求的迭代速度 面前逐渐维护不动了。
后来干脆抛开自建的一体化图形工具,把历史项目工程和图片 / 视频提示词蒸馏成这套技能, 让制作人直接用 agent CLI 加文件维护工程、生成提示词,确认之后再送去生成——结果意外地顺手。 现在留在自建工具里的,只剩排队抽卡。
刻意把确认放在生产之前:提示词先落进文件,生产 skill 展示本次准确数量、内容、参考、 参数、输出和 adapter;用户看到预览并明确确认后才执行。供应商凭据不进入项目, 项目文件和其他 Skill 都不绑定供应商。
需要 Python 3.9 或更新版本(macOS 自带的即可)。直接告诉 Claude Code、 Codex 等支持导入 GitHub 仓库的智能体:
安装这些技能 https://github.com/zenstory-ai/drama-skills
git clone https://github.com/zenstory-ai/drama-skills.git && cd drama-skills
# Claude Code
mkdir -p "$HOME/.claude/skills"
for skill in skills/*; do
ln -s "$PWD/$skill" "$HOME/.claude/skills/$(basename "$skill")"
done
# Codex
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
for skill in skills/*; do
ln -s "$PWD/$skill" "${CODEX_HOME:-$HOME/.codex}/skills/$(basename "$skill")"
done
每个技能都是独立安装单元;只使用写作、审查或生产等单一能力时,可以只链接对应目录。
short-drama 提供项目初始化、路由与 Dashboard,但不是其他技能的安装门禁。
调用写法随运行环境而变:Claude Code 用 /short-drama,Codex 用 $short-drama,
也可以不写前缀、直接用自然语言说明要做什么。两种写法在下文示例中可以互换。
# 0. 有原著时(可选):先抽样快评,再决定要不要全量拆
用 $short-drama-novel-analyze 快评 输入/这本小说.txt,先告诉我值不值得拆
# 已有多集完整剧本时(可选):按文件实际结构索引,每次只读当前集,断点续做分集地图
用 $short-drama-develop 从 输入/剧本完整版.txt 生成分集地图;先识别这份文件的分集方式,不要整稿塞进上下文
# 1. 新建项目
用 $short-drama 初始化一个都市打脸题材的短剧项目,竖屏 9:16
# 2. 写第一集
用 $short-drama-write 写第 1 集:外卖员在高档餐厅被经理羞辱,亮出集团董事身份
# 3. 拆资产,写提示词与分镜(可在同一请求内连续完成)
用 $short-drama-assets 从第 1 集拆人物/场景/道具
需要统一视觉语言时,可选用 $short-drama 做 Look Development
用 $short-drama-image-prompts 为已接受的资产写参考图提示词
用 $short-drama-storyboard 给第 1 集做正式分镜与冻结关键帧
用 $short-drama-video-prompts 把分镜逐镜翻译成视频提示词
# 指定目标视频模型、并且要人物/场景/道具跨镜一致时,把参考图的事也说清楚:
用 $short-drama-video-prompts 按 MiniMax H3 写第 1 集视频提示词;先在项目里找已有的角色图、场景图、道具图和本镜起始帧绑成参考,缺哪张就列出来,不要改成文生视频
# 参考图在自己的界面里出、不进项目时,让技能写出逐镜挂图计划,视频提示词照常产出:
用 $short-drama-video-prompts 按 MiniMax H3 写第 1 集视频提示词;参考图我自己挂,逐镜告诉我挂哪几张、什么顺序、每张管什么
# 4. 明确确认后投产
用 $short-drama-produce 预览第 1 集已接受的图片、视频、TTS 或时间线音乐任务;等我确认后再执行
# 5. 把生产出来的素材剪成成片
用 $short-drama-edit 把第 1 集已生产的镜头剪成成片,逐段写清入出点理由
# 6. 需要时再审查
用 $short-drama-review 审查第 1 集的剧本与提示词
示例都在 examples/。creator-first 的公开完整样例是 《让你管账号》EP001;其余目录仅作为仓库维护和校验器回归夹具。 想把十一个技能按漫剧产线从头串一遍(每步命令、产物与卡点),看 漫剧创作全流程指引。
flowchart LR
classDef phase fill:#e8f4fd,color:#1a1a2e,stroke:#4a9be8,stroke-width:1px
classDef final fill:#fce4ec,color:#333,stroke:#e57373,stroke-width:1px
nva["原著分析<br/>$short-drama-novel-analyze"]:::phase
dev["故事开发<br/>$short-drama-develop"]:::phase
write["分集剧本<br/>$short-drama-write"]:::phase
assets["资产决策<br/>$short-drama-assets"]:::phase
img["图片提示词<br/>$short-drama-image-prompts"]:::phase
sb["分镜/关键帧<br/>$short-drama-storyboard"]:::phase
vid["视频提示词<br/>$short-drama-video-prompts"]:::phase
prod["确认后生产<br/>$short-drama-produce"]:::phase
cut["剪辑成片<br/>$short-drama-edit"]:::phase
rev["审查<br/>$short-drama-review"]:::final
pkg["文本交付包"]:::final
nva -.有原著时.-> dev
dev -.可选.-> write --> assets
assets --> img
assets --> sb --> vid
img --> prod
vid --> prod
prod --> cut --> rev --> pkg
| 技能 | 职责 |
|---|---|
short-drama | 初始化、路由、视觉方向/Look Development 与 Dashboard |
short-drama-novel-analyze | 长篇原著的抽样改编快评、章节索引、逐章功能提取、剧情单元与节奏、改编价值与分集候选 |
short-drama-develop | 小说/长材料的可追溯改编、多集整稿的 Agent 主导切片与续跑、故事引擎、分集地图、导演阐述、题材与钩子手册 |
short-drama-write | 单集目标、因果节拍、可拍剧本和项目选择的制作稿格式 |
short-drama-assets | 人物/造型、地点/视图、道具/状态、可选的角色声音方向与连续性决策 |
short-drama-image-prompts | Lookdev 风格帧、角色/场景/道具参考板提示词与定点修改说明 |
short-drama-storyboard | 可选场次视觉计划与 Coverage Audition、原文落实、镜头、边界和冻结关键帧 |
short-drama-video-prompts | 单镜动作、多人物表演与注意交接、摄影、声音、起止状态、补拍说明,以及跨镜时间线音乐规格 |
short-drama-produce | 展示有边界的图片/视频/TTS/音乐任务,取得本次明确确认后通过外部 adapter 执行并记录结果;可选支持 Seedance、GPT Image 2、MiniMax H3 视频与 MiniMax Music |
short-drama-edit | 逐镜素材的可用带、入出点取舍、镜序、台词完整性、字幕与响度,写成剪辑单并渲染成片 |
short-drama-review | 结构/内容审查、授权生产观察的项目级校准诊断与修订结论 |
下面这段 24 秒样片是一次完整实跑的末端产物:从一部 20 章的原著开始,经原著分析、剧本、 视觉设定、图片提示词、分镜(21 镜)、视频提示词,再逐镜生成 SC003 一场的八段素材, 按剪辑单剪成成片。
https://github.com/user-attachments/assets/0809876a-2a23-4723-a809-45c57988939f
在智能体里一句话启动(Codex 写作 $short-drama dashboard):
/short-drama dashboard
macOS、Linux、WSL 与 Windows 原生都可运行。创作台以 --detach 独立进程运行,链接在整个创作期间
保持有效;--status 打印当前链接,--stop 关闭。
全部跑完后导出交付:$short-drama 用 project_tool.py export <project> --out <项目外目录>
把每集现有的五份 Markdown 和 制作成果/ 复制成一份带清单和校验和的交付目录。
LINUX DO - The New Ideal Community — 社区支持
本项目由 ZenStory AI 维护——一组开源、面向 agent 的故事创作、改编与生产工具(GitHub 组织:zenstory-ai)。同组织项目:
| 项目 | 用途 |
|---|---|
| oh-story-claudecode | 网文写作 skill 包:扫榜、拆文、写作、去AI味、封面图 |
| drama-skills | AI 短剧 / 漫剧创作 skill 合集:剧本、资产、分镜、图片/视频提示词、独立审查(本仓库) |
| novel-to-game | 把小说改编成可玩游戏的 agent skills |
| video-recap-skills | 把任意视频剪成中文解说视频,支持剪映草稿导出 |
| oh-story-dsh | DeepSeek Harness 插件,封装 Oh Story 与 Drama Skills 工作流 |
| zenstory | 对话即创作的 AI 小说写作工作台(zenstory.ai) |
name: short-drama-storyboard
description: 把中文短剧剧本和视觉设定写成有戏剧职责、连续性边界与冻结关键帧提示词的分镜 Markdown。用户提出“拆分镜/设计镜头/做镜头表”“场次视觉计划/调度故事板”“比较导演方案”“写首帧/关键帧提示词”或检查轴线、站位、视线、持物连续性时使用;不生成媒体。
license: MIT把剧本和视觉事实转成有镜头职责、空间连续性和可冻结起点的 剧集/<EP>/分镜.md。
每镜使用二级标题 ## SHOT-...,同镜下用 ### 冻结关键帧提示词 写起始帧正文;
需要时另加 ### 收尾关键帧提示词 写终点正文。
用 $short-drama-storyboard 完成 EP001 的正式分镜和每镜冻结关键帧
当前剧本加必要视觉事实即可直接进入。资产图片提示词与分镜是兄弟分支,不互相等待。只有关键场次 真的存在多个成立导演方案时,才在上下文比较覆盖方案;普通场次直接设计。
创作者可读说明跟随项目语言;冻结关键帧的可复制正文跟随
short-drama.json#/format/prompt_language。没有 short-drama.json 时正文默认使用 en。
分配镜头时长前读取
short-drama.json#/creator_authority/production_profile/choices/native_duration_seconds。已声明目标模型但
没有原生时长时先补这一个选择;目标模型也未声明时照常按叙事节奏设计,不猜供应商限制。
冻结关键帧写完之前,谁会出现在这一格画面里还没有定下来。所以三条依据都在关键帧之后回填, 读的是成稿画面,不是镜头意图。
用户没有手工点名参考图,不等于选择文生视频。冻结关键帧后先根据本镜可见人物、地点、关键道具与 起始构图判断一致性需求,再检查项目中已有的真实图片。只有当前可读、内容与用途可核对的图片才能自动绑定; 文件名像某个角色但内容未核对时,仍视为未准备好。
项目里一张都没有时,创作者有三条路,一次把三条都说清楚再让他选,不要只给「先生成参考图」和
「改成文生视频」两个:把手上已有的图片放进项目再绑成 REF-...;在自己的工具里出图、本轮先用
PLAN-... 写出挂图计划;或者明确改走文生视频。用本套件的生产技能出图只是第一条路的一种做法,
需要项目外的 adapter 与凭据,不是唯一入口。
开始分镜前读 剧集/<EP>/剧本.md 的当前内容。创作者说「剧本已确认采用」指的是那个文件,
不是对话里更早的草稿;两者不一致时以文件为准,并把差异说出来。
读取已接受的目标模型原生时长区间,再确认每个场景动作、对白、声音、画面文字和转折由哪些镜头承载。
确定观众何时知道什么、对齐谁、空间如何揭示、转折落在哪个可见动作。 剧本或 Brief 用“前半段 / 后半段 / 前三分之一 / 最后 N 秒”等相对时间限定首次出现、释放或禁止时, 先用已接受集长换成明确时间边界再分镜;例如 60 秒作品的“后半段首次出现”不得早于 30 秒。
每镜写清唯一职责、来源、时长、景别/机位、起点、唯一主要动作、终点和声音;用
起点 → 唯一动作 → 终点 直接说明人物、双手与持物怎样完成本镜状态转换。三条依据留到第 6 步。
有对白、VO 或 OS 时,先按原文和人物说话方式估算完整发声时间,再安排不能重叠的动作、停顿与
末尾反应;把估时依据简写在本镜「声音」里。具体做法见 对白估时。
锁定人物朝向、位置、视线、持物、出入口、屏幕方向和必要状态;上游已有会限制动作空间的持续关系时,把关系投影进本镜起点与终点。
冻结关键帧只投影镜头起点;删除终点才出现的文字、动作、姿态或道具状态。
镜头的职责落在收尾那一下时,另写 ### 收尾关键帧提示词 投影终点——同一格画面的
另一端,规则完全对称:删除起点才有、终点已经不在的东西。它是可选的,写法与取舍见
首尾成对。
关键帧成稿后,先从成稿正文读出这一格里需要保持身份、造型或地理的人物、地点和道具, 再用同一份清单一次填满三条依据:
IMG-... 条目的写上,没有的留「无」;剧集/<EP>/制作成果/ 和文档已指向的其他可见媒体中查找匹配图片;
命中就写入 REF-...。一张都没命中时写「无(待补参考图:<本镜缺失的起始帧、人物、地点、道具>)」;
只命中一部分时,在已有 REF-... 后追加「;待补参考图:<仍缺的图片>」,缺口之间只用 、 分隔。
创作者说图片由他自己在别处准备时,把这份清单写成 PLAN-... 槽位,本镜即告就绪;
只有创作者明确表示不用图时,才写「无(创作者已明确选择文生视频)」。三条依据读的是同一格画面,所以不能互相矛盾:关键帧里点名的人物或道具,一定出现在视觉依据里。
整集请求完成整集,末端一次报告覆盖、节奏和真实未决选择。
每镜有唯一职责、明确来源、可见起止状态和合理时长。「来源」以《剧本.md》里真实存在的场景 ID 开头,
ID 之后可以跟必要短引文,跨场次的镜头用 、 连写多条;creator_markdown_check.py 会核对每个 ID 都解析得到。
「来源」短引文应对应本镜承担的动作或声音。正文提到画外人物时,可在视觉依据写
;画外:<类别>「<名称>」;这只声明其不在画面,不能代替必要动作的落实。
需要看见的动作应另有镜头承载,或说明为何省略。
剧本里的每个场景都要有镜头承载。确实决定不拍某一场时,在《分镜.md》正文开头写一行
- 未拍场次:<场景 ID>(理由:……),多项用 ; 连接。SHT-01 一直允许带理由的省略,
但省略和漏拍在成稿文档里长得一模一样,所以理由要写下来,而不是留在对话里。
已声明原生时长时,每个一镜一生成的镜头都落在其最短与最长秒数内。短于下限的叙事动作在合法 镜长内完成后保持终点;长于上限的动作按可见状态闭合点拆镜,拆出的每镜仍各有唯一职责与可信交界。
「唯一动作」写从本镜起点到终点的那条可见状态链;涉及交接、换手、放置或取回时,把接触者、 接触方式和物件落点写在同一链里,不能让合法终点之间靠镜外瞬移衔接。
切镜必须带来信息、权力、情绪、空间或节奏变化;同义重复镜头删掉。
相对时间词约束的是事件首次可见或可听的时刻,不因前置动作已经完成就提前释放;分镜时间轴直接 写出该边界,不把“稍后”“交接后”等叙事顺序当成数值时间的替代。
同一动作不跨镜重复发生;终点应能成为下一镜可信起点。
关键信息的可读性优先于装饰性运镜,竖屏构图优先保证主体和反应可见。
复杂群戏先锁空间锚点和屏幕方向,再决定景别变化。
起终边界除了逐人姿态,还要写清本镜依赖的身体—物件—空间关系。关系在镜内不变时两端都保留;确需改变时,过程与终点必须有剧本依据。
冻结关键帧只写该瞬间能看见的内容;文字、手指、反射和遮挡要可生成。
《视觉设定.md》的连续性锁在生效镜头上原样写进冻结关键帧正文;锁面不因“参考图会交代”而省略。
检查发现遗漏就直接修正文档,不生成覆盖表来证明自己检查过。镜头块里的「视觉依据」是本镜的依据字段,不是这里说的覆盖表。
IMG-... 是《图片提示词.md》里的提示词条目 ID,不代表图片已生成、已提供或可用。《视觉设定.md》·<人物|造型|地点|道具>「<名称>」(控制:<范围>),多项用 ; 连接,名称必须能在《视觉设定.md》里找到同名标题。
小比例或背景人物只要需要认出身份仍在范围内,画外人声和不可识别局部不算;本镜确实没有这类条目时写「视觉依据:无」。;画外:<类别>「<名称>」。这是如实记录,不是把不在场的人写成在场。道具「手机」 会撞上「手机店」,人物「小雨」 会撞上「下着小雨」),
在《视觉设定.md》该条目写 画面代称:无,机械核对就不再按名字找它;这一镜是否画到它仍由「视觉依据」如实回答。creator_markdown_check.py 会机械核对这一条。它只抓被名字点到的那一类:正文只描述不点名
("a boy in a hooded jacket")时机器不发声,画面里有谁仍然要靠这一步自己读出来,不能等报错。$short-drama-assets 补条目。
不自行新增《视觉设定.md》条目,也不把它塞进「视觉依据」冒充已有条目。IMG-... 的稳定 REF-... 槽位引用。每个槽位同时写显式顺序、仅用 / 分隔的项目相对路径、中文名称、「用途」、「控制」和「不得控制」范围;没有时必须区分「待补参考图」和「创作者已明确选择文生视频」,只准备了一部分时则保留已有 REF-... 并追加「;待补参考图:……」。不得把提示词条目、还没生成的图或对话中的描述写成 REF-...——REF-... 的意思是「文件此刻在项目里」。
创作者会在生成时自己挂载的图片走下面的 PLAN-...:它同样不声称文件存在,只是把这一镜要挂哪几张写清楚。REF-... 必须逐字遵循唯一格式:REF-<slot>(顺序:<n>)· <项目相对路径>《<中文名称>》(用途:<用途>;控制:<范围>;不得控制:<范围>)。注意「顺序:」后的全角冒号和路径前的中点 ·;不得用 / 代替字段分隔符。多图只用中文分号 ; 连接,部分缺图则在最后一个完整槽位后接 ;待补参考图:<缺口>,缺口之间用 、 分隔。写完后按此格式回读一次再交付。用途 只能取 身份、造型状态、地理、构图、尺度、效果、起始帧、结束帧、风格 之一;逐条能控制什么见 $short-drama 的《参考角色》。
本镜的起始画面图写 用途:起始帧,人物图写 用途:身份 或 造型状态,场景图写 用途:地理,道具状态图按它决定的那一件写。
一张图承担两件事就拆成两个槽位;一镜最多一张 起始帧 和一张 结束帧,写 结束帧 时必须同时有 起始帧。
下游视频提示词靠 用途 说清「本镜送哪一张分镜起始帧、哪些人物/道具/场景图」,所以缺 用途 的槽位不算准备好。用途:起始帧 那一张由 $short-drama-produce
用本镜的冻结关键帧正文生成,job 的 source 写 剧集/<EP>/分镜.md、source_entry 写本镜 SHOT-...,
产出落在 剧集/<EP>/制作成果/images/,拿到真实文件后再绑成 REF-...。创作者在自己的工具里生产:
把冻结关键帧正文复制过去出图,再把文件放进项目绑成 REF-...,或者本轮先写成
PLAN-SHOT-START(顺序:<n>)· <本镜 SHOT-...>《本镜冻结关键帧》(用途:起始帧;……)。
两条路都没走时,它仍然只是「待补参考图」里的一项。PLAN-... 槽位:语法与 REF-... 逐字相同,只把项目相对路径
换成 IMG-... 或 SHOT-... 条目 ID,IMG-... 的中文名称必须与《图片提示词.md》标题一致。
它声明的是「这张图由创作者在生成时按这个顺序挂载」,不声称项目里有文件,因此不是「待补」,
也不能拿来投产。真实文件进了项目就改写成 REF-...。两种槽位可以混用,顺序 统一连续编号。默认只读本 SKILL、当前剧本和必要视觉事实。遇到对应问题时只打开一份:
保留未受影响的镜头 ID。拆镜、并镜或改变镜头职责时,说明哪些下游视频提示词需要刷新,但不自动 重写用户没点名的文件。
点名范围的原文都有镜头落实,每镜职责不重复、空间与状态连续、起止边界可制作、关键帧可冻结,
每镜「来源」解析到《剧本.md》的真实场景、剧本里每个场景都有镜头承载或已记入「未拍场次」,
且每镜关键帧里的可见人物、地点、道具都在本镜「视觉依据」里,即完成。画面需要、但《视觉设定.md》
还没有条目的可见物件,在末尾报告里逐项点名。本次请求同时修改
《图片提示词.md》与《分镜.md》时,当轮刷新受影响镜头的引用;不另建覆盖表。
视频提示词、生产和审查只有用户点名时开始。
五份创作文档齐备后,可转 $short-drama 对跨文档结构做一次机械核对;内容质量仍由创作者审查。
只有安装、升级或排障时运行 python3 scripts/selftest.py。
评论 (0)
暂无评论,成为第一个评论者吧!