#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

Compare on GitHub

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.

Compare on GitHub

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 不只在二维画风之间挑。

Compare on GitHub

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.

Compare on GitHub

skills/short-drama-assets/SKILL.md

Week of Nov 2, 2026 · +1 / −1 lines

Before Instructions only → After Instructions only

33eb7fece523 → 862ae46f3651

- 46 - 已确认且持续限制动作空间的关系(身体依托、固定、负重、占位或与功能物件的接触)不是普通镜头姿势:可独立识别的物件仍建资产,关系写进状态并交给分镜逐镜投影;只有剧本明确改变时才结束。
+ 46 - 已确认且持续限制动作空间的关系(身体依托、固定、负重、占位或与功能物件的接触)不是普通镜头姿势:可独立识别的物件仍建资产,关系写进状态并交给分镜逐镜落实;只有剧本明确改变时才结束。

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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 - **已确定题材,需要该题材更常用的压力、具体场面细节、钩子取向与制作难点**:

Compare on GitHub

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.

Compare on GitHub

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 再剪一版的地方,写在末尾报告里交给创作者判断。

Compare on GitHub

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.

Compare on GitHub

skills/short-drama-image-prompts/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

33eb7fece523 → 862ae46f3651

Compare on GitHub

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.

Compare on GitHub

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`:按**爽点分布、当集戏剧结果与精确交接**切出的候选集,不按章号

Compare on GitHub

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.

Compare on GitHub

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 也必须保留这组语义或明确拒绝,不能只上传文件而暗中丢失控制边界。

Compare on GitHub

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.

Compare on GitHub

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)

Compare on GitHub

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.

Compare on GitHub

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 - 自动绑定只选本镜可见、且身份、造型、地理、关键道具状态或起始构图确实需要稳定的图,不要把所有图都塞进一镜;逐张写清它的用途、能控制什么、不得控制什么。

Compare on GitHub

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.

Compare on GitHub

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` 就按上文问创作者一次,已有就写明按哪种方式执行。

Compare on GitHub

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.

Compare on GitHub

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-漫剧靠声音往前推)。

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
3.9kGitHub stars
307stars in 7 days
13skills in this repository
75commits in 30 days

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

Aug 2, 2026Nov 7, 20263,900

Individual skills in this repository

How it works

short-drama-knowhow

When your agent uses it

维护者专用的短剧 know-how 学习、验证与生命周期治理。仅在维护者明确要求从其当前会话提供的授权只读文本源学习完整短剧项目链,并把私有观察逐步转成去标识、去复刻、经盲测与独立审查的公共 reference、rubric 或 synthetic fixture 候选时使用;不用于普通创作、公开运行时取数、媒体生成或粗略数据分析。

What it loads into context

Frontmatter

117 tokens

Always available to the agent

SKILL.md

2,097 tokens

When the skill is activated

Reference documents

7,541 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 开始前锁定边界
  2. 核心原则
  3. 工作流
  4. 按需读取

Files

  • SKILL.mdcore7,975 bytes
  • agents/openai.yamlasset381 bytes
  • references/blind-forward-eval.mddoc5,516 bytes
  • references/cards-and-coverage.mddoc10,978 bytes
  • references/promotion-ledger.mddoc3,220 bytes
  • references/prompt-production-learning.mddoc3,953 bytes
  • references/synthesis-and-promotion.mddoc5,696 bytes
Read SKILL.md

# 短剧 Know-how 学习

通过定性阅读,理解编剧、漫剧工作室与编导怎样把戏剧意图传递到可执行的文本制作规格,
再判断哪些知识可迁移。

## 开始前锁定边界

只在维护者主动调用本 skill,且当前会话已经提供授权的只读访问时读取非公开来源。
把连接细节、凭据、源名称和私有卡片留在维护者指定的隔离工作区;不得写入本 skill、
公开技能树、公共候选或评测夹具。没有授权或无法确认只读时停止来源读取,只能用合成材料演练流程。

本流程只研究文本及其版本关系。可读创意简报、故事结构、剧本、资产/连续性台账、图片提示词、
分镜/关键帧文字、视频提示词、审查与修订记录;不生成、渲染、下载或检查图像、音频或视频。
公开运行时永不连接非公开来源,也不承担任何媒体生成。
View the complete source on GitHub

Skills 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

  1. #339 on Nov 1
  2. #336 from Nov 2 to Nov 3
  3. #330 on Nov 4
  4. #327 on Nov 5
  5. #325 on Nov 6
  6. #324 since Nov 7
