Skills

Novel Outline

把一本小说改编成短剧大纲五件套:改编说明、人物表、爽点表、分集梗概、资产清单, 产出 outline.json + Markdown + 单页评审报告(KPI...

Install

npx skills add eternityspring/shuohao-skills --skill novel-outline -g -a claude-code -y
Category
Engineering
Updated
10d ago
License
Apache-2.0
Context cost
Lightabout 1,037 tokens
Runs scripts
Yes, review before use

What it does

把一本小说改编成短剧大纲五件套:改编说明、人物表、爽点表、分集梗概、资产清单, 产出 outline.json + Markdown + 单页评审报告(KPI 带、关键决策、爽点时间轴、调度矩阵、场景概览、质量门)。 14 道质量门全部由脚本确定性检查(角色分档上限、主场景上限随集数动态、爽点间隔≤3集、每集钩子悬念必填……),不靠模型自觉; 支持体检模式:贴一份现成大纲进来,只跑质量门给诊断。 零依赖、零 API key,用当前会话额度。 Use when asked to 改编大纲、短剧大纲、拆大纲、小说转短剧、adaptation outline。

novel-outline

输入一本小说 + 目标参数,输出短剧改编大纲五件套。四件模型写、一件脚本算(资产清单从分集数据自动汇总)。

{baseDir} = 本文件所在目录。脚本 {baseDir}/scripts/novel-outline.mjs,零依赖,node 直接跑。

边界(不做的事):不写剧本台词、不做分镜、不出图像/TTS 提示词。梗概是叙述体,出现引号对白就是越界, , validate 会拦。想从小说拆角色设定(画像/形象提示词/设定图),那是 novel-characters 的活。


Step 0, 收参数 ⛔ 缺了不开工

一次问完,别轮流盘问。两件必问 + 两件给默认值待确认:

参数处理
总集数 × 单集时长必问,没有合理默认
题材必问,决定爽点类型,猜错整份废
改编幅度默认抽核(忠实 / 抽核 / 借壳),告知即可
已有偏好默认无(想保哪个角色、哪场戏)

平台阈值不同可以带上 params.thresholds 覆盖(默认:主角组 ≤ 5、重要配角 ≤ 10、功能性角色 ≤ 10、爽点间隔 ≤ 3 集)。主场景上限不用配,随集数自动算:4 + ⌈集数/10⌉,夹在 5, 15(60 集 → 10)。这是 AI 短剧的数, , 场景是生成的没有搭景钱,放宽换观赏性;显式给 maxPrimaryScenes 才覆盖。短篇(20, 30 集)建议收紧角色档的阈值,默认值是按 60 集以上给的。

人物表从原文拆, , 大纲是角色设定的上游,characters 块定下的分档、人物线与来源,下游 novel-characters 直接拿去当角色清单,不用再判断一遍谁重要。

例外是用户手上已经有 cast.json(此前单独跑过 novel-characters):那就拿来当人物原料,角色、别名、关系都是现成的,不用重拆原文。分档按 importance 反向映射:protagonist/major → lead,supporting → support,minor → functional。

Step 1, 定位输入

材料优先级,写死:

  1. 用户点名的精读章节
  2. 章节目录 + 简介
  3. 全文分卷摘要(Step 2)

禁止凭书名脑补内容, , 一切判断基于给到的文本。落地手段:adaptation.keep 的关键取舍要附 evidence(原文逐字片段)。

直接粘正文的先落成 .txt。输出目录:用户指定就用,没指定用原书同级目录。

Step 2, 分卷摘要(长文本才需要)

这一步是脚手架,不是交付物, , 分卷摘要是给没读过原文的模型压缩用的。两种情况直接跳到 Step 3:

  • 短篇,单卷装得下
  • 当前会话已经通读过原文, , 不用再压缩一遍,也不用事后补档

长篇且没读过原文:

node {baseDir}/scripts/novel-outline.mjs chunk <book.txt> <workdir>

按章节标题分卷(默认每卷 15 章,--per-volume 可调),识别不出章节就按字数切。打印 {"volumes": N, ...};truncated: true 就明确告诉用户尾部没扫到,别闷着。

每卷一个子代理(支持并发就同一条消息里全部发出):读 {baseDir}/references/volume-pass.md,读 <workdir>/vol-NN.txt,把卷摘要写到 <workdir>/summary-NN.json,只回一句「done NN」。

Step 3, 快版骨架 → 用户拍板 ⛔

读 {baseDir}/references/outline-pass.md 和 {baseDir}/references/schema.md,照着做。产出骨架四块(adaptation / characters / scenes / beats),写成 <workdir>/outline.json。

node {baseDir}/scripts/novel-outline.mjs validate <workdir>/outline.json --stage beats
Read the whole SKILL.md on GitHub

More in Engineering