丢一本小说,吐出 60 集短剧的全部制作素材——这个 5 段 AI 管线把"AI 写剧本"变真了
- 2026-10-07 18:53:13
让 AI 写短剧 = 给一段提示词然后等奇迹?
丢一本小说
吐出 60 集的全部制作素材
五段管线 · 1306 自测断言 · Claude Code / codex 双跑

shuohao-skills · v2.0.0

角色设定集 · 沈知微《渡口》
01
PART
它解决什么问题
PROBLEM
去年起「AI 短剧」这四个字刷了屏,但凡试过的人都知道:AI 真要写出来能直接投产的素材,远不是一句「帮我写一个短剧大纲」那么轻。
丢一本小说给 AI,得到的常常是:剧本像散文、镜头像脚本、提示词像愿望清单;聊了半小时,最后交付的是一串看起来像那么回事的 markdown。要进 AI 视频生成工具?该对齐的角色没对齐、该压的时长压不下来、该锁的镜头没锁。
shuohao-skills 想解决的就是这条从小说到分镜的「最后五公里」。它不是又一个 chat 套壳,是一组给 AI 编码 agent 用的 skill 集合,把「改编大纲、角色设定、美术设定、剧本、分镜」拆成五段工序,每段都跑出确定性的产物,每段都配几十道代码写的质量门。聊完等于做完。
02
PART
它是什么
WHAT IT IS
shuohao-skills 是 给 Claude Code 和 codex 用的 AI 短剧制作 skill 集合——丢一本小说进去,按五段管线跑,出来一份可以直接喂给 AI 视频生成工具的素材包。
钉子户三条:
工序分得开。五段顺序很清楚:novel-outline 收敛结构 → novel-characters + novel-art 同步做设定 → novel-script 按节拍写剧本 → novel-storyboard 只做输出不做新决定。
质量门是代码写的。checklist 交给模型自觉是靠不住的,14 / 10 / 10 / 10 / 18 道门全是脚本确定性检查,击穿用例明明白白摆着。
改了字段会撞门。分镜提示词里的切点时刻、台词逐字、引用对账——改一秒忘一处,validate 当场拦。

改造流水线总览
v2.0.0 五段统一升 2.0。License:Apache 2.0。语言:JavaScript(脚本只用 Node 标准库、没有 npm 依赖)。★ 3.8k,forks 516。
03
PART
看效果
SHOW CASE

短剧改编大纲报告 · 爽点节奏图
novel-outline 输出的改编大纲报告:60 集 × 2 分钟,36 个爽点排成一张时间轴,空档直接画在轴上——超过三集没落点,铁锈红标出来当场报,不是事后才发现节奏拖发。

角色设定集 · 沈知微《渡口》
novel-characters 的角色设定集。左边栏是搜索 + 角色列表,主区一次只看一个角色:人物半身像 + 全身三视图 + 细节条 + 两栏人物档案,右栏四张信息卡把关系、声音、画风、原文依据整理齐,出图提示词和 TTS 音色提示词各自独立可复制。

美术设定 · 渡船船舱 / 渡口栈桥
novel-art 出的场景设定。每个场景一张卡:主视角 + 底部 + 右侧细节条,一致性锚点、四五段光照与状态变体、出图提示词全在一页里,跨集复用方案自动汇总。

剧本 · 第 1-6 集时长仪表
novel-script 出的分集剧本。时长仪表里红线是 ±15% 目标区间——台词按 4.5 字/秒折算、动作按 2.5 秒/拍估时,写超写欠当场拦,不流到生成环节才发现。三栏齐全(钩子/悬念必填),叙述体出现对白就是越界。

