复制安装命令
用 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
description: 基于文件系统初始化和继续短剧或漫剧项目,提供 creator-first 五文档路由、本地 Dashboard、制作形态与 Look Development 决策。用户提出“创建/继续短剧项目”“看进度/下一步”“做 Look Development”“打开 dashboard/短剧创作台”“导出制作资料”,或任务跨多个创作阶段时使用;明确的写作、资产、提示词、分镜、剪辑或审查请求由对应子 skill 直接处理。
license: MIT本技能负责项目初始化、跨阶段路由、制作形态与 Dashboard。各阶段正文由对应 owner 完成。
所有项目统一使用 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。
现成剧本可直接拆资产;已有视觉事实可直接写图片提示词或分镜;已有分镜可直接写视频提示词。 不要为补齐名义流水线伪造上游。
五份创作文档记录剧本、视觉与提示词;剪辑单在素材生产后记录取舍和后期处理。 修改故事、镜头职责或上游时长声明时,回到负责该内容的文档。
REF-...;由创作者在自己的工具里出图、本轮先用
PLAN-... 写出逐镜挂图计划并照常产出视频提示词;或者明确改走文生视频。用本套件生产参考图需要项目外的
adapter 与凭据,只是第一条路的一种做法,不要把它说成唯一入口,也不要只给「生成参考图 / 文生视频」两个选项。
不把“没有手工指定”当成明确选择文生视频。这一轮如果镜头还缺「视觉依据」,
同时按已成稿的冻结关键帧回填;两条依据描述同一格画面,不要只补一条。short-drama.json 的
production_profile 还是 unset 时,先把这个选择连同它带来的原生时长、参考方式和正文语言写进档案,
再继续下游阶段。会话里的一句点名不落到档案上,下一轮就会退回通用路径,方言和时长要重猜。需要项目配置时运行:
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 是可选分支,不是进入图片提示词或分镜的固定门槛。
按问题只读取一份相关知识:
外部生产永远保留 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。
评论 (0)
暂无评论,成为第一个评论者吧!