Not in the top 1,000 by GitHub stars
lixiaoxiao9888-create/short-drama-factory
🎬 Short-Drama Factory v4.9.1 · 抖音/红果爆款短剧工业化编剧超级系统 | 一句创意/一部网文 → 标准60-100集·长档30-50集·漫剧带付费墙剧本 | v4.9 强画面支撑+15秒换挡+大白话直给+剥壳仿写 | 40赛道全图+六母型钩子+五大断章+A~I反转轮换 | 情绪契约单元链·单矛盾≤30集闭环 | 动态按需挂载矩阵(8交互模式防Context爆炸)| 机检E1~E26+S1~S8 | 纯剧本层 · Industrial hit short-drama screenplay engine (60-100 eps, paywall built-in)
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
SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
33d9988f5b9d → 33d9988f5b9d
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 33d9988f5b9d
No earlier version was observed for comparison.
Heat
7.8- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
short-drama-factory
When your agent uses it
抖音/红果爆款短剧工业化编剧超级系统 v4.9.1。纯剧本引擎(全赛道公开通用版,不含制作衔接)。核心:动态按需挂载矩阵(8交互模式x仅挂载核心文件,防Context爆炸)、情绪契约单元链往返法、40赛道题材全图(男频12/女频14/中性14)、六母型钩子库(含核心底牌不可逆剥夺型)+五大断章公式、A~I九类反转手段轮换矩阵+冷热台账分层、三档篇幅(标准 90~120 秒/正文480~850字 / 长档 150~195 秒弹性/820~1400字 / 漫剧 60~90 秒/330~620字)、单集15秒换挡四拍推进表(抓人立事->正面交锋->亮牌翻转->余波钩子)、强画面支撑三大视觉锚点(每2~4句必插强视觉△,E24拦干聊断层/E26拦无效微动作)、大白话同轮直给与快慢变速铁律(物证+结论同轮挑明/设定词当句人话翻译,E25拦谜语黑话)、神似而非形似三层抽离仿写法(剥离外壳禁用词->提炼戏剧算式->跨维换皮)、时长换算锚点(目标语速4.5字/s写作+4.5字/s校验下限防虚标)、15秒窗口<=95字生产端校验、动作单段<=40字软约束、对白/动作黄金比25%~70%、前三集节拍卡、付费墙四变体、跨集连续性台账、网文改编流水线、人物圣经、戏剧工艺层、独白与旁白受控规程、神态短语规格(画面词|语气词)、评审与修复问题卡、保护性反例集、广电16号令合规红线11条、分档剧本机检(E1~E26)+全剧台账机检(S1~S8)。触发:写短剧/短剧大纲/立项/卡点/分集/写长档/剧本医生/精修/内心独白/旁白/画外音/极速短剧/合规审核/连写
What it loads into context
Frontmatter
610 tokensAlways available to the agent
SKILL.md
8,934 tokensWhen the skill is activated
Reference documents
71,301 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 档位(篇幅制式,先定档再动笔)
- 交互模式(显式触发指令,共 8 个)
- 唯一执行顺序
- 核心工作流要点(详细规则进对应 reference)
- 绝对红线(10 条)
- 文件索引
Scripts executed separately
scripts/validate_episode.pyscripts/validate_series.py
Files
.sosoclaw-market.jsonasset8,404 bytesCHANGELOG.mddoc14,039 bytesLICENSEasset1,108 bytesREADME.mddoc9,171 bytesSKILL.mdcore25,819 bytesSKILL.mdcore25,819 bytesassets/banner-v4.9.svgasset4,797 bytesassets/dianzhong.pngasset7,684 bytesassets/himadrama.pngasset162,361 bytesassets/omniboard.jpgasset31,905 bytesexamples/ep01-longwang-demo.mddoc4,416 bytesexamples/long-format-3min-demo.mddoc6,902 bytesreferences/character-bible.mddoc2,510 bytesreferences/cliffhanger-master-formulas.mddoc5,830 bytesreferences/conflict-modes.mddoc5,998 bytesreferences/continuity-ledger.mddoc6,356 bytesreferences/craft-quality-layer.mddoc15,438 bytesreferences/dialogue-doctor-anti-ai.mddoc8,788 bytesreferences/emotion-flow-roundtrip.mddoc11,187 bytesreferences/first-three-eps-beat-card.mddoc5,897 bytesreferences/genre-map.mddoc26,586 bytesreferences/golden-3s-hook-library.mddoc9,430 bytesreferences/hongguo-beat-sheet.mddoc14,645 bytesreferences/inner-monologue-vo.mddoc8,932 bytesreferences/mechanism-imitation.mddoc5,473 bytesreferences/protective-counterexamples.mddoc7,974 bytesreferences/screenplay-compliance-rules.mddoc9,453 bytesreferences/script-doctor-protocol.mddoc8,917 bytesreferences/skill-eval-protocol.mddoc4,781 bytesreferences/webnovel-adaptation.mddoc3,704 bytesscripts/validate_episode.pyruns67,298 bytesscripts/validate_series.pyruns14,514 bytestemplates/episode-format.mddoc12,730 bytestemplates/ledger.mddoc2,965 bytes
Read SKILL.md
# 抖音/红果爆款短剧工业化编剧超级系统 (Short-Drama Factory v4.9.1)
> **情绪契约单元链**:全剧锚定情绪契约而非单一矛盾 - 矛盾按单元跑(单矛盾硬帽 20~30 集必闭环),三缝合一换矛盾不断气,付费墙挂单元接缝。本引擎覆盖立项分流 -> 人物体系 -> 60/80/100 集大纲 -> 分集正文 -> 机器自检全链路。
>
> **v4.9(2026-10-22 · 实战观众反馈重铸升级 · 强画面 + 15秒换挡 + 大白话直给 + 剥壳仿写)**:针对真实观众核心痛点(「说的话想半天才能明白什么意思」「没有画面支撑」「节奏不对」)及对标仿写防撞车需求,完成五大工业级升级:
> 1. **台词七维补全「大白话同轮直给 + 快慢变速」**(`references/dialogue-doctor-anti-ai.md`):新增维度5「物证+大白话结论同轮直给」(废除只给物证不给结论的谜语人潜台词)、维度6「设定词与行业黑话当句人话翻译」(当句换算成多少钱/判几年/谁死谁活)、维度7「3~6字短促快刀句 + 8~16字直给算账句交替变速」,根治 AI 台词绕弯子与匀速念经感;
> 2. **强画面支撑「三大视觉锚点」**(`references/craft-quality-layer.md` §四·补):要求每 2~4 句对白必穿插 1 条强视觉 `△`(①物理结果与视觉奇观 / ②身份反差与手头忙活 / ③物证亮牌与肢体对抗),封杀“眼神微动/推了半寸”等镜头拍不出来的无效微动作;
> 3. **单集「15秒换挡」四拍推进表**(`references/hongguo-beat-sheet.md` §三·补):标准档单集按 `0~15s` 抓人立事 -> `15~45s` 正面交锋 -> `45~85s` 亮牌翻转(完成本集结算) -> `85~110s` 余波钩子四挡推进,严禁同集同场景原地踏步干聊;
> 4. **机制级仿写升级「剥壳留核·神似而非形似」三层抽离工程规程**(`references/mechanism-imitation.md`):建立《对标原剧外壳禁用词表》(剥壳) -> 提炼四维戏剧算式(留核) -> 换皮三连与四问防撞车自检,做到爽感算式一致而表面字词零重合;
> 5. **机检扩编 `E1~E23` -> `E1~E26` + 标杆样章校准**(`scripts/validate_episode.py`):新增 **E24 干聊断层检测**(连续纯对白 >6 行无 `△` 告警)、**E25 谜语黑话告警**(未翻译晦涩玄学/行话告警)、**E26 无效微动作告警**(`△` 仅含眼神微动/微微一怔等假动作告警);校准 `examples/ep01-longwang-demo.md` 与 `examples/long-format-3min-demo.md` 全量零告警通过。
>
> **v4.3 体量与语速重校(2026-09-28)**:实拍生视频实测 ≈ **15 秒 / 95 字**(6.33 字/s 触顶)。95 字/15 秒是「连续对白时的局部上限」、不是全片均值;全片对白时间占比宜 60~75%,其余留给动作/留白/转场 -> **参考语速 4.5 字/s**;**E16 按 4.5 字/s 比对、容差放宽到 ±20%**(动作拍权重:对话型 1.5s / 混合 2.5s / 行动型 4.0s);体量改为**宽参考带**(只抓极端):标准 480~850 / 长档 820~1400 / 漫剧 330~620(长档漫剧 660~1150);DLG_TARGET 参考中值 -> 90s:400 / 120s:540 / 150s:670 / 180s:800 / 195s:870。**密度原则:密度由戏定** - 防注水靠失衡阀 E19(连续对白<=95字)+ E21(对白占比<=70%)+ E24(连续对白<=6行),不靠堆字数。
>
> **v4.0 ~ v4.2 历次核心基线**:40 赛道全图(男频12/女频14/中性14)+ 六母型钩子库 + 五大断章公式 + 前三集节拍卡 + A~I 九类反转手段轮换矩阵(相邻 3 集禁复用,S8 机检)+ 冷热台账分层 + 动态按需挂载矩阵(8 交互模式懒加载)+ 冲突形态五型(仅②行动坚持型放宽机检)+ 广电16号令11条合规红线。View the complete source on GitHubSkills included
- short-drama-factory
Repository facts
- License
- MIT
- Created
- Aug 9, 2026
- Last pushed
- Oct 24, 2026
- Forks
- 78
- Open issues
- 0
- Project activity
- Active
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 1 note
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 42 network referencesin 4 files: scripts/validate_episode.py:301 README.md:3 .sosoclaw-market.json:28 and 1 more
- No hidden or obfuscated text
- No instruction overrides
- 2 executable scriptsin 2 files: scripts/validate_episode.py:1 scripts/validate_series.py:1
- No access to secrets
- No requests to vote in Hot
Show all 44 signals by file
.sosoclaw-market.json
- Network accessline 28
"previewText": "第【1】集:【龙王令·开局羞辱】\n【黄金前3秒钩子】:极端羞辱\n【情绪流变】:当众受辱 ➔ 隐忍握拳 ➔ 亮令反杀 ➔ 绝命断章\n【本集时长】:105 秒\n[场景]:内景·顶级私人会所·夜\n△ 特写:点燃的雪茄狠狠摁在林辰洗得发白的衣领上,青烟直冒,火星坠落。\n陈峰(吐出烟圈|嗤笑):跪下!把这杯脏水喝干净,十万块救命钱本少当场转给你。\n△ 特写:林辰低垂的眼眸骤抬,垂在身侧的右拳猛地握紧,指节泛白。\n林辰(字字如刀):传我龙王 - Network accessline 29
"previewLabel": "爆款短剧编剧引擎 v4.9 单集输出示例(强画面支撑·15秒换挡·大白话直给)", "logo": "https://prod-ylzapp-public.oss-cn-zhangjiakou.aliyuncs.com/frontend/cp-claw-client/images/icon_common_skill_logo.png", "installedAt": 1789300000000 - Network accessline 30
"logo": "https://prod-ylzapp-public.oss-cn-zhangjiakou.aliyuncs.com/frontend/cp-claw-client/images/icon_common_skill_logo.png",
README.md
- Network accessline 3
<p align="center"> <a href="#篇幅三档"><img src="https://img.shields.io/badge/version-v4.9-gold?style=for-the-badge" alt="version"></a> - Network accessline 4
<a href="#篇幅三档"><img src="https://img.shields.io/badge/version-v4.9-gold?style=for-the-badge" alt="version"></a> - Network accessline 5
<a href="#篇幅三档"><img src="https://img.shields.io/badge/%E7%AF%87%E5%B9%85-%E6%A0%87%E5%87%86%20%2F%20%E9%95%BF%E6%A1%A33%E5%88%86%E9%92%9F%20%2F%20%E6%BC%AB%E5%89%A7-ff69b4?style=for-the-badge" alt="lengths"></a> - Network accessline 6
<a href="#核心方法论"><img src="https://img.shields.io/badge/%E5%BC%95%E6%93%8E-%E6%83%85%E7%BB%AA%E5%A5%91%E7%BA%A6%E5%8D%95%E5%85%83%E9%93%BE-8a2be2?style=for-the-badge" alt="engine"></a> - Network accessline 7
<a href="#能力"><img src="https://img.shields.io/badge/%E8%83%BD%E5%8A%9B-12%E9%A1%B9-6f42c1?style=for-the-badge" alt="capabilities"></a> - Network accessline 8
<a href="#结构"><img src="https://img.shields.io/badge/%E6%9C%BA%E6%A3%80-E1~E26%20%2B%20S1~S8-2ea44f?style=for-the-badge" alt="validate"></a> - Network accessline 9
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue?style=for-the-badge" alt="license"></a> - Network accessline 25
| LOGO | 类型 | 赞助商名称 | 说明 | 网站 | | --- | --- | --- | --- | --- | | <img src="assets/omniboard.jpg" alt="OmniBoard" width="160"> | 企业 | OmniBoard | 字字动画旗下专业漫剧创作画布工具,从剧本到发行变现全链路一站式,新手可用 H3 模型五分钱一秒 | [omniboard.tv/register?ref=GITHUBADD7DZ](htt - Network accessline 26
| --- | --- | --- | --- | --- | | <img src="assets/omniboard.jpg" alt="OmniBoard" width="160"> | 企业 | OmniBoard | 字字动画旗下专业漫剧创作画布工具,从剧本到发行变现全链路一站式,新手可用 H3 模型五分钱一秒 | [omniboard.tv/register?ref=GITHUBADD7DZ](https://omniboard.tv/register?ref=G - Network accessline 27
| <img src="assets/omniboard.jpg" alt="OmniBoard" width="160"> | 企业 | OmniBoard | 字字动画旗下专业漫剧创作画布工具,从剧本到发行变现全链路一站式,新手可用 H3 模型五分钱一秒 | [omniboard.tv/register?ref=GITHUBADD7DZ](https://omniboard.tv/register?ref=GITHUBADD7DZ) | - Network accessline 28
| <img src="assets/himadrama.png" alt="浮瑞万相AI" width="160"> | 企业 | 浮瑞万相AI | 浮瑞万相AI旗下喜马抓马 AI 视听全链路综合服务平台,HimaStudio 多模态 AI 视听创作平台及线上 OPC 社区 · 深度适配漫剧老李 Skill | [himadrama.com](https://www.himadrama.com) | - Network accessline 29
| <img src="assets/dianzhong.png" alt="点众" width="160"> | 企业 | 点众 | 开放全 IP 库,超创与公司自制权限相同,可看到典藏版、爆款剧、精品剧的 IP | [点众开放 IP 库](https://vcnti1p0lovd.feishu.cn/wiki/VDIowZgiOiymKCkc1vnc7MjTnYe) |
assets/banner-v4.9.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="320" viewBox="0 0 1280 320" role="img" aria-label="Short-Drama Factory v4.9">
scripts/validate_episode.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 301
act_credit = 4.0 if mode == "行动型" else (2.5 if mode == "混合" else 1.5) fails, warns = [], [] nc = net_chars(text) - Network accessline 302
fails, warns = [], [] nc = net_chars(text) lo, hi = net_band(text, profile) - Network accessline 303
nc = net_chars(text) - Network accessline 304
lo, hi = net_band(text, profile) if nc < lo * 0.5: fails.append(f"E1 [{profile}] 正文体量 {nc} 过薄(参考带 {lo}~{hi};仅拦极端空稿)") - Network accessline 305
if nc < lo * 0.5: - Network accessline 306
fails.append(f"E1 [{profile}] 正文体量 {nc} 过薄(参考带 {lo}~{hi};仅拦极端空稿)") elif not (lo <= nc <= hi): warns.append(f"E1 正文体量 {nc} 超出参考带 {lo}~{hi}(体量为参考值:按【本集时长】或内容判断,不拦)") - Network accessline 307
elif not (lo <= nc <= hi): - Network accessline 628
nc = net_chars(text) - Network accessline 630
m = re.search(r"【本集断章卡点】\s*[::]?\s*(.*)", text) brk = len(_STRIP_RE.sub("", m.group(1))) if m else 0 if nc <= lo + NEAR_LO and brk < BRK_MIN: - Network accessline 631
brk = len(_STRIP_RE.sub("", m.group(1))) if m else 0 if nc <= lo + NEAR_LO and brk < BRK_MIN: notes.append("N14 体量 %d 贴近本档下限 %d、断章段仅 %d 字:疑为达标而压掉必要过程或断章过干。" - Network accessline 632
if nc <= lo + NEAR_LO and brk < BRK_MIN: - Network accessline 692
def self_test(): ok = 1 f, w, nc = validate(GOOD) - Network accessline 693
ok = 1 f, w, nc = validate(GOOD) if f: - Network accessline 694
f, w, nc = validate(GOOD) - Network accessline 695
if f: print("FAIL self-test: GOOD 样例不应 FAIL:", f); ok = 0 if nc < 100: - Network accessline 696
print("FAIL self-test: GOOD 样例不应 FAIL:", f); ok = 0 if nc < 100: print("FAIL self-test: GOOD 净字数异常", nc); ok = 0 - Network accessline 697
if nc < 100: - Network accessline 741
+ "△ 林辰反手拧腕,骨裂声起,铁棍滚落。\n" + "【本集断章卡点】:电话那头传来绝望哭嚎,陈峰双腿发抖。(黑屏:下滑解锁第2集)\n") f, w, nc = validate(long_good) - Network accessline 742
+ "【本集断章卡点】:电话那头传来绝望哭嚎,陈峰双腿发抖。(黑屏:下滑解锁第2集)\n") f, w, nc = validate(long_good) if f: - Network accessline 743
f, w, nc = validate(long_good) - Network accessline 744
if f: print("FAIL self-test: 长档样例不应 FAIL:", f, "体量", nc); ok = 0 if not (NET_LONG_MIN <= nc <= NET_LONG_MAX): - Network accessline 745
print("FAIL self-test: 长档样例不应 FAIL:", f, "体量", nc); ok = 0 if not (NET_LONG_MIN <= nc <= NET_LONG_MAX): print(f"FAIL self-test: 长档样例体量 {nc} 应在 {NET_LONG_MIN}~{NET_LONG_MAX}"); ok = 0 - Network accessline 746
if not (NET_LONG_MIN <= nc <= NET_LONG_MAX): - Network accessline 1102
prev_texts = [open(p, encoding="utf-8-sig").read() for p in prevs] profile = resolve_profile(text, profile) fails, warns, nc = validate(text, prev_texts, profile) - Network accessline 1103
profile = resolve_profile(text, profile) fails, warns, nc = validate(text, prev_texts, profile) notes = collect_notes(text, profile) - Network accessline 1104
fails, warns, nc = validate(text, prev_texts, profile)
scripts/validate_series.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.
Signal confidence: 40 facts
- Network access in prose of documentationREADME.md:3Low confidence
- Network access in prose of documentationREADME.md:4Low confidence
- Network access in prose of documentationREADME.md:5Low confidence
- Network access in prose of documentationREADME.md:6Low confidence
- Network access in prose of documentationREADME.md:7Low confidence
- Network access in prose of documentationREADME.md:8Low confidence
- Network access in prose of documentationREADME.md:9Low confidence
- Network access in prose of documentationREADME.md:25Low confidence
- Network access in prose of documentationREADME.md:26Low confidence
- Network access in prose of documentationREADME.md:27Low confidence
- Network access in prose of documentationREADME.md:28Low confidence
- Network access in prose of documentationREADME.md:29Low confidence
- Executable script in code of a file that runsscripts/validate_episode.py:1High confidence
- Network access in code of a file that runsscripts/validate_episode.py:301High confidence
- Network access in code of a file that runsscripts/validate_episode.py:302High confidence
- Network access in code of a file that runsscripts/validate_episode.py:303High confidence
- Network access in code of a file that runsscripts/validate_episode.py:304High confidence
- Network access in code of a file that runsscripts/validate_episode.py:305High confidence
- Network access in code of a file that runsscripts/validate_episode.py:306High confidence
- Network access in code of a file that runsscripts/validate_episode.py:307High confidence
- Network access in code of a file that runsscripts/validate_episode.py:628High confidence
- Network access in code of a file that runsscripts/validate_episode.py:630High confidence
- Network access in code of a file that runsscripts/validate_episode.py:631High confidence
- Network access in code of a file that runsscripts/validate_episode.py:632High confidence
- Network access in code of a file that runsscripts/validate_episode.py:692High confidence
- Network access in code of a file that runsscripts/validate_episode.py:693High confidence
- Network access in code of a file that runsscripts/validate_episode.py:694High confidence
- Network access in code of a file that runsscripts/validate_episode.py:695High confidence
- Network access in code of a file that runsscripts/validate_episode.py:696High confidence
- Network access in code of a file that runsscripts/validate_episode.py:697High confidence
- Network access in code of a file that runsscripts/validate_episode.py:741High confidence
- Network access in code of a file that runsscripts/validate_episode.py:742High confidence
- Network access in code of a file that runsscripts/validate_episode.py:743High confidence
- Network access in code of a file that runsscripts/validate_episode.py:744High confidence
- Network access in code of a file that runsscripts/validate_episode.py:745High confidence
- Network access in code of a file that runsscripts/validate_episode.py:746High confidence
- Network access in code of a file that runsscripts/validate_episode.py:1102High confidence
- Network access in code of a file that runsscripts/validate_episode.py:1103High confidence
- Network access in code of a file that runsscripts/validate_episode.py:1104High confidence
- Executable script in code of a file that runsscripts/validate_series.py:1High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md 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.