zenstory-ai/drama-skills

short-drama

基于文件系统初始化和继续短剧或漫剧项目,提供 creator-first 五文档路由、本地 Dashboard、制作形态与 Look Development 决策。用户提出“创建/继续短剧项目”“看进度/下一步”“做 Look Development”“打开 dashboard/短剧创作台”“导出制作资料”,或任务跨多个创作阶段时使用;明确的写作、资产、提示词、分镜、剪辑或审查请求由对应子 skill 直接处理。

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/zenstory-ai/drama-skills --skill short-drama

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

短剧创作路由

本技能负责项目初始化、跨阶段路由、制作形态与 Dashboard。各阶段正文由对应技能完成。

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。

现成剧本可直接拆资产;已有视觉事实可直接写图片提示词或分镜;已有分镜可直接写视频提示词。 不要为补齐名义流水线伪造上游。

五份创作文档记录剧本、视觉与提示词;剪辑单在素材生产后记录取舍和后期处理。 修改故事、镜头职责或上游时长声明时,回到负责该内容的文档。

执行请求

  1. 定位用户给出的项目或资料,只读当前任务的直接输入。
  2. 把用户点名的完整范围交给相应技能;批次只控制上下文,自动续跑。
  3. 只有真实创作分叉才询问;不要拿 schema、目录、事务或检查器询问创作者。
  4. 范围完成后一次回报完成内容、关键决定、真实未决项和可选下一步。
  5. 不自动开始用户没点名的审查、归档或生产。
  6. 请求横跨视觉设定、图片提示词、分镜或视频提示词时,结束前核对当前已有文档的视觉依赖;

图片提示词和分镜并行完成时,也要同步两支的引用。每写完一份文档就带 --partial 运行跨文档检查,只核对已有文档;五份齐备后再运行完整检查。不为检查补造文件。

  1. 视频提示词请求遇到「输入参考图:无」或仍带「待补参考图」时,先路由分镜 owner 检查项目已有图片并刷新绑定。有匹配图就同请求续跑;仍有必要图缺失、

创作者也没另作选择时,让分镜 owner 把缺的图写成 PLAN-... 挂图计划,照常产出视频提示词,不停下等图。 回报时附逐镜挂图清单,并说明另外两条路:把图放进项目绑成 REF-...(本套件投产只认这种,用本套件生产参考图 需要项目外的 adapter 与凭据),或者明确改走文生视频。创作者说过要先等图进项目时才列表停下。 不把“没有手工指定”当成明确选择文生视频。这一轮如果镜头还缺「视觉依据」, 同时按已成稿的冻结关键帧回填;两条依据描述同一格画面,不要只补一条。

  1. 用户在会话里点名目标视频模型(“按 MiniMax H3 写”“用 Seedance 2.5”)而 short-drama.json 的

production_profile 还是 unset 时,先把这个选择连同它带来的原生时长、参考方式和正文语言写进档案, 再继续下游阶段。把已确认选择写入档案,后续请求才能沿用同一方言、语言和时长边界。

初始化与 Dashboard

需要项目配置时运行:

bash
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>/,不预建空文件。 项目已经建好、用户之后才定下目标视频模型时,把选择写进档案,并同时展示它对时长区间、参考方式和 正文语言的影响。档案只能从已发布、已接受的创作者决策写入。先在 输入/profile.jsonl 写一行决策记录 (accepted_value 就是要落进 choices 的对象本身,不要再包一层 choices):

jsonl
{"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"}}

再发布、接受、写入:

bash
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 / Wan 3.0 方言文件都写了 推荐档案。写完用 status 复核 video_model_profile 是否已经出现。

语速 format.pacing 和集数 format.episode_count 走同样的决策写入:--field /format/pacing, accepted_value 写 {"spoken_characters_per_second": <每秒可发声字数>, "seconds_per_action_paragraph": <每段动作秒数>}, 两项都要给;画面文字多、要按读字时间计时的项目,可再加 "on_screen_text_characters_per_second"。 --field /format/episode_count,accepted_value 写正整数。没有语速时写作阶段算不出秒数。 status 的 profile_notes 会列出各自有效、合在一起却做不到的设定,例如平均镜长低于目标模型原生最短时长, 或设了单集目标时长却没有语速;看到就交创作者决定,不要等到分镜才发现。创作者选择用多镜容器解决镜长冲突时, 在生产档案 choices 里加 "multi_shot_containers": true(同一条决策写入),这条提示随之消失。

项目定位与安全写入见 运行预检。用户明确要求 Dashboard 时运行:

bash
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --port 0 --detach --open