81 earlier periods
  1. #813 on Aug 2
  2. #776 on Aug 8
  3. #772 on Aug 9
  4. #781 on Aug 10
  5. #760 on Aug 11
  6. #745 on Aug 12
  7. #730 on Aug 13
  8. #709 on Aug 14
  9. #669 on Aug 15
  10. #679 on Aug 16
  11. #686 on Aug 17
  12. #690 on Aug 18
  13. #652 on Aug 19
  14. #645 on Aug 20
  15. #639 on Aug 21
  16. #584 on Aug 22
  17. #587 on Aug 23
  18. #568 on Aug 24
  19. #544 on Aug 25
  20. #515 on Aug 26
  21. #516 on Aug 27
  22. #510 on Aug 28
  23. #493 on Aug 29
  24. #474 on Aug 30
  25. #492 on Aug 31
  26. #488 on Sep 1
  27. #486 on Sep 2
  28. #483 on Sep 3
  29. #465 on Sep 4
  30. #464 on Sep 5
  31. #465 on Sep 6
  32. #461 on Sep 7
  33. #472 on Sep 8
  34. #457 on Sep 9
  35. #454 on Sep 10
  36. #448 on Sep 11
  37. #442 on Sep 12
  38. #436 on Sep 13
  39. #441 on Sep 14
  40. #435 from Sep 15 to Sep 16
  41. #424 on Sep 17
  42. #429 on Sep 18
  43. #418 on Sep 19
  44. #422 on Sep 20
  45. #419 on Sep 21
  46. #418 on Sep 22
  47. #408 on Sep 23
  48. #402 on Sep 24
  49. #400 on Sep 25
  50. #395 on Sep 26
  51. #399 on Sep 27
  52. #398 on Sep 28
  53. #404 on Sep 29
  54. #396 on Sep 30
  55. #394 on Oct 1
  56. #393 on Oct 2
  57. #384 on Oct 3
  58. #378 on Oct 4
  59. #385 on Oct 5
  60. #381 on Oct 6
  61. #382 on Oct 7
  62. #381 on Oct 8
  63. #387 on Oct 9
  64. #374 from Oct 10 to Oct 11
  65. #377 on Oct 12
  66. #373 on Oct 13
  67. #374 on Oct 14
  68. #367 on Oct 15
  69. #365 on Oct 16
  70. #355 on Oct 17
  71. #362 on Oct 18
  72. #359 on Oct 19
  73. #355 on Oct 20
  74. #350 on Oct 21
  75. #344 on Oct 22
  76. #342 on Oct 23
  77. #337 on Oct 24
  78. #342 on Oct 25
  79. #341 on Oct 28
  80. #343 on Oct 29
  81. #340 from Oct 30 to Oct 31

Before you install

Network or broad shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-breakdown/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-breakdown/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-breakdown/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-breakdown/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-develop/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-develop/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-novel-analyze/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-novel-analyze/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-novel-analyze/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-novel-analyze/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-novel-analyze/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/short-drama-novel-analyze/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

  • Access to secretsline 11
    [Credential-related source omitted]
  • Network accessline 23
    - `MINIMAX_VIDEO_BASE_URL` (default `https://api.minimax.io/v2`)
  • Network accessline 91
    Protocol reference: [MiniMax video generation API](https://platform.minimax.io/docs/api-reference/video-generation-v2-create).

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

  • Access to secretsline 11
    [Credential-related source omitted]
  • Network accessline 17
    - `SEEDANCE_BASE_URL` (default `https://ark.cn-beijing.volces.com/api/v3`)
  • Network accessline 70
    Protocol reference: [Volcengine video generation API](https://www.volcengine.com/docs/82379/1520757).

skills/short-drama-produce/scripts/fixture_adapter.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Possible obfuscationline 22
    PNG = base64.b64decode(
  • Possible obfuscationline 61
    path.write_bytes(b"\x00\x00\x00\x18ftypisom" + b"\x00" * 24)

skills/short-drama-produce/scripts/production_tool.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 90
    [Credential-related source omitted]
  • Access to secretsline 91
    [Credential-related source omitted]

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

  • Network accessline 88
    依据(2026-09-07 核对;三种起点互斥、素材上限与正文长度建议 2026-10-20 核对):[视频生成 API](https://docs.volcengine.com/docs/82379/1520757)、
  • Network accessline 89
    [Seedance 2.5 指南中的 2.0/2.5 时间控制差异](https://docs.volcengine.com/docs/82379/2607689)。

skills/short-drama-video-prompts/references/seedance-2.5.md

  • Network accessline 157
    依据(2026-09-07 核对):[视频生成 API](https://docs.volcengine.com/docs/82379/1520757)、
  • Network accessline 158
    [Seedance 2.5 提示词指南](https://docs.volcengine.com/docs/82379/2607689)。

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
Signal confidence: 134 facts

and 84 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativePath CLAUDE.md.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md maintainers/skills/short-drama-knowhow/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md maintainers/skills/short-drama-knowhow/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md maintainers/skills/short-drama-knowhow/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.

zenstory-ai/drama-skills: #324 on hotskills, 3.9k stars

[![zenstory-ai/drama-skills on hotskills](https://hotskills.dev/badge/zenstory-ai-drama-skills.svg)](https://hotskills.dev/skill/zenstory-ai-drama-skills/)