短剧创作路由
SkillDev tools基于文件系统初始化和继续短剧或漫剧项目,提供 creator-first 五文档路由、本地 Dashboard、制作形态与 Look Development 决策。用户提出“创建/继续短剧项目”“看进度/下一步”“做 Look Development”“打开 dashboard/短剧创作台”“导出制作资料”,或任务跨多个创作阶段时使用;明确的写作、资产、提示词、分镜、剪辑或审查请求由对应子 skill 直接处理。
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the 短剧创作路由 skill
What this skill tells your AI
The instructions your AI receives, as published by zenstory-ai/oh-story-dsh in packages/knowledge/drama/skills/short-drama/SKILL.md and read by ahel’s review.
本技能负责项目初始化、跨阶段路由、制作形态与 Dashboard。各阶段正文由对应 owner 完成。
Quick Start
所有项目统一使用 creator-first 工作流:每集按需维护
剧本.md、视觉设定.md、分镜.md、图片提示词.md、视频提示词.md,不建立并行的结构化创作真相。
具体写法见 五份创作文档。
路由
| 用户要做什么 | owner / 行为 |
|---|---|
| 开发点子、系列承诺、改编和分集地图 | $short-drama-develop,仅在用户需要时 |
| 已有多集完整剧本/散稿识别分集 | $short-drama-develop 按实际边界建立临时索引 |
| 分析长篇原著 | $short-drama-novel-analyze,仅在用户需要时 |
| 写或改单集剧本 | $short-drama-write → 剧本.md |
| 拆人物、造型、地点、道具 | $short-drama-assets → 视觉设定.md |
| 写资产图片提示词 | $short-drama-image-prompts → 图片提示词.md |
| 做镜头和冻结关键帧 | $short-drama-storyboard → 分镜.md |
| 写视频/时间线音乐提示词 | $short-drama-video-prompts → 视频提示词.md |
| 实际生成媒体 | $short-drama-produce,先预览,再显式确认,最后运行 |
| 把已生产的素材剪成成片 | $short-drama-edit → 剪辑单.md 与 制作成果/成片/ |
| 审稿或校验 | $short-drama-review,仅在用户点名时 |
| 初始化、Dashboard、归档点名文档 | 本技能 |
项目开发/ 中的长材料分析与分集索引是可选分析工作区,不参与单集布局判定;写任何一集仍只维护
该集的五份 creator-first Markdown。
现成剧本可直接拆资产;已有视觉事实可直接写图片提示词或分镜;已有分镜可直接写视频提示词。 不要为补齐名义流水线伪造上游。
五文档是创作真相,剪辑单不是第六份。它写在素材生产之后,只记录「已有的这些素材,哪些帧进成片」, 不改变任何一集的剧本、镜头职责或时长声明;需要改这些就回到拥有它们的文档。
执行请求
- 找到用户给出的项目或资料,只读当前任务的直接输入。
- 把用户点名的完整范围交给相应 owner;批次只控制上下文,自动续跑。
- 只有真实创作分叉才询问;不要拿 schema、目录、事务或检查器询问创作者。
- 范围完成后一次回报完成内容、关键决定、真实未决项和可选下一步。
- 不自动开始用户没点名的审查、归档或生产。
- 请求横跨视觉设定、图片提示词、分镜或视频提示词时,结束前按当前五文档做一次视觉依赖对账; 不因图片提示词和分镜可并行,就把后完成的一支留在另一支的旧引用之外。
- 视频提示词请求遇到「输入参考图:无」或仍带「待补参考图」时,先路由分镜 owner 检查项目已有图片并刷新绑定。有匹配图就同请求续跑;有必要图缺失就列表停下。
停下时把三条路一起给出:把已有图片放进项目绑成
REF-...;由创作者在自己的工具里出图、本轮先用PLAN-...写出逐镜挂图计划并照常产出视频提示词;或者明确改走文生视频。用本套件生产参考图需要项目外的 adapter 与凭据,只是第一条路的一种做法,不要把它说成唯一入口,也不要只给「生成参考图 / 文生视频」两个选项。 不把“没有手工指定”当成明确选择文生视频。这一轮如果镜头还缺「视觉依据」, 同时按已成稿的冻结关键帧回填;两条依据描述同一格画面,不要只补一条。 - 用户在会话里点名目标视频模型(“按 MiniMax H3 写”“用 Seedance 2.5”)而
short-drama.json的production_profile还是unset时,先把这个选择连同它带来的原生时长、参考方式和正文语言写进档案, 再继续下游阶段。会话里的一句点名不落到档案上,下一轮就会退回通用路径,方言和时长要重猜。
初始化与 Dashboard
需要项目配置时运行:
python3 {技能目录}/scripts/project_tool.py init ./my-drama --title "示例短剧"
直接输入已经确认创作者说明语言、提示词语言、画幅、集数或单集目标时长时,首次 init 就带上对应的
--language、--prompt-language、--aspect-ratio、--episode-count、--target-seconds;只省略
未确认项,不让 Brief 中的确定事实留成配置里的 null。写入已确认的生产档案时,状态统一为
accepted;unset 只表示尚未决定,不另造中间状态。
init 只建立配置和空目录;第一次创作时再把文档写入 剧集/<EP>/,不预建空文件。
项目已经建好、用户之后才定下目标视频模型时,把选择写进档案,并同时展示它对时长区间、参考方式和
正文语言的影响。档案只接受已发布并已接受的创作者决策,所以是三步,不是一步。先写一行决策记录
(accepted_value 就是要落进 choices 的对象本身,不要再包一层 choices):
{"decision_id":"CD-H3","status":"accepted","target_locators":[{"src":"short-drama","field":"/creator_authority/production_profile/choices"}],"accepted_value":{"target_video_model":"minimax-h3","video_prompt_dialect":"minimax-h3","video_prompt_language":"en","native_duration_seconds":{"min":4,"max":15},"supported_generation_modes":["text","first_frame","first_last_frame","reference"],"audio_generation":"same_pass"}}
再发布、接受、写入:
python3 {技能目录}/scripts/project_tool.py publish <project> --owner short-drama \
--artifact-id AR-PROFILE --output "创作者决策/production-profile.jsonl=输入/profile.jsonl"
python3 {技能目录}/scripts/project_tool.py accept <project> --artifact-id AR-PROFILE --decision accepted
python3 {技能目录}/scripts/project_tool.py set-authority <project> \
--field /creator_authority/production_profile/choices \
--decision-ref "创作者决策/production-profile.jsonl#CD-H3"
各字段取值由命中的模型方言给出:$short-drama-video-prompts 的 MiniMax H3 / Seedance 方言文件都写了
推荐档案。写完用 status 复核 video_model_profile 是否已经出现。
项目定位与安全写入见 运行预检。用户明确要求 Dashboard 时运行:
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --port 0 --detach --open
--detach 让服务进程脱离当前 shell 独立运行,会话结束、终端关闭或智能体退出都不会带走它;
链接因此在整个创作期间保持有效。运行中的地址、端口和 pid 记录在
<workspace>/.short-drama/dashboard.json(仅本人可读),日志在同目录 dashboard.log:
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --status # 打印当前链接
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --stop # 停止
同一 workspace 已有在跑的 Dashboard 时,再次启动只会打印同一个链接,不再开第二个端口;确实要换
端口或换令牌时加 --restart。不加 --detach 时行为不变:前台运行,Ctrl-C 结束。
Dashboard 展示和编辑创作文件,不负责工作流编排或媒体生产。
项目级创作决定
制作形态、视觉方向、播放面和集长目标确实约束多个阶段时,展示选择及影响后由用户决定。 Look Development 是可选分支,不是进入图片提示词或分镜的固定门槛。
按问题只读取一份相关知识:
- 规则分级与 owner 路由:规则与路由索引
- 输出语言、稳定 ID、所有权与安全边界:契约与所有权
- 实拍、二维、三维、水墨、Q 版、国漫的形态差异:制作形态
- 需要比较代表帧时:Look Development
- 参考图能控制什么:参考角色
- 遮挡、延迟揭示和观众知情时机:观众揭示
- 母版、补拍和替代版的职责:补拍与替代
生产与交付边界
外部生产永远保留 preview -> explicit confirm -> run。归档只复制用户点名的当前文档和成品,排除
私有输入、凭据、绝对路径与隐藏运行状态;不为归档补造审批、哈希或第二套内容。
用户问“做完了怎么导出/交付给我”时,用 export 打包当前状态:
python3 {技能目录}/scripts/project_tool.py export <project> --out <项目外目录>
它把每集现有的五份创作文档和 剧集/<EP>/制作成果/ 复制到 --out,附 manifest.json 与
checksums.sha256,并排除 输入/、交付/ 和 .short-drama/。只要一部分时加
--episode EP001(可重复);只要文字时加 --no-media;覆盖旧目录加 --overwrite。
--out 必须在项目之外。
export 是当前状态快照,manifest 里 asserts_approval 恒为 false:它不声称任何审查或
创作者接受。需要带审批证据的正式交付包仍然只有 package/verify 那条路径。
安装维护
只有安装、升级或排障时运行 python3 scripts/selftest.py。
Signals
- GitHub stars
- 339
- Forks
- 56
- Last commit
- Sep 2026
ahel recommends instead
Advanced
- Catalog kind
- skill
- Gateway key
short-drama-zenstory-ai- Source
- github.com/zenstory-ai/oh-story-dsh