--detach 让服务进程脱离当前 shell 独立运行,无需保持当前会话或终端开启。运行中的地址、端口和 pid 记录在 <workspace>/.short-drama/dashboard.json(仅本人可读),日志在同目录 dashboard.log:

bash
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --status   # 打印当前链接
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --stop     # 停止

同一 workspace 已有在跑的 Dashboard 时,再次启动只会打印同一个链接,不再开第二个端口;确实要换 端口或换令牌时加 --restart。不加 --detach 时行为不变:前台运行,Ctrl-C 结束。

Dashboard 按阶段展示项目:全剧页给出下一步和分集进度,每集分剧本、设定、分镜、提示词、成片、审查 六个视图,⌘K 搜索全剧。结构视图只读,改动在「编辑原文」里保存 Markdown。画面只认文档里的绑定: 缩略图是分镜里 用途:起始帧 的 REF-...,每镜素材是剪辑单的「来源」,成片是剪辑输出;没有绑定 就显示空位,不按文件名配图。它不负责工作流编排或媒体生产,需要写作或生成的地方只复制一句请求交回对话。 每集目标时长取自 status 的 format,节奏对照只用已接受的 rhythm_profile。

项目级创作决定

制作形态、视觉方向、播放面和集长目标确实约束多个阶段时,展示选择及影响后由用户决定。 Look Development 是可选分支,不是进入图片提示词或分镜的固定门槛。

节奏数值(首钩秒数、情绪触点间隔、反转次数、VO 占比、平均镜长等)记录在 creator_authority.rhythm_profile。字段与默认值由 $short-drama-develop 按制作形态提出, 创作者接受或改写后,按上文三步写入:决策的 accepted_value 是不含 status 的完整档案值,--field 写 /creator_authority/rhythm_profile;档案已接受后,单改一个值时 --field 指向该字段。 set-authority 对节奏档案校验字段、类型与范围,缺字段、越界或多出未知字段都拒绝写入。下游只按 status 为 accepted 的档案做算术核对,缺失、unset 或 proposed 都表示「未声明,不核对」。写完用 status 复核 rhythm_profile;手改后档案不合法时 它返回空档案,问题列在 rhythm_profile_problems。

按问题只读取一份相关知识:

生产与交付边界

外部生产永远保留 preview -> explicit confirm -> run。归档只复制用户点名的当前文档和成品,排除 私有输入、凭据、绝对路径与隐藏运行状态;不为归档补造审批、哈希或第二套内容。

用户问“做完了怎么导出/交付给我”时,用 export 打包当前状态:

bash
python3 {技能目录}/scripts/project_tool.py export <project> --out <项目外目录>

它把每集现有的五份创作文档、剪辑单.md 和 剧集/<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。

来自同一仓库

更多 Skills

全部 Skills
zenstory-ai
社区

short-drama-assets

从短剧剧本拆出人物/造型、地点/视图、道具/状态和跨场连续性,写成创作者可读的视觉设定。用户说“拆角色/场景/道具”“做资产设定”“判断复用还是新变体”“更新造型/道具状态”,或拿现成剧本直接做视觉资产准备时使用;不写图片提示词,不生成媒体。

1小时安装量
5
GitHub Stars
3522
最近更新
10月29日
zenstory-ai
社区

short-drama-develop

将中文小说、短剧或漫剧想法、梗概、改编材料、已有系列笔记或多集完整剧本发展成可追溯的改编方案、戏剧方向、创作简报、导演阐述、故事引擎与分集地图,并按题材与制作形态(画风)选择写法。用户提出“导入小说做短剧”“从多集整稿生成/补分集地图”“开发短剧/漫剧”“做故事设定/系列大纲/分集规划”“写导演阐述”“这个题材怎么写”“定画风/制作形态”“把这个点子变成短剧”或需要梳理人物冲突与集间交接时使用;已有单集剧本可直接进入写作、资产或审查流程,不强制补开发文件。

1小时安装量
5
GitHub Stars
3522
最近更新
10月29日
zenstory-ai
社区

short-drama-edit

将已生成的短剧镜头剪成成片,记录入出点、镜序、声音、字幕与交付规格。用于套剪、加字幕、统一响度、调整节奏或导出精修素材;需要补素材或修改故事时转回对应创作阶段。

1小时安装量
5
GitHub Stars
3522
最近更新
10月29日
zenstory-ai
社区

short-drama-image-prompts

为短剧人物、造型、地点、道具和状态编写或修改可直接复制的图片提示词 Markdown。用户提到角色设定图、三视图、参考图、场景板、道具图、风格帧、Look Development、状态变体或局部编辑提示词时使用;不生成图片,也不调用供应商。

1小时安装量
5
GitHub Stars
3522
最近更新
10月29日