#324 by GitHub stars
zenstory-ai/drama-skills
AI 短剧与漫剧制作 skill 合集:小说改剧本、角色设定三视图、分镜脚本、生图/生视频提示词与成片审片,适配 Claude Code / Codex 等 | Open-source agent skills for AI short dramas & motion comics
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
maintainers/skills/short-drama-knowhow/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
33eb7fece523 → 862ae46f3651
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama/SKILL.md
Week of Nov 2, 2026 · +14 / −0 lines
Before Network or broad shell → After Network or broad shell
33eb7fece523 → 862ae46f3651
+ 24 | 拆解对标剧、和标杆比差距、用自家成片对照 | `$short-drama-breakdown` → `项目开发/对标拆解.md` |
+ 103 创作者没有实测值时,动作段可以从 2.5 秒起提(大约一个镜头),第一集分镜写完后用分镜总长回校。
+ 107
+ 108 续接段怎么执行也记在生产档案 `choices` 里。内置生产路径绑定不了上一段的实际视频,本集有续接链时,
+ 109 `$short-drama-video-prompts` 或 `$short-drama-produce` 会问创作者一次;创作者回答后,用同一条决策写入记下
+ 110 `"continuation_route": "independent_starts"`(每段从自己的已接受起始帧独立生成,可以走内置路径)或
+ 111 `"continuation_route": "relay_external"`(保留续接,后续段由创作者在自己的工具里提交)。写入后
+ 112 `status` 的 `video_model_profile` 会显示这项选择,后续阶段读到就不再问。
+ 140 画幅跟着播放面定,不因为做的是短剧就默认竖屏:2026-11 拆解的 9 部 App 连播三维漫剧全是横屏 16:9,
+ 141 别的播放面要另拆同类对标再定。创作者没说画幅时,把播放面和画幅当作一个项目级决定问一次;`init` 的
+ 142 默认值只是占位,不能当成创作者已经选过。项目已经建好再定的画幅,按上文的决策写入落进
+ 143 `--field /format/aspect_ratio`,`accepted_value` 写 `"16:9"` 这样的宽:高。
+ 144 提出制作形态候选时同理:做过对标拆解的,把同一播放面对标里最常见的形态列为候选之一(那 9 部都是三维国漫风),
+ 145 不只在二维画风之间挑。
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama-assets/SKILL.md
Week of Nov 2, 2026 · +1 / −1 lines
Before Instructions only → After Instructions only
33eb7fece523 → 862ae46f3651
- 46 - 已确认且持续限制动作空间的关系(身体依托、固定、负重、占位或与功能物件的接触)不是普通镜头姿势:可独立识别的物件仍建资产,关系写进状态并交给分镜逐镜投影;只有剧本明确改变时才结束。
+ 46 - 已确认且持续限制动作空间的关系(身体依托、固定、负重、占位或与功能物件的接触)不是普通镜头姿势:可独立识别的物件仍建资产,关系写进状态并交给分镜逐镜落实;只有剧本明确改变时才结束。
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama-breakdown/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 862ae46f3651
No earlier version was observed for comparison.
skills/short-drama-develop/SKILL.md
Week of Nov 2, 2026 · +7 / −7 lines
Before Local scripts → After Network or broad shell
33eb7fece523 → 862ae46f3651
- 13 离线验证多集整稿的精确索引、切片和源文件变更检测:
+ 13 离线验证多集整稿的精确索引、按集切分和源文件变更检测:
- 37 边界与本轮批次;工具只做精确索引、单集切片、校验和续跑,不代写创作判断。
+ 37 边界与本轮批次;工具只做精确索引、单集切分、校验和续跑,不代写创作判断。
- 62 压力来源、场面颗粒与制作负担;它是可被创作者一句话覆盖的参考,不替代方向选择,也不进入交付物。
+ 62 压力来源、具体场面细节与制作负担;它是可被创作者一句话覆盖的参考,不替代方向选择,也不进入交付物。
- 81 作者决策的前史储备,选择旧策略开始付出代价的叙事切入窗口,再记录人物被捍卫的
+ 81 作者决策的前史储备,选择旧策略开始付出代价的叙事切入窗口,再记录人物死守的
- 86 读取 [episode-design.md](references/episode-design.md),再复制 [episode-map.jsonl](assets/episode-map.jsonl)。每一集记录进入状态、开场、当集追求、阻力、方向性转折、当集结果、信息释放、出去的压力以及下一集必须继承的事实。
+ 86 读取 [episode-design.md](references/episode-design.md),再复制 [episode-map.jsonl](assets/episode-map.jsonl)。每一集记录进入状态、开场、当集追求、阻力、局势转折、当集结果、信息释放、出去的压力以及下一集必须继承的事实。
- 88 先保证每集产生局部戏剧结果、相邻集能精确交接,再讨论外部压力/情感负荷的双轨
+ 88 先保证每集落地一个当集戏剧结果、相邻集能精确交接,再讨论外部压力/情感负荷的双轨
- 157 - **已确定题材,需要该题材更常用的压力、场面颗粒、钩子取向与制作难点**:
+ 157 - **已确定题材,需要该题材更常用的压力、具体场面细节、钩子取向与制作难点**:
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama-edit/SKILL.md
Week of Nov 2, 2026 · +6 / −4 lines
Before Local scripts → After Local scripts
33eb7fece523 → 862ae46f3651
- 144 不静默跳过。
+ 144 不暗中跳过。
- 147 `verify` 只测量已经渲染出来的成片并回报数字,另列出画面文字、音效与配音在成片里的起止秒、切点亮度变化和疑似坏帧,
+ 147 `verify` 只测量已经渲染出来的成片并回报数字,另列出画面文字、音效与配音在成片里的起止秒、切点亮度变化、切点音量变化和疑似坏帧,
- 181 剪辑点没有可听的音床硬切,成片响度落在交付目标上,未采用镜头都写明理由并区分了缺文件与缺质量,
- 182 即完成。目标时长与实际时长的差、以及仍然值得再剪一版的地方,写在末尾报告里交给创作者判断。
+ 181 剪辑点没有可听的音床硬切,成片的实测响度与真峰写进末尾报告,且落在交付容差内,或超出容差的结果已报给
+ 182 创作者且获接受,未采用镜头都写明理由并区分了缺文件与缺质量,即完成。默认容差和创作者接受后的写法见
+ 183 [声音、字幕与音乐](references/sound-and-subtitles.md)的「响度」。目标时长与实际时长的差、以及仍然值得
+ 184 再剪一版的地方,写在末尾报告里交给创作者判断。
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama-image-prompts/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
33eb7fece523 → 862ae46f3651
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama-novel-analyze/SKILL.md
Week of Nov 2, 2026 · +12 / −8 lines
Before Local scripts → After Network or broad shell
33eb7fece523 → 862ae46f3651
- 67 各阶段共用 [章节索引脚本](scripts/novel_index.py) 建立的章节边界,不各自重新切片。
+ 67 各阶段共用 [章节索引脚本](scripts/novel_index.py) 建立的章节边界,不各自重新切分。
- 84 (章/回/节里出现最多的那个,其余记进 `ignored_heading_units`),只把**短的独立行**当标题
+ 84 (按 章、回、节 由粗到细,取最粗且至少出现两次的那个,其余记进 `ignored_heading_units`),只把**短的独立行**当标题
- 89 `problems` 非空就停下报告,不要带着错表进 S1。常见四种:章号跳号(缺章或抓错标题)、
- 90 同卷内重号、正文极少的章(多半抓到了目录残留或卷首页)、无法解析的章号。
+ 89 `problems` 非空就停下报告,不要带着错表进 S1。常见五种:章号跳号(缺章或抓错标题)、
+ 90 同卷内重号、正文极少的章(多半抓到了目录残留或卷首页)、无法解析的章号、第一章之前有
+ 91 大段不属于任何章的文字(多半是楔子或序章)。最后一种的字数记在 `text_before_first_chapter`
+ 92 (不含目录行),书名、作者、简介这类短内容不会触发;确认是楔子后,在 `_work/_index.next.json`
+ 93 开头手写一行从第 1 行起覆盖它(`source_number` 留 `null`),其余各行 `sequence` 依次加一,
+ 94 再跑 `verify`。
- 100 改了原文必须重建索引,不能沿用旧 span。`verify` 核对编号、顺序与行号覆盖,所以插行删行会被报出来;
+ 104 改了原文必须重建索引,不能沿用旧 span。`verify` 核对章号重复、顺序与行号覆盖(含第一章之前未覆盖的文字),所以插行删行会被报出来;
- 144 (每批 5–8 章,等一批落盘再发下一批),不支持就串行——两条路径的写法要求和自检是同一份,
+ 148 (每批 5–8 章,等一批写完再发下一批),不支持就串行——两条路径的写法要求和自检是同一份,
- 148 (多卷书的原文章号会重复,sequence 不会)。全部落盘后跑覆盖率:
+ 152 (多卷书的原文章号会重复,sequence 不会)。全部写入磁盘后跑覆盖率:
- 189 - `episode-candidates.jsonl`:按**爽点分布、局部戏剧结果与精确交接**切出的候选集,不按章号
+ 193 - `episode-candidates.jsonl`:按**爽点分布、当集戏剧结果与精确交接**切出的候选集,不按章号
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama-produce/SKILL.md
Week of Nov 2, 2026 · +23 / −6 lines
Before Network or broad shell → After Network or broad shell
33eb7fece523 → 862ae46f3651
- 3 description: 在创作者明确确认后,执行短剧项目的图片、视频、TTS/配音或时间线音乐生产任务,并把结果与精简运行记录落回项目。用户说“生成这张图/这段视频/这句配音/这段配乐”“开始跑图/跑视频/合成语音/生成音乐”“把已确认提示词送去生产”,或要求批量执行已确认媒体任务时使用;不负责创作提示词、镜头、台词、歌词或声音身份,也绝不把预览、继续、预算说明或既有接受状态当作本次付费生产确认。
+ 3 description: 在创作者明确确认后,执行短剧项目的图片、视频、TTS/配音或时间线音乐生产任务,并把结果与精简运行记录存回项目。用户说“生成这张图/这段视频/这句配音/这段配乐”“开始跑图/跑视频/合成语音/生成音乐”“把已确认提示词送去生产”,或要求批量执行已确认媒体任务时使用;不负责创作提示词、镜头、台词、歌词或声音身份,也绝不把预览、继续、预算说明或既有接受状态当作本次付费生产确认。
- 36 不能只在 job 中重编号。生产接口还要求参考路径唯一:创作上同一图片可有两个用途槽位,但同路径
- 37 双槽目前不能提交。由负责技能与创作者决定修订参考职责或等待接口支持,不在 job 中擅自合并或漏槽。
+ 36 不能只在 job 中重编号。生产接口还要求参考路径唯一,所以一张图承担两件事时在创作文档里只占一个槽位:
+ 37 `用途` 写主要的那件,另一件写进「控制」。旧文档里同一路径写了两个槽位时,交负责该文档的技能合并成
+ 38 一个槽位后再建 job,不在 job 中擅自合并或漏槽。
- 103 尚不能声明续接视频,因此这条内置生产路径不能提交续接段。报告接口缺口并保留已选路线,
- 104 不省略来源选择器、不拿计划尾帧冒充真实输入,也不擅自改为独立文生视频。
+ 104 尚不能声明续接视频,因此这条内置生产路径不能提交续接段。点名的 `MOTION-*` 标着“待续接、
+ 105 不可提交”时,先看生产档案(`short-drama.json` 的 `creator_authority.production_profile`)
+ 106 `choices` 里有没有 `continuation_route`:
+ 107 - 还没有:问创作者一次,二选一。一是**独立起点**:每段从自己的已接受起始帧生成,后一段不再继承
+ 108 上一段实际生成的动作、节奏和声音,切点处可能跳一下;切点两边构图相同时,让前一段的结束帧和后一段的
+ 109 起始帧用同一张已接受的图,可以减轻跳动。二是**外部提交**:保留续接,后续段由创作者在能绑定上一段
+ 110 实际视频和实际尾帧的工具里提交,本技能只生成每条链的第一段。创作者选定后由 `$short-drama` 写进档案。
+ 111 - `independent_starts`:每段要有已接受的起始帧才能建 job,续接链的后续段通常没有,按顺序补齐:
+ 112 1. 交 `$short-drama-storyboard` 补前后两段共用的切点图,或补这一段的起始帧槽位;
+ 113 2. 本技能生成这张图,预览并确认,再由创作者接受。上一段已经生成时,也可以从它的实际视频取尾帧,
+ 114 经创作者接受后同样交分镜写进下一段的起始帧槽位;
+ 115 3. 交 `$short-drama-video-prompts` 把这些段改写成从已接受起点出发的可提交正文;
+ 116 4. 从更新后的文档建 job,预览并确认。
+ 117 - `relay_external`:不为这些段建 job。向创作者报告这些段要在外部工具提交,并列出每段需要的上一段
+ 118 实际视频和实际尾帧路径。
+ 119
+ 120 任何情况下都不省略来源选择器,不拿计划尾帧冒充真实输入;创作者选择前,也不擅自把续接段改成独立生成
+ 121 或文生视频。
- 130 外部 adapter 也必须保留这组语义或明确拒绝,不能只上传文件而静默丢失控制边界。
+ 147 外部 adapter 也必须保留这组语义或明确拒绝,不能只上传文件而暗中丢失控制边界。
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama-review/SKILL.md
Week of Nov 2, 2026 · +2 / −1 lines
Before Instructions only → After Instructions only
33eb7fece523 → 862ae46f3651
- 14 直接读取用户点名的当前文件。单集审查需要落盘时写 `审查/EP001-审查.md`;独立文件审查使用
+ 14 直接读取用户点名的当前文件。单集审查需要保存文件时写 `审查/EP001-审查.md`;独立文件审查使用
+ 56 - 生成素材与剪好的成片(`production_outputs`,或审到成片的 `full_episode`),逐段判镜头职责、给瑕疵归类并给出交付结论:[生成素材审查](references/generated-media.md)
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama-storyboard/SKILL.md
Week of Nov 2, 2026 · +6 / −5 lines
Before Instructions only → After Instructions only
33eb7fece523 → 862ae46f3651
- 61 4. 一场戏拍成多镜时,先在《分镜.md》开头写这场的「场景站位」:固定锚点、各人相对锚点与彼此的位置、轴线与 working side、哪一镜改变站位。再逐镜锁定朝向、位置、视线、持物、出入口和必要状态,与「场景站位」一致;起点、终点里的位置写锚点和人物关系,视线写看向谁或什么;冻结关键帧再把它翻成本镜机位下的前后景、朝向、中间隔着什么和画面左右,见 [站位先写锚点和关系](references/blocking-playbooks.md#站位先写锚点和关系)。上游已有会限制动作空间的持续关系时,把关系投影进本镜起点与终点。
- 62 5. 冻结关键帧只投影镜头起点;删除终点才出现的文字、动作、姿态或道具状态。
- 63 镜头的职责落在收尾那一下时,另写 `### 收尾关键帧提示词` 投影**终点**——同一格画面的
+ 61 4. 一场戏拍成多镜时,先在《分镜.md》开头写这场的「场景站位」:固定锚点、各人相对锚点与彼此的位置、轴线与 working side、哪一镜改变站位。再逐镜锁定朝向、位置、视线、持物、出入口和必要状态,与「场景站位」一致;起点、终点里的位置写锚点和人物关系,视线写看向谁或什么;冻结关键帧再把它翻成本镜机位下的前后景、朝向、中间隔着什么和画面左右,见 [站位先写锚点和关系](references/blocking-playbooks.md#站位先写锚点和关系)。上游已有会限制动作空间的持续关系时,把关系带进本镜起点与终点。
+ 62 5. 冻结关键帧只呈现镜头起点;删除终点才出现的文字、动作、姿态或道具状态。
+ 63 镜头的职责落在收尾那一下时,另写 `### 收尾关键帧提示词` 呈现**终点**——同一格画面的
- 141 一张图承担两件事就拆成两个槽位;一镜最多一张 `起始帧` 和一张 `结束帧`,写 `结束帧` 时必须同时有 `起始帧`。
+ 141 一张图只占一个槽位:它承担两件事时,`用途` 写主要的那件,另一件写进「控制」,例如起始画面图同时定住本集造型,就写 `用途:起始帧;控制:起始构图、本集造型`;两件事由两张不同的图承担时才写两个槽位。生产端每个文件只绑定一次,同一路径写成两个槽位时,机械核对报错,生产也无法提交。一镜最多一张 `起始帧` 和一张 `结束帧`,写 `结束帧` 时必须同时有 `起始帧`。
+ 142 近景或说话镜里脸占画面大块、本镜没有 `用途:起始帧` 锚住脸、身份只有一张全身身份板,且目标方言还放得下第二个身份槽时,可以给该角色再挂一张同一 Look 的面部识别板,作第二个 `身份` 槽(`craft_default`);这张板还没有时,照第 6 步对待没有板子的人物那样在本轮报告里点名。
- 153 - 自动绑定不是把所有图都塞进一镜。只选本镜可见、且身份、造型、地理、关键道具状态或起始构图确实需要稳定的图;逐张写清它的用途、能控制什么、不得控制什么。
+ 154 - 自动绑定只选本镜可见、且身份、造型、地理、关键道具状态或起始构图确实需要稳定的图,不要把所有图都塞进一镜;逐张写清它的用途、能控制什么、不得控制什么。
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama-video-prompts/SKILL.md
Week of Nov 2, 2026 · +20 / −3 lines
Before Instructions only → After Instructions only
33eb7fece523 → 862ae46f3651
- 119 续接还要求执行端能绑定上述两项真实输入。当前 `$short-drama-produce` 的 creator-first 来源选择器只
- 120 解析图片与角色参考音频,不能绑定续接视频;使用这条内置生产路径时,续接段保持“不可提交”,
- 121 待执行接口支持双输入后再预览。不能省略来源选择器或改用文生视频绕过这个缺口。
+ 119 续接段要提交,执行端必须能绑定上述两项真实输入。`$short-drama-produce` 内置的 creator-first 来源选择器
+ 120 只解析图片与角色参考音频,绑定不了上一段视频,所以续接段走不了内置路径。项目用内置路径生产(创作者
+ 121 没说全部在外部工具提交)、本集有续接链、生产档案里还没有 `continuation_route` 时,在本轮交付报告里
+ 122 问创作者一次,二选一:
+ 123
+ 124 - **独立起点**(`independent_starts`):每段从自己的已接受起始帧走内置路径生成。代价是后一段不再
+ 125 继承上一段实际生成出来的动作速度、表演、运镜和声音空间,切点处可能跳一下姿态、光线或节奏。
+ 126 一条长镜拆成几段、切点两边构图相同时,可以按[摄影与声音连续性](references/camera-audio-continuity.md)
+ 127 「跨镜转场」的做法,用同一张已接受的图同时作前一段的结束帧和后一段的起始帧。这要求前一段还没生成、
+ 128 目标档案支持首尾帧;前一段已经生成时,改为从它的实际视频取尾帧,经创作者接受后作后一段的起始帧。
+ 129 - **保留续接、外部提交**(`relay_external`):续接链照原样写,后续段由创作者在能绑定实际视频和实际尾帧
+ 130 的工具里提交,内置路径只生成每条链的第一段。
+ 131
+ 132 创作者的选择由 `$short-drama` 写进生产档案,之后不再重复问。选独立起点,就是第 15 步所说的创作者
+ 133 明确要求独立重生成:这些链重新起链,各段从已接受起点写成可提交正文,不再标“待续接”。续接链的后续段
+ 134 通常没有自己的起始帧,这些段先交 `$short-drama-storyboard` 补前后两段共用的切点图或起始帧槽位,由
+ 135 `$short-drama-produce` 生成并经创作者接受,再回到本技能写正文。选外部提交,后续段保持“待续接、
+ 136 不可提交”,并注明在外部工具提交。任何情况下都不省略来源选择器;创作者选择前,也不自行把续接段改成
+ 137 独立生成或文生视频。
+ 183 本集有标为“待续接”的链时,交付报告列出这些链:生产档案还没有 `continuation_route` 就按上文问创作者一次,已有就写明按哪种方式执行。
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 33eb7fece523
No earlier version was observed for comparison.
skills/short-drama-write/SKILL.md
Week of Nov 2, 2026 · +12 / −9 lines
Before Network or broad shell → After Network or broad shell
33eb7fece523 → 862ae46f3651
- 31 3. 在上下文排“因为—行动—结果—下一股压力”,不落盘节拍表;让物件、对白、沉默、空间或声音按本集题材承担必要工作,不预设某一种载体。
- 32 4. 逐场确定不可替代的功能、可见变化与场尾状态;由争取或冲突组织的场景再明确焦点议程与阻力。承担主要戏剧功能的配角要有自己的策略,事务性或环境性角色保持简洁即可。
+ 31 3. 在上下文排“因为—行动—结果—下一股压力”,不另存节拍表文件;让物件、对白、沉默、空间或声音按本集题材承担必要工作,不预设某一种载体。
+ 32 4. 逐场确定不可替代的功能、看得见的局面变化与场尾状态;以人物争取或对抗为主的场景,再明确谁要什么、阻力来自哪里。承担主要戏剧功能的配角要有自己的策略,事务性或环境性角色保持简洁即可。
- 35 7. 交稿前静默反查:只读剧本,观众能否接收到本集承诺,人物行动是否有因果,题材语气是否一致;再对本集确实使用的选择、证据、有限单位或精确死线做专项检查。自检若增添了输入没有要求的机关,撤去新增机关。
+ 35 7. 交稿前通读自查:只读剧本,观众能否接收到本集承诺,人物行动是否有因果,题材语气是否一致;再对本集确实使用的选择、证据、有限单位或精确死线做专项检查。自检若增添了输入没有要求的机关,撤去新增机关。
- 42 - 对白必须在争取、回避、试探、逼迫或重新定义关系;用可见、可听、可触的行为表现状态,不用解释替代行动,也不把已经演清的机制再说一遍。
+ 42 - 对白必须在争取、回避、试探、逼迫或重新定义关系;用可见、可听、可触的行为表现状态,不用解释替代行动,也不把已经演清的机制再说一遍。中文表达默认地道,台词贴合人物身份与人情分寸,动作描写用准确动词与具体物件;翻译腔、公文腔、欧化长句和说明书式旁白,除非是人物或作品的选择,否则改掉。
- 50 - 交稿前静默检查冗余:是否增加了输入没有要求的精确数字或记录链,是否用标签/对白重复动作,是否在回报后堆了多个同方向后果。删去没有新作用的内容,保留本集需要的选择、证据、时限、人物与连续性事实。
- 51 - 输入给出目标时长时按真实表演、动作和停顿通读压稿,先删重复验证、解释和同义收尾;不用统一字数、镜头数或节拍数填模板。
+ 50 - 交稿前自查冗余:是否增加了输入没有要求的精确数字或记录链,是否用标签/对白重复动作,是否在回报后堆了多个同方向后果。删去没有新作用的内容,保留本集需要的选择、证据、时限、人物与连续性事实。
+ 51 - 输入给出目标时长时按真实表演、动作和停顿通读压稿,先删重复验证、解释和同义收尾;峰值上有铺垫的爆发、紧跟其后的宣判句和收住这一拍的动作不算同义收尾,压稿前先读[经济性遍](references/script-craft.md#910-经济性遍)里的 `SCR-23`。不用统一字数、镜头数或节拍数填模板。
- 66 - 同一故事义务的不同可拍实现:[可替代实现](references/substitutable-realization.md)
+ 66 - 同一故事义务需要备选拍法时怎样保住戏剧功能:[可替换拍法](references/substitutable-realization.md)
- 76 项目配置存在时,可在第三条命令末尾加 `--project short-drama.json`。只有
- 77 `duration_estimate.py` 接受这个参数,第二条索引命令不接受:
+ 76 项目配置存在时,可在第三条命令末尾加 `--project short-drama.json`;分集地图给这一集单独定了目标时长
+ 77 (例如首集加长)时,再加 `--target-seconds <秒数>`,按这一集的目标对照。只有 `duration_estimate.py`
+ 78 接受这两个参数,第二条索引命令不接受:
+ 97 所有台词都有语速可算时,输出另给 `speech_seconds` 与 `speech_share`:估算里有人说话的秒数和它占全集估算的比例。
+ 98 漫剧项目怎样读这个数,见 [漫剧靠声音往前推](references/script-craft.md#45-漫剧靠声音往前推)。
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 33eb7fece523
No earlier version was observed for comparison.
Verified commit 862ae46f36516f2b7d188da42e0e67365f7ddde6
git clone --filter=blob:none --no-checkout https://github.com/zenstory-ai/drama-skills.git .hotskills/zenstory-ai-drama-skills && git -C .hotskills/zenstory-ai-drama-skills checkout --detach 862ae46f36516f2b7d188da42e0e67365f7ddde6
# Copy each selected skill directory from .hotskills/zenstory-ai-drama-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/zenstory-ai/drama-skills.git .hotskills/zenstory-ai-drama-skills && git -C .hotskills/zenstory-ai-drama-skills checkout --detach 862ae46f36516f2b7d188da42e0e67365f7ddde6
# Copy each selected skill directory from .hotskills/zenstory-ai-drama-skills into .agents/skills/<skill-name>/Heat
8.4- Star growth, last 7 daysAhead of 98% of tracked repositories
- Star growth, last 24 hoursAhead of 98% of tracked repositories
- Rank movement, last 7 daysAhead of 94% of tracked repositories
- Commits, last 30 daysAhead of 93% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- short-drama-knowhow
maintainers/skills/short-drama-knowhow - short-drama
skills/short-drama - short-drama-assets
skills/short-drama-assets - short-drama-breakdown
skills/short-drama-breakdown - short-drama-develop
skills/short-drama-develop - short-drama-edit
skills/short-drama-edit - short-drama-image-prompts
skills/short-drama-image-prompts - short-drama-novel-analyze
skills/short-drama-novel-analyze - short-drama-produce
skills/short-drama-produce - short-drama-review
skills/short-drama-review - short-drama-storyboard
skills/short-drama-storyboard - short-drama-video-prompts
skills/short-drama-video-prompts - short-drama-write
skills/short-drama-write
How it works
short-drama-knowhow
When your agent uses it
维护者专用的短剧 know-how 学习、验证与生命周期治理。仅在维护者明确要求从其当前会话提供的授权只读文本源学习完整短剧项目链,并把私有观察逐步转成去标识、去复刻、经盲测与独立审查的公共 reference、rubric 或 synthetic fixture 候选时使用;不用于普通创作、公开运行时取数、媒体生成或粗略数据分析。
What it loads into context
Frontmatter
117 tokensAlways available to the agent
SKILL.md
2,097 tokensWhen the skill is activated
Reference documents
7,541 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 开始前锁定边界
- 核心原则
- 工作流
- 按需读取
Files
SKILL.mdcore7,975 bytesagents/openai.yamlasset381 bytesreferences/blind-forward-eval.mddoc5,516 bytesreferences/cards-and-coverage.mddoc10,978 bytesreferences/promotion-ledger.mddoc3,220 bytesreferences/prompt-production-learning.mddoc3,953 bytesreferences/synthesis-and-promotion.mddoc5,696 bytes
Read SKILL.md
# 短剧 Know-how 学习
通过定性阅读,理解编剧、漫剧工作室与编导怎样把戏剧意图传递到可执行的文本制作规格,
再判断哪些知识可迁移。
## 开始前锁定边界
只在维护者主动调用本 skill,且当前会话已经提供授权的只读访问时读取非公开来源。
把连接细节、凭据、源名称和私有卡片留在维护者指定的隔离工作区;不得写入本 skill、
公开技能树、公共候选或评测夹具。没有授权或无法确认只读时停止来源读取,只能用合成材料演练流程。
本流程只研究文本及其版本关系。可读创意简报、故事结构、剧本、资产/连续性台账、图片提示词、
分镜/关键帧文字、视频提示词、审查与修订记录;不生成、渲染、下载或检查图像、音频或视频。
公开运行时永不连接非公开来源,也不承担任何媒体生成。View the complete source on GitHubshort-drama
When your agent uses it
基于文件系统初始化和继续短剧或漫剧项目,提供 creator-first 五文档路由、本地 Dashboard、制作形态与 Look Development 决策。用户提出“创建/继续短剧项目”“看进度/下一步”“做 Look Development”“打开 dashboard/短剧创作台”“导出制作资料”,或任务跨多个创作阶段时使用;明确的写作、资产、提示词、分镜、剪辑或审查请求由对应子 skill 直接处理。
What it loads into context
Frontmatter
119 tokensAlways available to the agent
SKILL.md
3,893 tokensWhen the skill is activated
Reference documents
26,119 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 路由
- 执行请求
- 初始化与 Dashboard
- 项目级创作决定
- 生产与交付边界
- 安装维护
Scripts executed separately
assets/dashboard/app.jsscripts/creator_markdown_check.pyscripts/creator_views.pyscripts/dashboard_server.pyscripts/project_tool.pyscripts/selftest.py
Files
SKILL.mdcore14,188 bytesSKILL.mdcore14,188 bytesSKILL.mdcore14,188 bytesSKILL.mdcore14,188 bytesSKILL.mdcore14,188 bytesSKILL.mdcore14,188 bytesSKILL.mdcore14,188 bytesSKILL.mdcore14,188 bytesSKILL.mdcore14,188 bytesagents/openai.yamlasset292 bytesassets/creator-decision.example.jsonlasset1,227 bytesassets/dashboard/app.jsruns135,399 bytesassets/dashboard/index.htmlasset1,080 bytesassets/dashboard/styles.cssasset65,728 bytesassets/dashboard/tokens.cssasset9,064 bytesassets/production-observation.example.jsonlasset1,621 bytesassets/project-template/short-drama.jsonasset864 bytesassets/reference-observation.example.jsonlasset1,140 bytesreferences/audience-reveal.mddoc1,272 bytesreferences/contract-and-ownership.mddoc2,881 bytesreferences/creator-documents.mddoc18,949 bytesreferences/creator-workflow.mddoc6,534 bytesreferences/form-cards/Q版表达.mddoc4,317 bytesreferences/form-cards/二维动态漫.mddoc4,451 bytesreferences/form-cards/国漫二次元.mddoc5,026 bytesreferences/form-cards/实拍.mddoc4,472 bytesreferences/form-cards/水墨笔触.mddoc4,276 bytesreferences/form-cards/风格化三维.mddoc4,506 bytesreferences/knowhow-index.mddoc13,187 bytesreferences/look-development.mddoc3,357 bytesreferences/pickup-and-alternate.mddoc1,577 bytesreferences/production-form-profiles.mddoc10,098 bytesreferences/reference-roles.mddoc4,813 bytesreferences/runtime-preflight.mddoc1,289 bytesscripts/creator_markdown_check.pyruns91,406 bytesscripts/creator_views.pyruns43,052 bytesscripts/dashboard_server.pyruns83,782 bytesscripts/project_tool.pyruns105,956 bytesscripts/selftest.pyruns9,907 bytes
Read SKILL.md
# 短剧创作路由
本技能负责项目初始化、跨阶段路由、制作形态与 Dashboard。各阶段正文由对应技能完成。
## Quick Start
当前创作统一使用 [creator-first 工作流](references/creator-workflow.md):每集按需维护
`剧本.md`、`视觉设定.md`、`分镜.md`、`图片提示词.md`、`视频提示词.md`,不建立并行的结构化创作真相。
具体写法见 [五份创作文档](references/creator-documents.md)。
## 路由
| 用户要做什么 | owner / 行为 |
|---|---|View the complete source on GitHubshort-drama-assets
When your agent uses it
从短剧剧本拆出人物/造型、地点/视图、道具/状态和跨场连续性,写成创作者可读的视觉设定。用户说“拆角色/场景/道具”“做资产设定”“判断复用还是新变体”“更新造型/道具状态”,或拿现成剧本直接做视觉资产准备时使用;不写图片提示词,不生成媒体。
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
1,605 tokensWhen the skill is activated
Reference documents
20,764 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 入口与边界
- 工作流
- 内容要求
- 按需知识
- 完成
Files
SKILL.mdcore5,744 bytesagents/openai.yamlasset294 bytesreferences/asset-review-checklist.mddoc5,222 bytesreferences/character-and-look.mddoc11,911 bytesreferences/continuity-delta.mddoc7,410 bytesreferences/continuity-lock.mddoc7,780 bytesreferences/era-anchors.mddoc2,367 bytesreferences/identity-vs-variant.mddoc7,903 bytesreferences/location-and-view.mddoc4,433 bytesreferences/occurrence-extraction.mddoc6,145 bytesreferences/prop-and-state.mddoc6,744 bytesreferences/stage-contract.mddoc4,734 bytesreferences/voice-direction.mddoc10,208 bytes
Read SKILL.md
# 短剧资产拆解
从剧本提取可复用、可持续的视觉事实,统一写入 `剧集/<EP>/视觉设定.md`;每次出场先判断身份
与状态,剧本语义、镜头走位和生成提示词由各负责技能处理。
## Quick Start
```text
用 $short-drama-assets 从 EP001 剧本拆完人物、造型、地点、道具和本集状态
```
## 入口与边界
现成剧本可以直接拆资产。先区分:View the complete source on GitHubshort-drama-breakdown
When your agent uses it
拆解对标短剧或漫剧成片:测量集长、镜长、对白密度、开场与集尾、下一集怎么接,读出可迁移的机制,再和本项目的计划或自家成片放在同一把尺子下对照,把差距交给负责的技能补强,并用出片结果复核;需要时把一集或连续多集还原成逐字剧本、跨集统一的人物场景道具、逐镜分镜和图片与视频提示词,集与集之间接得上。用户提供对标剧的视频或字幕,说“拆解这部剧”“对标一下”“和标杆差在哪”“学学这几部爆款”“把这几集还原出来”“反推剧本和提示词”,或要拿自家成片和对标比时使用;还原结果只放在对标目录,自有或已授权的作品才能交给下游,不替创作者定节奏数值。
What it loads into context
Frontmatter
236 tokensAlways available to the agent
SKILL.md
1,773 tokensWhen the skill is activated
Reference documents
11,054 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 开始前锁定边界
- 工作流
- 按需读取
Scripts executed separately
scripts/breakdown_tool.pyscripts/selftest.py
Files
SKILL.mdcore6,267 bytesSKILL.mdcore6,267 bytesSKILL.mdcore6,267 bytesSKILL.mdcore6,267 bytesSKILL.mdcore6,267 bytesagents/openai.yamlasset348 bytesreferences/breakdown-dimensions.mddoc5,791 bytesreferences/gap-and-learning-loop.mddoc4,390 bytesreferences/measure-and-read.mddoc6,428 bytesreferences/reconstruct.mddoc16,284 bytesreferences/stage-contract.mddoc4,010 bytesscripts/breakdown_tool.pyruns74,584 bytesscripts/selftest.pyruns3,466 bytes
Read SKILL.md
# 短剧拆解学习
把别人的成片拆成能复算的数字和能迁移的机制,再拿来和自己的剧比。
## Quick Start
测量用 [breakdown_tool.py](scripts/breakdown_tool.py),命令见[第 2 步](#2-测量)。安装、升级或排障时运行:
```bash
python3 {技能目录}/scripts/selftest.py
```
## 开始前锁定边界
View the complete source on GitHubshort-drama-develop
When your agent uses it
将中文小说、短剧或漫剧想法、梗概、改编材料、已有系列笔记或多集完整剧本发展成可追溯的改编方案、戏剧方向、创作简报、导演阐述、故事引擎与分集地图,并按题材与制作形态(画风)选择写法。用户提出“导入小说做短剧”“从多集整稿生成/补分集地图”“开发短剧/漫剧”“做故事设定/系列大纲/分集规划”“写导演阐述”“这个题材怎么写”“定画风/制作形态”“把这个点子变成短剧”或需要梳理人物冲突与集间交接时使用;已有单集剧本可直接进入写作、资产或审查流程,不强制补开发文件。
What it loads into context
Frontmatter
202 tokensAlways available to the agent
SKILL.md
2,959 tokensWhen the skill is activated
Reference documents
74,779 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 开始前
- 先判断入口
- 每次执行
- 规则分级
- 产物与边界
- 按需加载
Scripts executed separately
scripts/episode_intake.pyscripts/selftest.py
Files
SKILL.mdcore10,823 bytesSKILL.mdcore10,823 bytesSKILL.mdcore10,823 bytesagents/openai.yamlasset316 bytesassets/adaptation-map.example.jsonlasset1,270 bytesassets/creative-brief.mddoc6,027 bytesassets/episode-map.jsonlasset1,658 bytesassets/story-engine.mddoc7,511 bytesreferences/adaptation-craft.mddoc17,885 bytesreferences/creative-reference-intake.mddoc3,644 bytesreferences/director-brief-craft.mddoc6,681 bytesreferences/episode-design.mddoc33,667 bytesreferences/genre-and-hook-playbook.mddoc18,861 bytesreferences/genre-cards.mddoc7,762 bytesreferences/genre-cards/亲子隐秘.mddoc6,824 bytesreferences/genre-cards/仙侠修真.mddoc4,468 bytesreferences/genre-cards/动作任务.mddoc4,633 bytesreferences/genre-cards/古装权谋.mddoc4,386 bytesreferences/genre-cards/复仇打脸.mddoc5,362 bytesreferences/genre-cards/家庭关系.mddoc4,211 bytesreferences/genre-cards/悬疑规则.mddoc4,399 bytesreferences/genre-cards/生活流.mddoc4,143 bytesreferences/genre-cards/破镜重圆.mddoc6,950 bytesreferences/genre-cards/系统流.mddoc4,692 bytesreferences/genre-cards/职场喜剧.mddoc4,058 bytesreferences/genre-cards/豪门婚恋.mddoc4,762 bytesreferences/genre-cards/身份错位.mddoc4,101 bytesreferences/genre-cards/逆袭.mddoc3,859 bytesreferences/genre-cards/重生穿越.mddoc4,164 bytesreferences/mechanism-loop.mddoc16,977 bytesreferences/multi-episode-intake.mddoc7,193 bytesreferences/premise-devices.mddoc14,731 bytesreferences/reveal-reversal-payoff.mddoc4,746 bytesreferences/serial-character-and-memory.mddoc15,747 bytesreferences/stage-contract.mddoc13,743 bytesreferences/story-craft.mddoc18,689 bytesscripts/episode_intake.pyruns28,046 bytesscripts/selftest.pyruns1,533 bytes
Read SKILL.md
# 短剧开发
把创作者的意图变成能持续制造**选择、代价与状态变化**的故事系统,保留创作者对题材、结局和尺度的选择。流行套路只能作为候选方法。
## Quick Start
离线验证多集整稿的精确索引、按集切分和源文件变更检测:
```bash
python3 {技能目录}/scripts/selftest.py
python3 {技能目录}/scripts/episode_intake.py index <多集整稿> --out <episode-intake-index.json>
```
## 开始前View the complete source on GitHubshort-drama-edit
When your agent uses it
将已生成的短剧镜头剪成成片,记录入出点、镜序、声音、字幕与交付规格。用于套剪、加字幕、统一响度、调整节奏或导出精修素材;需要补素材或修改故事时转回对应创作阶段。
What it loads into context
Frontmatter
76 tokensAlways available to the agent
SKILL.md
4,656 tokensWhen the skill is activated
Reference documents
11,448 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 入口
- 工作流
- 剪辑单要求
- 边界
- 命令
- 按需知识
- 修订
- 完成
- 安装维护
Scripts executed separately
assets/remotion/package.jsonassets/remotion/remotion.config.tsassets/remotion/src/Overlay.tsxassets/remotion/src/Root.tsxassets/remotion/src/Subtitles.tsxassets/remotion/src/font.tsassets/remotion/src/index.tsassets/remotion/src/rules.mjsassets/remotion/src/schema.tsassets/remotion/src/screen/Card.tsxassets/remotion/src/screen/CornerChip.tsxassets/remotion/src/screen/ScreenText.tsxassets/remotion/src/screen/SystemPanel.tsxassets/remotion/src/screen/TaskPanel.tsxassets/remotion/src/screen/chrome.tsxassets/remotion/src/screen/tokens.tsscripts/edit_tool.pyscripts/selftest.py
Files
SKILL.mdcore15,256 bytesagents/openai.yamlasset254 bytesassets/remotion/README.mddoc5,355 bytesassets/remotion/package.jsonruns464 bytesassets/remotion/remotion.config.tsruns219 bytesassets/remotion/src/Overlay.tsxruns1,074 bytesassets/remotion/src/Root.tsxruns931 bytesassets/remotion/src/Subtitles.tsxruns3,223 bytesassets/remotion/src/font.tsruns2,295 bytesassets/remotion/src/index.tsruns109 bytesassets/remotion/src/rules.mjsruns7,741 bytesassets/remotion/src/schema.tsruns1,237 bytesassets/remotion/src/screen/Card.tsxruns2,833 bytesassets/remotion/src/screen/CornerChip.tsxruns1,617 bytesassets/remotion/src/screen/ScreenText.tsxruns1,261 bytesassets/remotion/src/screen/SystemPanel.tsxruns1,809 bytesassets/remotion/src/screen/TaskPanel.tsxruns4,112 bytesassets/remotion/src/screen/chrome.tsxruns5,846 bytesassets/remotion/src/screen/tokens.tsruns2,497 bytesassets/remotion/tsconfig.jsonasset276 bytesassets/剪辑单.mddoc2,171 bytesreferences/cut-craft.mddoc6,109 bytesreferences/delivery-verify.mddoc3,035 bytesreferences/generated-footage.mddoc3,570 bytesreferences/sound-and-subtitles.mddoc6,213 bytesreferences/stage-contract.mddoc8,091 bytesreferences/still-cuts.mddoc5,894 bytesscripts/edit_tool.pyruns136,897 bytesscripts/selftest.pyruns26,399 bytes
Read SKILL.md
# 短剧剪辑与成片
把 `剧集/<EP>/制作成果/` 里的逐镜素材装配成一条成片,取舍写进 `剧集/<EP>/剪辑单.md`。
每段使用二级标题 `## CUT-...`,各自绑定一个来源 ID 和一个真实媒体文件:视频段是 `MOTION-...`,
静态漫剧的关键帧段是 `SHOT-...` 或 `IMG-...`。
根据实际素材选择可用片段,按剧本与分镜核对叙事。素材与意图不一致时,记录取舍和缺口。
## Quick Start
```text
用 $short-drama-edit 把 EP001 已生产的镜头剪成成片
```
View the complete source on GitHubshort-drama-image-prompts
When your agent uses it
为短剧人物、造型、地点、道具和状态编写或修改可直接复制的图片提示词 Markdown。用户提到角色设定图、三视图、参考图、场景板、道具图、风格帧、Look Development、状态变体或局部编辑提示词时使用;不生成图片,也不调用供应商。
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
1,363 tokensWhen the skill is activated
Reference documents
21,330 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 入口
- 工作流
- 提示词要求
- 按需知识
- 完成与投产
Files
SKILL.mdcore5,011 bytesagents/openai.yamlasset310 bytesreferences/character-and-look.mddoc8,777 bytesreferences/common-recipe.mddoc15,894 bytesreferences/edit-and-revision.mddoc5,474 bytesreferences/location-plate.mddoc10,335 bytesreferences/look-and-state-variant.mddoc5,450 bytesreferences/lookdev-frame.mddoc2,424 bytesreferences/production-sheet-recipes.mddoc11,694 bytesreferences/prop-plate.mddoc6,933 bytesreferences/review-and-fixtures.mddoc5,571 bytesreferences/stage-contract.mddoc3,712 bytes
Read SKILL.md
# 短剧资产图片提示词
把视觉事实写成可复用、可修改、可直接复制的角色板、场景板、道具板或状态图提示词,统一保存到
`剧集/<EP>/图片提示词.md`。每项用 `IMG-...` 标题,正文放在 `### 可复制提示词` 引用块。
`IMG-...` 是提示词条目的稳定 ID;实际图片须由创作者提供,或来自经确认的生产结果。
每项使用 `## IMG-... · 中文名`,写一行不加粗的 `- 参考:`。无外部参考时写 `- 参考:无外部参考`;
有真实图片时使用 `REF-<slot>(顺序:<n>)· <项目相对路径>《<中文名称>》(用途:<用途>;控制:<范围>;不得控制:<范围>)`。
多张用 `;` 连接,顺序从 1 连续编号;正文标题固定为 `### 可复制提示词`,每个非空正文行以 `>` 开头。
`REF-...` 指向当前项目中的真实图片;下游分镜的 `PLAN-...` 挂图计划不能证明本条图片提示词已有参考输入。
## Quick Start
```textView the complete source on GitHubshort-drama-novel-analyze
When your agent uses it
把长篇小说、连载网文或多集散稿拆成可追溯的原著分析:章节索引、改编价值快评、逐章功能提取、剧情单元与节奏聚合、人物与设定归并,最后给出改编价值判定与分集候选,交给 $short-drama-develop 立契约。用户说“导入这本小说”“拆这本书”“分析原著”“这本书能不能改短剧”“先看看值不值得拆”“把长篇拆成分集候选”,或直接给出小说文件路径时使用。只做只读的结构化分析,不写剧本、不建资产、不生成媒体,也不替创作者决定改编方案。
What it loads into context
Frontmatter
182 tokensAlways available to the agent
SKILL.md
4,208 tokensWhen the skill is activated
Reference documents
10,552 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 开始前
- 材料前提
- 先判断入口
- 管道
- 规则分级
- 产物与边界
- 语言
- 按需加载
Scripts executed separately
scripts/novel_index.pyscripts/selftest.py
Files
SKILL.mdcore14,957 bytesSKILL.mdcore14,957 bytesSKILL.mdcore14,957 bytesSKILL.mdcore14,957 bytesSKILL.mdcore14,957 bytesSKILL.mdcore14,957 bytesSKILL.mdcore14,957 bytesSKILL.mdcore14,957 bytesSKILL.mdcore14,957 bytesagents/openai.yamlasset283 bytesassets/episode-candidate.example.jsonlasset2,666 bytesreferences/adaptation-triage.mddoc5,073 bytesreferences/adaptation-value.mddoc6,996 bytesreferences/aggregation-and-entities.mddoc9,890 bytesreferences/chapter-extraction.mddoc8,202 bytesreferences/stage-contract.mddoc5,681 bytesscripts/novel_index.pyruns28,160 bytesscripts/selftest.pyruns1,769 bytes
Read SKILL.md
# 长篇原著分析
从长材料中提取可追溯的戏剧功能,说明各段如何改变角色选择、信息、权力或关系,以及这些功能怎样用于竖屏短剧改编。
分析结果供创作者取舍:保留哪条线、合并哪些人、从哪里开篇,由创作者决定,再交给
`$short-drama-develop` 写成改编契约。本技能不批准自己的产物。
## Quick Start
离线验证章节索引、采样和源文件变更检测:
```bash
python3 {技能目录}/scripts/selftest.py
python3 {技能目录}/scripts/novel_index.py index <原著.txt> --out <chapter-index.json>View the complete source on GitHubshort-drama-produce
When your agent uses it
在创作者明确确认后,执行短剧项目的图片、视频、TTS/配音或时间线音乐生产任务,并把结果与精简运行记录存回项目。用户说“生成这张图/这段视频/这句配音/这段配乐”“开始跑图/跑视频/合成语音/生成音乐”“把已确认提示词送去生产”,或要求批量执行已确认媒体任务时使用;不负责创作提示词、镜头、台词、歌词或声音身份,也绝不把预览、继续、预算说明或既有接受状态当作本次付费生产确认。
What it loads into context
Frontmatter
152 tokensAlways available to the agent
SKILL.md
4,594 tokensWhen the skill is activated
Reference documents
6,445 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 硬闸门
- 命令
- 输入选择
- Adapter 边界
- 中断不等于要重跑
- 结果与复核
- 安装维护
Scripts executed separately
scripts/fixture_adapter.pyscripts/production_tool.pyscripts/provider_adapters.pyscripts/selftest.py
Files
SKILL.mdcore17,389 bytesSKILL.mdcore17,389 bytesSKILL.mdcore17,389 bytesSKILL.mdcore17,389 bytesagents/openai.yamlasset288 bytesreferences/adapter-contract.mddoc13,459 bytesreferences/providers/gpt-image-2.mddoc1,333 bytesreferences/providers/minimax-h3-video.mddoc6,049 bytesreferences/providers/minimax-music.mddoc1,269 bytesreferences/providers/minimax-speech.mddoc2,375 bytesreferences/providers/seedance.mddoc4,330 bytesscripts/fixture_adapter.pyruns2,732 bytesscripts/production_tool.pyruns93,209 bytesscripts/provider_adapters.pyruns70,718 bytesscripts/selftest.pyruns4,122 bytes
Read SKILL.md
# 确认后生产
本技能把已经写好的生产规格送到运行环境配置的 adapter。图片提示词归
`$short-drama-image-prompts`,视频提示词归 `$short-drama-video-prompts`,台词归
`$short-drama-write`,声音身份归 `$short-drama-assets`。
## Quick Start
只在用户明确要求实际生成后,从当前 `图片提示词.md`、`分镜.md` 或 `视频提示词.md` 中
取出本次提示词,建立一个有边界的运行 job。creator-first job 的 `source` 必须指向拥有这条提示词的
当前 Markdown,`source_entry` 必须点名该文档允许的二级标题:`图片提示词.md` 用 `IMG-*`,
`视频提示词.md` 用 `MOTION-*`,`分镜.md` 用 `SHOT-*`(modality 为 `image`,正文取该镜的
`### 冻结关键帧提示词`)。此选择器只提取首帧;尾帧需先由图片提示词阶段建立独立 `IMG-*` 状态图条目,
再从 `图片提示词.md` 准备 image job。创作者也可以提供已有起始帧——View the complete source on GitHubshort-drama-review
When your agent uses it
审查短剧项目中的原著分析、故事、剧本、视觉设定、图片提示词、分镜、冻结关键帧、视频提示词和已有媒体。用户提出“审稿/检查剧本”“检查资产或连续性”“检查图片/视频提示词”“检查原著分析”“审查模板感”“根据生产观察做项目校准”时使用;只写审查问题、结论和修订要求,不代替负责人修改来源文件。
What it loads into context
Frontmatter
115 tokensAlways available to the agent
SKILL.md
1,511 tokensWhen the skill is activated
Reference documents
23,291 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 选择审查范围
- 工作流
- 严重程度
- 边界
Files
SKILL.mdcore5,532 bytesagents/openai.yamlasset319 bytesreferences/anti-template-repair.mddoc5,363 bytesreferences/generated-media.mddoc7,367 bytesreferences/production-quality-gates.mddoc19,799 bytesreferences/project-calibration.mddoc6,114 bytesreferences/review-method.mddoc4,512 bytesreferences/rubric-assets-prompts.mddoc6,345 bytesreferences/rubric-source-analysis.mddoc6,281 bytesreferences/rubric-story-script.mddoc21,851 bytesreferences/rubric-visual-motion.mddoc11,862 bytesreferences/stage-contract.mddoc5,822 bytes
Read SKILL.md
# 短剧审查
优先由未参与当前版本创作的 reviewer 执行;条件不允许时可以自检并如实说明。本技能定位问题、影响和
必须达到的修订结果,将修改交回负责技能;审查与修改分开执行。
## Quick Start
直接读取用户点名的当前文件。单集审查需要保存文件时写 `审查/EP001-审查.md`;独立文件审查使用
`审查/<主题>-审查.md`。用户只要口头结论时直接回复,不为“完整”创建审查文件。
审查 Markdown 建议结构:
```markdown
# EP001 审查View the complete source on GitHubshort-drama-storyboard
When your agent uses it
把中文短剧剧本和视觉设定写成有戏剧职责、连续性边界与冻结关键帧提示词的分镜 Markdown。用户提出“拆分镜/设计镜头/做镜头表”“场次视觉计划/调度故事板”“比较导演方案”“写首帧/关键帧提示词”或检查轴线、站位、视线、持物连续性时使用;不生成媒体。
What it loads into context
Frontmatter
110 tokensAlways available to the agent
SKILL.md
6,294 tokensWhen the skill is activated
Reference documents
36,050 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 入口
- 工作流
- 镜头要求
- 视觉依据与图片
- 按需知识
- 修订
- 完成
Files
SKILL.mdcore22,016 bytesagents/openai.yamlasset283 bytesreferences/blocking-playbooks.mddoc16,935 bytesreferences/comic-keyframe-lexicon.mddoc11,053 bytesreferences/coverage-audition.mddoc2,109 bytesreferences/fight-craft.mddoc8,606 bytesreferences/keyframe-craft.mddoc10,548 bytesreferences/lighting-craft.mddoc2,100 bytesreferences/production-shot-grammar.mddoc21,705 bytesreferences/review-and-fixtures.mddoc3,378 bytesreferences/scene-visual-plan.mddoc1,831 bytesreferences/screenplay-to-keyframe-example.mddoc8,266 bytesreferences/shot-craft.mddoc25,313 bytesreferences/shot-revision-identity.mddoc1,733 bytesreferences/stage-contract.mddoc15,193 bytes
Read SKILL.md
# 短剧分镜与冻结关键帧
把剧本和视觉事实转成有镜头职责、空间连续性和可冻结起点的 `剧集/<EP>/分镜.md`。
每镜使用二级标题 `## SHOT-...`,同镜下用 `### 冻结关键帧提示词` 写起始帧正文;
需要时另加 `### 收尾关键帧提示词` 写终点正文。
## Quick Start
```text
用 $short-drama-storyboard 完成 EP001 的正式分镜和每镜冻结关键帧
```
## 入口
View the complete source on GitHubshort-drama-video-prompts
When your agent uses it
把短剧分镜和冻结关键帧写成可直接复制的视频提示词 Markdown,也可按用户要求写时间线配乐/主题曲意图。用户提到文生/图生视频动作、人物表演、运镜、口型、环境运动、镜头时长、起止状态、把分镜转成视频提示词或写配乐提示词时使用;不生成媒体、不创作歌词、不改分镜边界。
What it loads into context
Frontmatter
114 tokensAlways available to the agent
SKILL.md
5,438 tokensWhen the skill is activated
Reference documents
53,279 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 入口与边界
- 工作流
- 提示词要求
- 按需知识
- 完成与投产
Files
SKILL.mdcore19,536 bytesagents/openai.yamlasset298 bytesreferences/camera-audio-continuity.mddoc17,058 bytesreferences/delivery-profile.mddoc21,566 bytesreferences/generability.mddoc8,011 bytesreferences/minimax-h3.mddoc24,400 bytesreferences/motion-recipe.mddoc21,267 bytesreferences/performance-action-timing.mddoc13,852 bytesreferences/production-prompt-grammar.mddoc23,585 bytesreferences/review-and-fixtures.mddoc9,238 bytesreferences/seedance-2.0.mddoc6,774 bytesreferences/seedance-2.5.mddoc11,935 bytesreferences/stage-contract.mddoc13,143 bytesreferences/target-model-profile.mddoc10,543 bytesreferences/wan-3.0.mddoc7,214 bytes
Read SKILL.md
# 短剧视频与时间线音乐提示词
把已确认镜头和起始帧写成有边界、可生成、可直接复制的 `剧集/<EP>/视频提示词.md`。
每镜使用 `MOTION-...` 标题并引用对应 `SHOT-...`。
## Quick Start
```text
用 $short-drama-video-prompts 把 EP001 分镜逐镜写成可直接复制的视频提示词
```
## 入口与边界
有当前分镜、冻结关键帧和必要视觉事实即可检查参考准备;图片提示词不是已有图片的证明。运动提示词拥有从已确认View the complete source on GitHubshort-drama-write
When your agent uses it
编写或修订可拍摄的中文短剧、漫剧单集 Markdown 剧本,也负责保留作者原文并规范化现成剧本。用户提出“写/改一集短剧”“把大纲写成剧本”“优化场景/对白”“去模板感”“去 AI 味润色”“续写下一集”或提供剧本要求进入后续制作时使用;不负责资产、分镜、媒体提示词或终审。
What it loads into context
Frontmatter
115 tokensAlways available to the agent
SKILL.md
3,479 tokensWhen the skill is activated
Reference documents
35,584 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- 入口
- 工作流
- 写作要求
- 按需知识
- 时长估算(按需)
- 完成
- 安装维护
Scripts executed separately
scripts/duration_estimate.pyscripts/screenplay_index.pyscripts/selftest.py
Files
SKILL.mdcore12,451 bytesSKILL.mdcore12,451 bytesSKILL.mdcore12,451 bytesagents/openai.yamlasset288 bytesassets/screenplay.mddoc1,681 bytesreferences/dialogue-craft.mddoc23,330 bytesreferences/production-format-dialect.mddoc18,680 bytesreferences/scene-handoff-capsule.mddoc1,545 bytesreferences/scene-sound-dramaturgy.mddoc2,777 bytesreferences/screenplay-format.mddoc11,774 bytesreferences/script-craft.mddoc51,111 bytesreferences/stage-contract.mddoc10,299 bytesreferences/substitutable-realization.mddoc6,127 bytesscripts/duration_estimate.pyruns23,244 bytesscripts/screenplay_index.pyruns44,166 bytesscripts/selftest.pyruns6,061 bytes
Read SKILL.md
# 短剧写作
把单集意图写成可表演、可拍摄、会改变故事状态的 `剧集/<EP>/剧本.md`。
## Quick Start
只维护一份剧本 Markdown,不另建 episode card、beats、block index、录音表、QA 或接受记录。
一级标题使用 `# EP001 集名`,场景标题使用 `## EP001-SC001 内 · 地点 · 时间/天气`。
对白写 `角色(可选表演提示):台词`;生产标签使用 `[VO]`、`[OS]`、`[SFX]`、`[画面文字]`、
`[连续性]`、`[转场]`。不要把含冒号的动作叙述误写成对白。
## 入口
- 有分集规划:读取本集进入状态、目标、转折、回报和交接事实。View the complete source on GitHubSkills included
- short-drama-knowhow
- short-drama
- short-drama-assets
- short-drama-breakdown
- short-drama-develop
- short-drama-edit
- short-drama-image-prompts
- short-drama-novel-analyze
- short-drama-produce
- short-drama-review
- short-drama-storyboard
- short-drama-video-prompts
- short-drama-write
Repository facts
- License
- MIT
- Created
- Jul 16, 2026
- Last pushed
- Nov 7, 2026
- Forks
- 695
- Open issues
- 1
- Project activity
- Active
Rank over the last 12 weeks
Now #324 · best #324 · up 57 in 30 days
- #339 on Nov 1
- #336 from Nov 2 to Nov 3
- #330 on Nov 4
- #327 on Nov 5
- #325 on Nov 6
- #324 since Nov 7
81 earlier periods
- #813 on Aug 2
- #776 on Aug 8
- #772 on Aug 9
- #781 on Aug 10
- #760 on Aug 11
- #745 on Aug 12
- #730 on Aug 13
- #709 on Aug 14
- #669 on Aug 15
- #679 on Aug 16
- #686 on Aug 17
- #690 on Aug 18
- #652 on Aug 19
- #645 on Aug 20
- #639 on Aug 21
- #584 on Aug 22
- #587 on Aug 23
- #568 on Aug 24
- #544 on Aug 25
- #515 on Aug 26
- #516 on Aug 27
- #510 on Aug 28
- #493 on Aug 29
- #474 on Aug 30
- #492 on Aug 31
- #488 on Sep 1
- #486 on Sep 2
- #483 on Sep 3
- #465 on Sep 4
- #464 on Sep 5
- #465 on Sep 6
- #461 on Sep 7
- #472 on Sep 8
- #457 on Sep 9
- #454 on Sep 10
- #448 on Sep 11
- #442 on Sep 12
- #436 on Sep 13
- #441 on Sep 14
- #435 from Sep 15 to Sep 16
- #424 on Sep 17
- #429 on Sep 18
- #418 on Sep 19
- #422 on Sep 20
- #419 on Sep 21
- #418 on Sep 22
- #408 on Sep 23
- #402 on Sep 24
- #400 on Sep 25
- #395 on Sep 26
- #399 on Sep 27
- #398 on Sep 28
- #404 on Sep 29
- #396 on Sep 30
- #394 on Oct 1
- #393 on Oct 2
- #384 on Oct 3
- #378 on Oct 4
- #385 on Oct 5
- #381 on Oct 6
- #382 on Oct 7
- #381 on Oct 8
- #387 on Oct 9
- #374 from Oct 10 to Oct 11
- #377 on Oct 12
- #373 on Oct 13
- #374 on Oct 14
- #367 on Oct 15
- #365 on Oct 16
- #355 on Oct 17
- #362 on Oct 18
- #359 on Oct 19
- #355 on Oct 20
- #350 on Oct 21
- #344 on Oct 22
- #342 on Oct 23
- #337 on Oct 24
- #342 on Oct 25
- #341 on Oct 28
- #343 on Oct 29
- #340 from Oct 30 to Oct 31
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 27 notes
skills/short-drama/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-breakdown/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-breakdown/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-breakdown/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-breakdown/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-develop/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-develop/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-novel-analyze/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-novel-analyze/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-novel-analyze/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-novel-analyze/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-novel-analyze/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/short-drama-novel-analyze/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 63 network referencesin 14 files: short-drama-produce/scripts/provider_adapters.py:30 short-drama-write/scripts/screenplay_index.py:725 short-drama/assets/dashboard/app.js:758 and 11 more
- 3 obfuscation signalsin 2 files: short-drama-produce/scripts/fixture_adapter.py:22 short-drama-produce/scripts/provider_adapters.py:1425
- No instruction overrides
- 37 executable scriptsin 37 files: short-drama-breakdown/scripts/breakdown_tool.py:1 short-drama-breakdown/scripts/selftest.py:1 short-drama-develop/scripts/episode_intake.py:1 and 34 more
- 31 references to secretsin 8 files: short-drama-produce/scripts/provider_adapters.py:460 short-drama/scripts/dashboard_server.py:1286 short-drama-produce/scripts/production_tool.py:90 and 5 more
- No requests to vote in Hot
Show all 134 signals by file
skills/short-drama-breakdown/scripts/breakdown_tool.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama-breakdown/scripts/selftest.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama-develop/scripts/episode_intake.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama-develop/scripts/selftest.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama-edit/assets/remotion/README.md
- Network accessline 69
使用 Remotion 前,按其[官方许可证](https://github.com/remotion-dev/remotion/blob/main/LICENSE.md)
skills/short-drama-edit/assets/remotion/package.json
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/remotion.config.ts
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/Overlay.tsx
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/Root.tsx
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/Subtitles.tsx
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/font.ts
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/index.ts
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/rules.mjs
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/schema.ts
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/screen/Card.tsx
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/screen/CornerChip.tsx
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/screen/ScreenText.tsx
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/screen/SystemPanel.tsx
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/screen/TaskPanel.tsx
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/screen/chrome.tsx
- Executable scriptline 1
Executable file
skills/short-drama-edit/assets/remotion/src/screen/tokens.ts
- Executable scriptline 1
Executable file
skills/short-drama-edit/scripts/edit_tool.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama-edit/scripts/selftest.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama-novel-analyze/scripts/novel_index.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama-novel-analyze/scripts/selftest.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama-produce/references/providers/gpt-image-2.md
- Network accessline 9
[Credential-related source omitted] - Access to secretsline 9
[Credential-related source omitted] - Network accessline 10
`https://api.openai.com/v1` and must remain HTTPS. - Network accessline 22
Protocol references: [GPT Image 2 model](https://developers.openai.com/api/docs/models/gpt-image-2), - Network accessline 23
[image generation](https://developers.openai.com/api/reference/resources/images/methods/generate), and - Network accessline 24
[image edits](https://developers.openai.com/api/reference/resources/images/methods/edit).
skills/short-drama-produce/references/providers/minimax-h3-video.md
skills/short-drama-produce/references/providers/minimax-music.md
- Network accessline 9
[Credential-related source omitted] - Access to secretsline 9
[Credential-related source omitted] - Network accessline 10
`https://api.minimax.io/v1` and must remain HTTPS. - Network accessline 25
Protocol reference: [MiniMax Music Generation](https://platform.minimax.io/docs/api-reference/music-generation).
skills/short-drama-produce/references/providers/minimax-speech.md
- Network accessline 9
[Credential-related source omitted] - Access to secretsline 9
[Credential-related source omitted] - Network accessline 10
`https://api.minimax.io/v1` and must remain HTTPS. - Network accessline 43
Protocol reference: [MiniMax Text to Speech](https://platform.minimax.io/docs/api-reference/speech-t2a-http).
skills/short-drama-produce/references/providers/seedance.md
skills/short-drama-produce/scripts/fixture_adapter.py
skills/short-drama-produce/scripts/production_tool.py
skills/short-drama-produce/scripts/provider_adapters.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 30
OPENAI_MODEL = "gpt-image-2" MINIMAX_MUSIC_MODEL = "music-3.0" OPENAI_BASE_URL = "https://api.openai.com/v1" - Network accessline 31
MINIMAX_MUSIC_MODEL = "music-3.0" OPENAI_BASE_URL = "https://api.openai.com/v1" SEEDANCE_BASE_URL = "https://ark.cn-beijing.volces.com/api/v3" - Network accessline 32
OPENAI_BASE_URL = "https://api.openai.com/v1" - Network accessline 33
SEEDANCE_BASE_URL = "https://ark.cn-beijing.volces.com/api/v3" - Network accessline 34
MINIMAX_BASE_URL = "https://api.minimax.io/v1" - Network accessline 35
MINIMAX_VIDEO_BASE_URL = "https://api.minimax.io/v2" - Access to secretsline 460
[Credential-related source omitted] - Access to secretsline 466
[Credential-related source omitted] - Access to secretsline 467
[Credential-related source omitted] - Access to secretsline 636
[Credential-related source omitted] - Access to secretsline 650
[Credential-related source omitted] - Access to secretsline 651
[Credential-related source omitted] - Access to secretsline 890
[Credential-related source omitted] - Access to secretsline 902
[Credential-related source omitted] - Network accessline 919
) -> tuple[dict[str, Any], Mapping[str, str]]: data = None if body is None else json.dumps(body, ensure_ascii=False).encode("utf-8") request = urllib.request.Request(url, data=data, method=method) - Network accessline 920
data = None if body is None else json.dumps(body, ensure_ascii=False).encode("utf-8") request = urllib.request.Request(url, data=data, method=method) request.add_header("Authorization", f"Bearer {token}") - Network accessline 921
request = urllib.request.Request(url, data=data, method=method) - Network accessline 924
request.add_header("Content-Type", "application/json") try: with urllib.request.urlopen(request, timeout=180) as response: - Network accessline 925
try: with urllib.request.urlopen(request, timeout=180) as response: raw = response.read(MAX_JSON_RESPONSE + 1) - Network accessline 926
with urllib.request.urlopen(request, timeout=180) as response: - Network accessline 1198
size = 0 try: with urllib.request.urlopen(url, timeout=180) as response, path.open("xb") as handle: - Network accessline 1199
try: with urllib.request.urlopen(url, timeout=180) as response, path.open("xb") as handle: while chunk := response.read(1024 * 1024): - Network accessline 1200
with urllib.request.urlopen(url, timeout=180) as response, path.open("xb") as handle: - Access to secretsline 1269
[Credential-related source omitted] - Access to secretsline 1274
[Credential-related source omitted] - Access to secretsline 1313
[Credential-related source omitted] - Access to secretsline 1314
[Credential-related source omitted] - Access to secretsline 1365
[Credential-related source omitted] - Network accessline 1369
if references: encoded, content_type = _multipart(body, references) request = urllib.request.Request(f"{base}/images/edits", data=encoded, method="POST") - Network accessline 1370
encoded, content_type = _multipart(body, references) request = urllib.request.Request(f"{base}/images/edits", data=encoded, method="POST") request.add_header("Authorization", f"Bearer {token}") - Network accessline 1371
request = urllib.request.Request(f"{base}/images/edits", data=encoded, method="POST") - Network accessline 1373
request.add_header("Content-Type", content_type) try: with urllib.request.urlopen(request, timeout=300) as response: - Network accessline 1374
try: with urllib.request.urlopen(request, timeout=300) as response: raw = response.read(MAX_JSON_RESPONSE + 1) - Network accessline 1375
with urllib.request.urlopen(request, timeout=300) as response: - Possible obfuscationline 1425
content = base64.b64decode(image, validate=True) - Access to secretsline 1436
[Credential-related source omitted] - Access to secretsline 1474
[Credential-related source omitted] - Access to secretsline 1512
[Credential-related source omitted] - Access to secretsline 1517
[Credential-related source omitted] - Access to secretsline 1558
[Credential-related source omitted] - Access to secretsline 1560
[Credential-related source omitted]
skills/short-drama-produce/scripts/selftest.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama-video-prompts/references/minimax-h3.md
- Network accessline 313
- [Base 提示词指南](https://github.com/MiniMax-AI/MiniMax-H3/blob/main/skills/h3-prompt-writing/references/base-en.txt):对白位置、说话人、语速描述、切镜时间戳与跨镜发声。 - Network accessline 314
- [Full-reference 指南](https://github.com/MiniMax-AI/MiniMax-H3/blob/main/skills/h3-prompt-writing/references/ref-en.txt):六段结构、音频引用与复用语义。 - Network accessline 315
- [视频生成 API](https://platform.minimax.io/docs/api-reference/video-generation-v2-create):必填时长、型号差异和输入模式互斥。 - Network accessline 316
- [官方 CLI 的 H3 指南](https://github.com/MiniMax-AI/cli/blob/main/skill/h3-video/references/h3-video.md):音频配合视觉参考,声音对齐与生成后检查。 - Network accessline 317
- [Context-IR API](https://platform.minimax.io/docs/api-reference/video-generation-v2-h3-context-ir):提示词增强和独立的时长输入。
skills/short-drama-video-prompts/references/seedance-2.0.md
skills/short-drama-video-prompts/references/seedance-2.5.md
skills/short-drama-video-prompts/references/wan-3.0.md
- Network accessline 104
依据(2026-09-26 核对):[Wan 3.0 视频生成 API](https://help.aliyun.com/zh/model-studio/wan3-video-generation-api-reference): - Network accessline 105
输入模式与互斥、素材上限、时长、`prompt_extend`、编辑与延长; [Wan 3.0 视频生成指南](https://platform.qianwenai.com/docs/developer-guides/video-generation/wan30-video): 时间段写法、`说道` 对白、素材编号、编辑与延长关键词。 - Network accessline 106
[Wan 3.0 视频生成指南](https://platform.qianwenai.com/docs/developer-guides/video-generation/wan30-video):
skills/short-drama-write/scripts/duration_estimate.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama-write/scripts/screenplay_index.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 725
if combined != old_text: continue requests.append( - Network accessline 726
continue requests.append( { - Network accessline 727
requests.append( - Network accessline 760
if combined != new_text: continue requests.append( - Network accessline 761
continue requests.append( { - Network accessline 762
requests.append(
skills/short-drama-write/scripts/selftest.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama/assets/dashboard/app.js
- Executable scriptline 1
Executable file - Network accessline 758
async function api(path, options) { const requestPath = S.apiBase && path.startsWith("/api/") ? `${S.apiBase}${path}` : path; const response = await fetch(requestPath, options); - Network accessline 759
const requestPath = S.apiBase && path.startsWith("/api/") ? `${S.apiBase}${path}` : path; const response = await fetch(requestPath, options); let data; - Network accessline 760
const response = await fetch(requestPath, options); - Network accessline 777
[Credential-related source omitted] - Network accessline 778
[Credential-related source omitted] - Network accessline 779
[Credential-related source omitted]
skills/short-drama/scripts/creator_markdown_check.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama/scripts/creator_views.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama/scripts/dashboard_server.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 1286
[Credential-related source omitted] - Network accessline 1359
# Compare bytes, not str: `hmac.compare_digest` raises TypeError on a # str operand holding any codepoint above U+007F, and http.client - Network accessline 1360
# str operand holding any codepoint above U+007F, and http.client - Access to secretsline 1366
[Credential-related source omitted] - Access to secretsline 1646
[Credential-related source omitted] - Access to secretsline 2083
[Credential-related source omitted] - Access to secretsline 2095
[Credential-related source omitted]
skills/short-drama/scripts/project_tool.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/short-drama/scripts/selftest.py
- Executable scriptline 1
#!/usr/bin/env python3
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 3 facts
- Contacts api.openai.com, which SKILL.md, the README and the plugin manifest do not mentionshort-drama-produce/scripts/provider_adapters.py:32High confidence
- Contacts ark.cn-beijing.volces.com, which SKILL.md, the README and the plugin manifest do not mentionshort-drama-produce/scripts/provider_adapters.py:33High confidence
- Contacts api.minimax.io, which SKILL.md, the README and the plugin manifest do not mentionshort-drama-produce/scripts/provider_adapters.py:34High confidence
Signal confidence: 134 facts
- Executable script in code of a file that runsshort-drama-breakdown/scripts/breakdown_tool.py:1High confidence
- Executable script in code of a file that runsshort-drama-breakdown/scripts/selftest.py:1High confidence
- Executable script in code of a file that runsshort-drama-develop/scripts/episode_intake.py:1High confidence
- Executable script in code of a file that runsshort-drama-develop/scripts/selftest.py:1High confidence
- Network access in prose of documentationshort-drama-edit/assets/remotion/README.md:69Low confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/package.json:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/remotion.config.ts:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/Overlay.tsx:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/Root.tsx:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/Subtitles.tsx:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/font.ts:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/index.ts:1High confidence
- Executable script in a comment of a file that runsshort-drama-edit/assets/remotion/src/rules.mjs:1Low confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/schema.ts:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/screen/Card.tsx:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/screen/CornerChip.tsx:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/screen/ScreenText.tsx:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/screen/SystemPanel.tsx:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/screen/TaskPanel.tsx:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/screen/chrome.tsx:1High confidence
- Executable script in code of a file that runsshort-drama-edit/assets/remotion/src/screen/tokens.ts:1High confidence
- Executable script in code of a file that runsshort-drama-edit/scripts/edit_tool.py:1High confidence
- Executable script in code of a file that runsshort-drama-edit/scripts/selftest.py:1High confidence
- Executable script in code of a file that runsshort-drama-novel-analyze/scripts/novel_index.py:1High confidence
- Executable script in code of a file that runsshort-drama-novel-analyze/scripts/selftest.py:1High confidence
- Network access in prose of documentationshort-drama-produce/references/providers/gpt-image-2.md:9Low confidence
- Access to secrets in prose of documentationshort-drama-produce/references/providers/gpt-image-2.md:9Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/gpt-image-2.md:10Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/gpt-image-2.md:22Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/gpt-image-2.md:23Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/gpt-image-2.md:24Low confidence
- Access to secrets in prose of documentationshort-drama-produce/references/providers/minimax-h3-video.md:11Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/minimax-h3-video.md:23Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/minimax-h3-video.md:91Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/minimax-music.md:9Low confidence
- Access to secrets in prose of documentationshort-drama-produce/references/providers/minimax-music.md:9Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/minimax-music.md:10Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/minimax-music.md:25Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/minimax-speech.md:9Low confidence
- Access to secrets in prose of documentationshort-drama-produce/references/providers/minimax-speech.md:9Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/minimax-speech.md:10Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/minimax-speech.md:43Low confidence
- Access to secrets in prose of documentationshort-drama-produce/references/providers/seedance.md:11Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/seedance.md:17Low confidence
- Network access in prose of documentationshort-drama-produce/references/providers/seedance.md:70Low confidence
- Executable script in code of a file that runsshort-drama-produce/scripts/fixture_adapter.py:1High confidence
- Possible obfuscation in code of a file that runsshort-drama-produce/scripts/fixture_adapter.py:22High confidence
- Possible obfuscation in code of a file that runsshort-drama-produce/scripts/fixture_adapter.py:61High confidence
- Executable script in code of a file that runsshort-drama-produce/scripts/production_tool.py:1High confidence
- Access to secrets in code of a file that runsshort-drama-produce/scripts/production_tool.py:90High confidence
and 84 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Path CLAUDE.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md maintainers/skills/short-drama-knowhow/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md maintainers/skills/short-drama-knowhow/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md maintainers/skills/short-drama-knowhow/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md maintainers/skills/short-drama-knowhow/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/zenstory-ai-drama-skills/)