short-drama
Manages short drama or comic projects with organized files, dashboards, and creative decisions for writing and visual style.
Installation
Paste this into Claude Code, Cursor, or any agent that can run commands.
What this skill does
What it does:
- Starts new short drama or comic projects and continues existing ones
- Organizes work into five main documents: script, visual design, storyboard, image prompts, and video prompts
- Provides a local dashboard to track progress and see what comes next
- Helps decide on visual style and production choices
- Routes different tasks to the right specialists
When to use it:
- When you want to create or continue a short drama project
- When you need to check your progress or plan next steps
- When you want to work on visual style decisions
- When you need to open your project dashboard
- When you want to export production materials
- When your task involves multiple creative stages that need coordination
SKILL.mdShow the author's original SKILL.md (not in English)
---
name: short-drama
description: 基于文件系统初始化和继续短剧或漫剧项目,提供 creator-first 五文档路由、本地 Dashboard、制作形态与 Look Development 决策。用户提出“创建/继续短剧项目”“看进度/下一步”“做 Look Development”“打开 dashboard/短剧创作台”“导出制作资料”,或任务跨多个创作阶段时使用;明确的写作、资产、提示词、分镜、剪辑或审查请求由对应子 skill 直接处理。
license: MIT
---
# 短剧创作路由
本技能负责项目初始化、跨阶段路由、制作形态与 Dashboard。各阶段正文由对应技能完成。
## Quick Start
当前创作统一使用 [creator-first 工作流](references/creator-workflow.md):每集按需维护
`剧本.md`、`视觉设定.md`、`分镜.md`、`图片提示词.md`、`视频提示词.md`,不建立并行的结构化创作真相。
具体写法见 [五份创作文档](references/creator-documents.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` 运行跨文档检查,只核对已有文档;五份齐备后再运行完整检查。不为检查补造文件。
7. 视频提示词请求遇到「输入参考图:无」或仍带「待补参考图」时,先路由分镜 owner 检查项目已有图片并刷新绑定。有匹配图就同请求续跑;仍有必要图缺失、
创作者也没另作选择时,让分镜 owner 把缺的图写成 `PLAN-...` 挂图计划,照常产出视频提示词,不停下等图。
回报时附逐镜挂图清单,并说明另外两条路:把图放进项目绑成 `REF-...`(本套件投产只认这种,用本套件生产参考图
需要项目外的 adapter 与凭据),或者明确改走文生视频。创作者说过要先等图进项目时才列表停下。
不把“没有手工指定”当成明确选择文生视频。这一轮如果镜头还缺「视觉依据」,
同时按已成稿的冻结关键帧回填;两条依据描述同一格画面,不要只补一条。
8. 用户在会话里点名目标视频模型(“按 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": <每段动作秒数>}`,
两项都要给;台词是英文等以空格分词的语言时,语速写 `"spoken_words_per_second"`(每秒词数),
中英都有就两个语速都给;画面文字多、要按读字时间计时的项目,可再加 `"on_screen_text_characters_per_second"`。
`--field /format/episode_count`,`accepted_value` 写正整数。没有语速时写作阶段算不出秒数。
`status` 的 `profile_notes` 会列出各自有效、合在一起却做不到的设定,例如平均镜长低于目标模型原生最短时长,
或设了单集目标时长却没有语速;看到就交创作者决定,不要等到分镜才发现。创作者选择用多镜容器解决镜长冲突时,
在生产档案 `choices` 里加 `"multi_shot_containers": true`(同一条决策写入),这条提示随之消失。
项目定位与安全写入见 [运行预检](references/runtime-preflight.md)。用户明确要求 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`。
按问题只读取一份相关知识:
- 规则分级与 owner 路由:[规则与路由索引](references/knowhow-index.md)
- 输出语言、稳定 ID、所有权与安全边界:[契约与所有权](references/contract-and-ownership.md)
- 实拍、二维、三维、水墨、Q 版、国漫的形态差异:[制作形态](references/production-form-profiles.md)
- 需要比较代表帧时:[Look Development](references/look-development.md)
- 参考图能控制什么:[参考角色](references/reference-roles.md)
- 遮挡、延迟揭示和观众知情时机:[观众揭示](references/audience-reveal.md)
- 母版、补拍和替代版的职责:[补拍与替代](references/pickup-and-alternate.md)
## 生产与交付边界
外部生产永远保留 `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`。
Ships with 30 supporting files:
- agents/openai.yaml
- assets/creator-decision.example.jsonl
- assets/dashboard/app.js
- assets/dashboard/index.html
- assets/dashboard/styles.css
- assets/dashboard/tokens.css
- assets/production-observation.example.jsonl
- assets/project-template/short-drama.json
- assets/reference-observation.example.jsonl
- references/audience-reveal.md
- references/contract-and-ownership.md
- references/creator-documents.md
- references/creator-workflow.md
- references/form-cards/Q版表达.md
- references/form-cards/二维动态漫.md
- references/form-cards/国漫二次元.md
- references/form-cards/实拍.md
- references/form-cards/水墨笔触.md
- references/form-cards/风格化三维.md
- references/knowhow-index.md
- … and 10 more
Mirrored from the author's public source. Install counts from the open skills registry.