short-drama
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese短剧创作路由
Short-Drama Creation Router
本技能负责项目初始化、跨阶段路由、制作形态与 Dashboard。各阶段正文由对应 owner 完成。
This skill handles project initialization, cross-stage routing, production form, and the Dashboard. The content for each stage is completed by the corresponding owner.
Quick Start
Quick Start
所有项目统一使用 creator-first 工作流:每集按需维护
、、、、,不建立并行的结构化创作真相。
具体写法见 五份创作文档。
剧本.md视觉设定.md分镜.md图片提示词.md视频提示词.mdAll projects uniformly use the creator-first workflow: each episode maintains as needed , , , , , and does not establish parallel structured creative truths.
For specific writing conventions, see Five Creation Documents.
剧本.md视觉设定.md分镜.md图片提示词.md视频提示词.md路由
Routing
| 用户要做什么 | owner / 行为 |
|---|---|
| 开发点子、系列承诺、改编和分集地图 | |
| 已有多集完整剧本/散稿识别分集 | |
| 分析长篇原著 | |
| 写或改单集剧本 | |
| 拆人物、造型、地点、道具 | |
| 写资产图片提示词 | |
| 做镜头和冻结关键帧 | |
| 写视频/时间线音乐提示词 | |
| 实际生成媒体 | |
| 把已生产的素材剪成成片 | |
| 审稿或校验 | |
| 初始化、Dashboard、归档点名文档 | 本技能 |
项目开发/现成剧本可直接拆资产;已有视觉事实可直接写图片提示词或分镜;已有分镜可直接写视频提示词。
不要为补齐名义流水线伪造上游。
五份创作文档记录剧本、视觉与提示词;剪辑单在素材生产后记录取舍和后期处理。
修改故事、镜头职责或上游时长声明时,回到负责该内容的文档。
| What the user wants to do | owner / action |
|---|---|
| Develop ideas, series commitments, adaptations, and episode maps | |
| Identify episodes from existing full scripts/drafts | |
| Analyze long-form source material | |
| Write or revise a single episode script | |
| Break down characters, models, locations, props | |
| Write asset image prompts | |
| Create shots and frozen keyframes | |
| Write video/timeline music prompts | |
| Actually generate media | |
| Cut produced material into a finished film | |
| Review or validate | |
| Initialize, Dashboard, archive named documents | This skill |
Long-form material analysis and episode indexing in are an optional analysis workspace and do not participate in single-episode layout determination; writing any episode still maintains only the five creator-first Markdown files for that episode.
项目开发/An existing script can be directly broken down into assets; existing visual facts can be directly written into image prompts or storyboards; existing storyboards can be directly written into video prompts.
Do not fabricate upstream steps to complete a nominal pipeline.
The five creation documents record script, visuals, and prompts; the editing list records choices and post-processing after material production.
When modifying story, shot responsibilities, or upstream duration declarations, return to the document responsible for that content.
执行请求
Executing Requests
- 找到用户给出的项目或资料,只读当前任务的直接输入。
- 把用户点名的完整范围交给相应 owner;批次只控制上下文,自动续跑。
- 只有真实创作分叉才询问;不要拿 schema、目录、事务或检查器询问创作者。
- 范围完成后一次回报完成内容、关键决定、真实未决项和可选下一步。
- 不自动开始用户没点名的审查、归档或生产。
- 请求横跨视觉设定、图片提示词、分镜或视频提示词时,结束前按当前五文档做一次视觉依赖对账; 不因图片提示词和分镜可并行,就把后完成的一支留在另一支的旧引用之外。
- 视频提示词请求遇到「输入参考图:无」或仍带「待补参考图」时,先路由分镜 owner 检查项目已有图片并刷新绑定。有匹配图就同请求续跑;有必要图缺失就列表停下。
停下时把三条路一起给出:把已有图片放进项目绑成 ;由创作者在自己的工具里出图、本轮先用
REF-...写出逐镜挂图计划并照常产出视频提示词;或者明确改走文生视频。用本套件生产参考图需要项目外的 adapter 与凭据,只是第一条路的一种做法,不要把它说成唯一入口,也不要只给「生成参考图 / 文生视频」两个选项。 不把“没有手工指定”当成明确选择文生视频。这一轮如果镜头还缺「视觉依据」, 同时按已成稿的冻结关键帧回填;两条依据描述同一格画面,不要只补一条。PLAN-... - 用户在会话里点名目标视频模型(“按 MiniMax H3 写”“用 Seedance 2.5”)而 的
short-drama.json还是production_profile时,先把这个选择连同它带来的原生时长、参考方式和正文语言写进档案, 再继续下游阶段。会话里的一句点名不落到档案上,下一轮就会退回通用路径,方言和时长要重猜。unset
- Locate the project or materials given by the user; only read the direct input for the current task.
- Hand the full scope named by the user to the corresponding owner; batches only control context and automatically continue.
- Ask only when there is a real creative fork; do not ask creators about schema, directories, transactions, or checkers.
- When the scope is complete, report in one go the completed content, key decisions, real pending items, and optional next steps.
- Do not automatically start review, archive, or production that the user did not name.
- When a request spans visual design, image prompts, storyboard, or video prompts, perform a visual dependency reconciliation based on the current five documents before ending; do not leave the later-completed branch outside the old references of the other just because image prompts and storyboard can run in parallel.
- When a video prompt request encounters "input reference image: none" or still carries "reference image pending", first route the storyboard owner to check existing images in the project and refresh the binding. If there is a matching image, continue with the same request; if a necessary image is missing, stop and list it. When stopping, present all three paths together: put existing images into the project bound as ; have the creator generate images in their own tool and this round first write a per-shot image attachment plan using
REF-..., then produce video prompts as usual; or explicitly switch to text-to-video. Producing reference images with this kit requires adapters and credentials outside the project, and is only one implementation of the first path—do not present it as the only entry point, and do not give only the two options "generate reference image / text-to-video". Do not treat "no manual specification" as an explicit choice of text-to-video. If shots still lack "visual basis" this round, also backfill from the frozen keyframes that have been written; the two bases describe the same frame, so don't fill in only one.PLAN-... - When the user names a target video model in the session ("write according to MiniMax H3", "use Seedance 2.5") and 's
short-drama.jsonis stillproduction_profile, first write this choice along with its native duration, reference method, and content language into the archive, then continue with downstream stages. A one-line mention in the session that is not recorded in the archive will fall back to the generic path next round, and the dialect and duration will need to be re-guessed.unset
初始化与 Dashboard
Initialization and Dashboard
需要项目配置时运行:
bash
python3 {技能目录}/scripts/project_tool.py init ./my-drama --title "示例短剧"直接输入已经确认创作者说明语言、提示词语言、画幅、集数或单集目标时长时,首次 就带上对应的
、、、、;只省略
未确认项,不让 Brief 中的确定事实留成配置里的 。写入已确认的生产档案时,状态统一为
; 只表示尚未决定,不另造中间状态。
只建立配置和空目录;第一次创作时再把文档写入 ,不预建空文件。
项目已经建好、用户之后才定下目标视频模型时,把选择写进档案,并同时展示它对时长区间、参考方式和
正文语言的影响。档案只接受已发布并已接受的创作者决策,所以是三步,不是一步。先写一行决策记录
( 就是要落进 的对象本身,不要再包一层 ):
init--language--prompt-language--aspect-ratio--episode-count--target-secondsnullacceptedunsetinit剧集/<EP>/accepted_valuechoiceschoicesjsonl
{"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"各字段取值由命中的模型方言给出: 的 MiniMax H3 / Seedance 方言文件都写了
推荐档案。写完用 复核 是否已经出现。
$short-drama-video-promptsstatusvideo_model_profile项目定位与安全写入见 运行预检。用户明确要求 Dashboard 时运行:
bash
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --port 0 --detach --open--detach<workspace>/.short-drama/dashboard.jsondashboard.logbash
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --status # 打印当前链接
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --stop # 停止同一 workspace 已有在跑的 Dashboard 时,再次启动只会打印同一个链接,不再开第二个端口;确实要换
端口或换令牌时加 。不加 时行为不变:前台运行,Ctrl-C 结束。
--restart--detachDashboard 展示和编辑创作文件,不负责工作流编排或媒体生产。
Run when project configuration is needed:
bash
python3 {skill-directory}/scripts/project_tool.py init ./my-drama --title "示例短剧"When the direct input has confirmed the creator's description language, prompt language, aspect ratio, episode count, or single-episode target duration, pass the corresponding , , , , on the first ; omit only unconfirmed items, and do not leave confirmed facts in the Brief as in the configuration. When writing an accepted production profile, the status is always ; only means not yet decided, without creating an intermediate state.
only creates configuration and empty directories; documents are written into at the first creation, without pre-creating empty files.
--language--prompt-language--aspect-ratio--episode-count--target-secondsinitnullacceptedunsetinit剧集/<EP>/When the project has already been created and the user later decides on a target video model, write the choice into the archive and simultaneously show its impact on duration range, reference method, and content language. The archive only accepts published and accepted creator decisions, so it is three steps, not one. First write a decision record line ( is the object itself that will land into , do not wrap it in another ):
accepted_valuechoiceschoicesjsonl
{"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"}}Then publish, accept, and write:
bash
python3 {skill-directory}/scripts/project_tool.py publish <project> --owner short-drama \
--artifact-id AR-PROFILE --output "创作者决策/production-profile.jsonl=输入/profile.jsonl"
python3 {skill-directory}/scripts/project_tool.py accept <project> --artifact-id AR-PROFILE --decision accepted
python3 {skill-directory}/scripts/project_tool.py set-authority <project> \
--field /creator_authority/production_profile/choices \
--decision-ref "创作者决策/production-profile.jsonl#CD-H3"The values for each field are given by the matched model dialect: the MiniMax H3 / Seedance dialect files of both write recommended profiles. After writing, use to verify that has appeared.
$short-drama-video-promptsstatusvideo_model_profileFor project location and safe writes, see Runtime Preflight. When the user explicitly requests Dashboard, run:
bash
python3 {skill-directory}/scripts/dashboard_server.py --workspace <workspace> --port 0 --detach --open--detach<workspace>/.short-drama/dashboard.jsondashboard.logbash
python3 {skill-directory}/scripts/dashboard_server.py --workspace <workspace> --status # print the current link
python3 {skill-directory}/scripts/dashboard_server.py --workspace <workspace> --stop # stopWhen the same workspace already has a running Dashboard, starting again will only print the same link and will not open a second port; add if you really need to change the port or token. Without , behavior is unchanged: it runs in the foreground and Ctrl-C ends it.
--restart--detachDashboard displays and edits creation files; it is not responsible for workflow orchestration or media production.
项目级创作决定
Project-Level Creative Decisions
制作形态、视觉方向、播放面和集长目标确实约束多个阶段时,展示选择及影响后由用户决定。
Look Development 是可选分支,不是进入图片提示词或分镜的固定门槛。
按问题只读取一份相关知识:
- 规则分级与 owner 路由:规则与路由索引
- 输出语言、稳定 ID、所有权与安全边界:契约与所有权
- 实拍、二维、三维、水墨、Q 版、国漫的形态差异:制作形态
- 需要比较代表帧时:Look Development
- 参考图能控制什么:参考角色
- 遮挡、延迟揭示和观众知情时机:观众揭示
- 母版、补拍和替代版的职责:补拍与替代
When production form, visual direction, playback surface, and episode-length goals genuinely constrain multiple stages, show the choices and impacts, then let the user decide.
Look Development is an optional branch, not a fixed threshold for entering image prompts or storyboards.
Read only one piece of relevant knowledge per question:
- Rule hierarchy and owner routing: Rules & Routing Index
- Output language, stable IDs, ownership, and security boundaries: Contract & Ownership
- Form differences of live-action, 2D, 3D, ink-wash, Q-version, and Chinese animation: Production Form Profiles
- When representative frames need comparison: Look Development
- What reference images can control: Reference Roles
- Occlusion, delayed reveal, and audience-knowledge timing: Audience Reveal
- Responsibilities of master, pickup, and alternate versions: Pickup & Alternate
生产与交付边界
Production and Delivery Boundaries
外部生产永远保留 。归档只复制用户点名的当前文档和成品,排除
私有输入、凭据、绝对路径与隐藏运行状态;不为归档补造审批、哈希或第二套内容。
preview -> explicit confirm -> run用户问“做完了怎么导出/交付给我”时,用 打包当前状态:
exportbash
python3 {技能目录}/scripts/project_tool.py export <project> --out <项目外目录>它把每集现有的五份创作文档和 复制到 ,附 与
,并排除 、 和 。只要一部分时加
(可重复);只要文字时加 ;覆盖旧目录加 。
必须在项目之外。
剧集/<EP>/制作成果/--outmanifest.jsonchecksums.sha256输入/交付/.short-drama/--episode EP001--no-media--overwrite--outexportasserts_approvalfalsepackageverifyExternal production always keeps . Archiving only copies the current documents and finished products named by the user, excluding private inputs, credentials, absolute paths, and hidden runtime state; it does not fabricate approvals, hashes, or a second set of content for the archive.
preview -> explicit confirm -> runWhen the user asks "how do I export/deliver after it's done", use to package the current state:
exportbash
python3 {skill-directory}/scripts/project_tool.py export <project> --out <outside-project-directory>It copies the existing five creation documents for each episode and to , with and , and excludes , , and . To include only part, add (repeatable); to include only text, add ; to overwrite an existing directory, add . must be outside the project.
剧集/<EP>/制作成果/--outmanifest.jsonchecksums.sha256输入/交付/.short-drama/--episode EP001--no-media--overwrite--outexportasserts_approvalfalsepackageverify安装维护
Installation and Maintenance
只有安装、升级或排障时运行 。
python3 scripts/selftest.pyRun only during installation, upgrade, or troubleshooting.
python3 scripts/selftest.py