分镜报告 · 节奏带 + 集分镜表 + 生成批次单
novel-storyboard 是流水线最末一站。节奏带把段号、分镜时长、节拍归属三者同步画出来——前两项由镜头秒数实时推导,第三项归口自剧本。每段 ≤ 15 秒、每切 2-5 秒是硬门,节奏糊不出来。生成批次单:自动汇总 + 同场段共用同一张环境参考图。
04
PART
5 招真本事
5 MOVES
工序分层与同步收敛
不是「按顺序串行」,是「大纲收敛结构,剧本、场景、角色三者同步迭代,分镜只做输出不做新决定」。一部 60 集短剧的角色设定和美术设定要同时回头看大纲修,剧本要同步跟角色和场景对得上——这就是为什么五段管线里有三段(剧本、场景、角色)必须互相约束而不是串行排列。分镜拿到手就是终稿,不能再改结构。
质量门全是代码
每一个 skill 的 README 顶上都写:checklist 交给模型自觉是靠不住的。novel-outline 14 道门、novel-characters 10 道、novel-art 10 道、novel-script 10 道、novel-storyboard 18 道。每一道都有「击穿用例」——证明它真的会拦,不是永远为真的假测试。提示词里的切点时刻改了忘改提示词、台词漏了一个字、引用里出现不存在的人物 ID,全当场报。
自带千项断言 + 不花模型额度
for f in skills/*/scripts/selftest.mjs; do node "$f"; done,outline 249、characters 337、art 151、script 154、storyboard 323,根目录组装器 92,1306 项断言全部 1 秒跑完。不调用模型、不花额度。改完脚本先跑一次比等 CI 省事多得。
五段报告合成一张单页
node scripts/report.mjs --from--out report.html,五段的报告可以合成一张单页,左侧导航切换——有哪几段就出哪几个面板。它是组装器不是第六个 skill,不 import 任何 skill 的代码,五个 skill 一行不改、各自仍然独立可跑、可以单独拷走。样式串味、脚本串味、图片路径三件事都在组装器里做,不犹入任何 skill。
软链安装 + git pull 即时生效
一行 ./scripts/install.sh 自动检测 Claude Code 还是 codex,把所有 skill 软链过去。git pull 之后立刻生效,不用重装。只想装某一个?./scripts/install.sh novel-characters。只想卸?./scripts/install.sh --uninstall。不想用脚本自己链:ln -s "$PWD/skills/novel-characters" ~/.codex/skills/novel-characters 一行完事。
05
PART
谁会用
WHO USES IT
角色 1 · 网文 / 短剧作者
痛点:一部小说怎么砍成 60 集短剧?砍哪条线、合哪两个人、爽点放第几集?
答案:丢给 novel-outline,14 道门兑底,砍了哪条、合了谁、爆点放哪——每条决策附原文逐字依据,不靠脑补。
角色 2 · AI 视频制作者
痛点:分镜提示词切点时刻老对不上号、角色脸一集崩一次、参考图不知道挂哪张。
答案:novel-storyboard 切点时刻由分镜秒数推导且逐字对账;novel-characters 和 novel-art 的设定图在分镜图生成步骤被消费,提示词按官方口径默认英文、台词 块逐字。
角色 3 · AI agent 玩家
痛点:想给 Claude Code / codex 加一个能跑的工具,但不想写豆 npm 依赖、不想跑 CI。
答案:skill 脚本只用 Node 标准库,没有 npm 依赖。每个 skill 自包含,SKILL.md + selftest.mjs 两个文件就够,加新 skill 之前 node selftest.mjs 跑一遍。
角色 4 · 短剧 MCN 团队
痛点:流水线不稳定,第一集做得好、第三集崩了。
答案:五段都有 validate 阶段门可以接 CI,每段都出 *-report.html,病灶没过的门在页眉徽章 + 横幅摆出来,不会流到下一段。
角色 5 · 小说改编工作室
痛点:80 万字塞不进上下文。
答案:outline 的 chunk 按章节标题分卷(默认 15 章),每卷并发出中间摘要再汇总;识别不出章节就按字数切;上限 60 卷,超了明确报 truncated,不静音截断。
角色 6 · AI 内容工厂主理人
痛点:想批量化,但出图 + 视频生成工具五花八门,提示词格式全不一样。
答案:v2.0 分镜同时支持 H3 和 Seedance 双协议,报告的提示词面板两个页签切换,export --protocol seedance 一键出 Seedance 投产包。
///
LAST
写在最后
WRAP UP
shuohao-skills 是那种「作者本人真的在做这件事」的开源项目——五段工序每段都配几十道质量门、改了字段会撞门、剧本超 15% 当场拦、台词漏字也过不去;1306 项断言 1 秒跑完不花额度。
如果你正在做 AI 短剧,或者手上有一本小说想砍成短剧脚本,先把仓库 clone 下来跑一遍 node skills/novel-outline/scripts/selftest.mjs——看一眼它真拦了什么,再决定要不要用它替换你现在的提示词工程。
👉 github.com/eternityspring/shuohao-skills
如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。