简介:这是一套基于 Claude Code 的网文改编漫剧剧本技能包,面向网络小说作者、动漫编剧和 AI 内容创作者,帮助将长篇网络小说一键自动改编为符合行业标准的漫剧剧本。技能内置五阶段全自动工作流:立项问答确定需求,世界观与人物规划搭建故事框架,三层记忆维护机制保障情节、角色与设定连贯,逐章创作把叙述文字转化为对话和场景,自检与定向返修负责修正逻辑漏洞和风格偏差。压缩包共 21 个文件,以 Markdown 文档为主,涵盖技能主体、设计文档、示例剧本及人物大纲等,另有 Shell 安装脚本、JSON 配置和 License 文件,整体仅 47KB,便于快速部署。目前已有 100 人学习下载。通过这套资料,既可理解 AI 辅助编剧的技术实现路径,也能直接安装使用,缩短网文到漫剧的改编周期,同时为网络文学与动漫产业的融合提供高效工具。
1. 网文改编漫剧剧本 Claude Code Skill:五阶段工作流把上百万字小说压成能直接拍的剧本
做漫剧改编的团队里,最耗人的往往不是画分镜,而是把一本动辄上百万字的网文拆成可拍的剧本文本。网文改编漫剧剧本 Claude Code Skill 这个五阶段全自动工作流,做的事情很直接:你把整本 TXT 丢进项目目录,它在 Claude Code 里按五个阶段跑完解析、筛选、分镜、改写和格式化,最终输出一集集标准漫剧剧本。它对单人创作者、小型动画工作室和批量做短篇漫剧试水的 MCN 团队最实用,省掉的是从零搭提示词、反复调输出格式的功夫。先说结论:这个工作流解决的不是“让 AI 生成灵感”,而是把“从小说到剧本”的转化变成可重复、可审计的流水线。
2. 五阶段工作流拆解:每个阶段改什么、为什么顺序不能乱
漫剧和网文的叙事密度完全不同。一章 5000 字的网文,在漫剧里可能只够演 30 秒。所以改编的核心动作不是“压缩”,而是“重建叙事结构”。这套工作流把重建过程拆成五个独立阶段:解析分集、主线筛选、场次分镜、对白改写、格式自检。顺序一旦乱,比如先改写对白再删冗余,就会出现删掉的段落里刚好带着关键对话的尴尬局面。下面逐个拆。
2.1 阶段一:网文解析与分集切片,先把大文本切成故事单元
一本完本网文动辄几 MB,直接整体塞给模型做长上下文,后面所有阶段都会受截断和注意力衰减影响。阶段一先做两件事:章节结构识别和按目标字数切片。
# 常见做法:先归一章节目录,再按目标字数切片 python split_novel.py --input novel.txt --output chunks/ --target-size 12000这个脚本做的事是把“第001章”“chapter 12”“番外”这类混杂的标题先归一化成统一的“第 N 章”,再按章节边界切片。为什么要按章节边界而不是按字数硬切?因为剧本改编需要保留章节的叙事完整性,硬切会把一个完整情节切成两半,后面阶段二筛主线时因果链就断了。
参数说明:--target-size 我一般设在 8000~16000 字。低于 8000,切片碎,后面每集的场景素材不够,模型容易靠脑补凑内容;高于 16000,单次处理超过稳定输出范围,阶段三的分镜质量会明显下降。切片后每个文件保留原章节号,这个编号是后面每集剧本的“素材溯源”,一定不能丢。
2.2 阶段二:主线筛选与情节冗余裁剪,先删后写
网文体量远大于一集剧本的容量。1 万字的原文段落,最终落到剧本里可能只有 300 字。这不是改写能解决的问题,而是删除决策问题。
阶段二先把切片后的原文拆成“情节事件”粒度,每个事件记录四个字段:触发者、冲突内容、结果、是否被后续章节引用。然后按两条规则做裁剪决策。
规则一,主线相关性:只保留与核心目标冲突有关的事件,日常逛街、重复打斗、冗长心理描写标为“可删”。规则二,因果必要性:如果删掉该事件会导致后面某个转折无法理解,就必须保留。这个规则比关键词权重可靠得多,关键词容易把伏笔段落误伤,因果检查不会。我一般让 skill 额外输出一个 cut_list 文件,里面标记“保留 / 可删 / 需合并”三种状态,可删区先归档不直接丢弃。模型裁剪有概率误伤,归档是你事后找回素材的后悔药,别省这一步。
2.3 阶段三:场次拆分与漫剧分镜语法,把小说叙事转成视觉语言
漫剧剧本和影视剧本最大的区别是节奏。漫剧靠画面快速推进,一集 3 到 5 分钟,镜头数要控制在 25 到 45 个,每个场景必须能被视觉化呈现。小说里一句“他内心挣扎了很久”,没法直接拍,得拆成一个低头沉默的特写加一个转身离开的远景。
阶段三要做的就是把小说事件改写成一串镜头单元,每个镜头固定五个字段:镜号、景别、运镜、画面描述、角色动作。这部分我建议在 SKILL.md 里直接写死模板示例,让模型照着填:
镜005 | 中景 | 固定转推 | 主角站在废墟前,握紧拳头 对白:主角:"这次我不会再退。" 时长:4 秒这种写法剪辑师拿到就能直接做 layout,不需要回原文重新理解。场景与场景之间用转场字段隔开:直接切、淡入淡出、闪回,三种足够用。阶段三先保留原文对白不压缩,口语化处理留到阶段四,避免分镜阶段信息过载。
2.4 阶段四:对白压缩与口语化改写,适配配音和字幕
网文对白有两个老毛病:书面化和解释性。书面化指人物说“我万万没想到事情竟会发展到这般田地”,配音念出来非常生硬。解释性指角色把心理活动直接说出来,这在漫剧里属于画面信息重复,观众听着累。
阶段四的改写规则有三条,写进 skill 的指令里。第一,一条对白配音最好不超过 30 到 35 字,超过就拆成两句或删掉冗余修饰;第二,内心独白和心理描写统一转成旁白轨,不进对白;第三,保留人物口癖和称呼习惯,比如某人一直自称“老子”,全文都不能变。这一阶段输出的是标准对白轨,每行标注角色名、语气提示(低声、嘶吼、迟疑)和对应镜号。语气提示对配音导演很重要,没有它,配音演员拿到本子还得自己揣摩情绪。
2.5 阶段五:格式转换与质量自检,输出能直接进下游的文件
前四个阶段处理内容,阶段五处理交付物。漫剧剧本的下游分工很明确:分镜师看镜头表,配音看对白本,后期看旁白和音效轨。输出格式必须稳定,不能这一集是 Markdown、下一集是 JSON。
阶段五做三件事。第一,把镜头序列套进统一模板,按集导出;第二,跑一遍自检规则,检查人物名单是否齐全、镜头数是否落在 25 到 45、单条对白是否超长、估算总时长是否在 3 到 5 分钟;第三,把校验不通过的项目单独标记。自检规则里最重要的一条是“每集最后一镜必须是钩子”——要么抛出新冲突,要么留下悬念画面,否则观众在 3 分钟结束时没有任何理由点下一集。这套自检逻辑也是后面人工验收时要重点复核的部分。
3. 把 Skill 装进 Claude Code:从 zip 到跑通五阶段全自动改编
很多人在网上看到 Claude Code 的 skill 推荐,下了一堆包却不知道装到哪里。这个 zip 解开后并不是双击运行的程序,而是一个要被放到指定目录、由 Claude Code 识别和加载的技能包。装好之后,整个五阶段工作流才会出现在会话里。
3.1 安装位置与目录结构,先确认 skill 被 Claude Code 看到
Claude Code 的 Skill 机制本质上是“一组能被模型按需加载的技能定义”。真正生效的是 zip 解压后的目录。常见做法有两个位置:全局技能目录和项目级技能目录。
# 解压到 Claude Code 的全局技能目录 mkdir -p ~/.claude/skills unzip 网文改编漫剧剧本_Claude_Code_Skill.zip -d ~/.claude/skills/ ls ~/.claude/skills/解压后的目录名以实际 zip 内部结构为准,我不在这里写死。目录里通常会有一个核心文件叫 SKILL.md,它由 YAML 格式的 frontmatter 和正文组成。frontmatter 里的 name 字段是技能唯一标识,description 字段描述技能适用场景。模型的加载逻辑靠读 description 判断“当前用户的请求是否匹配这个技能”,所以描述里必须写清楚触发场景,比如“将网络小说改编为标准漫剧剧本”“五阶段工作流”。
3.2 在会话里加载 Skill:对话自动匹配加显式指定
装好之后有两种触发方式。第一种是纯对话触发,在 Claude Code 会话里直接说“把这部小说改编成漫剧剧本”,模型判断请求匹配后会自动加载技能。第二种是显式路径触发,适合模型没识别出来的时候手动干预。
# 在项目目录启动 Claude Code 后执行 claude "运行 SKILL_MD 里的五阶段工作流:把 ./novel.txt 改编为漫剧剧本,输出到 ./drama_output"这里有个实际建议:第一次跑先别整本上。从小说里切一章出来丢进去试跑,确认输出的分镜字段、对白格式、文件命名是自己团队要的样子,再放整本。整本跑一次耗时不算短,中途发现格式不对再改参数,白跑一大轮,血泪经验。
3.3 跑通最小示例:看哪些日志和产物算成功
最小验证目标是一集完整的漫剧剧本。判断跑通的硬标准:输出目录里出现按“集”命名的剧本文件,里面包含镜号、景别、运镜、画面描述、对白、时长估算这些字段。
跑的过程中日志看什么?阶段一到二是脚本在处理,重点看切片数量和章节边界有没有报错;阶段三到五是模型生成,重点看每集镜头数和对白条数有没有落在预期范围。如果镜头数超过 45,说明分镜粒度太碎,需要在 skill 的指令里加上“每个镜头必须包含一个完整动作;同一场景内景别切换不超过三次”这类约束。如果镜头数少于 15,说明模型在偷懒,把多个动作合并进了一个镜头,这时候要检查是不是输入切片太短导致素材不足。第一次跑通之后别急着改参数,把产出的人工复核一遍,确认哪些问题是稳定复现的,再动 SKILL.md。
4. 标准漫剧剧本的字段与格式:让分镜、配音、后期各自取数的参数细节
工作流叫“标准漫剧剧本”,标准二字体现在字段稳定和单位统一上。剧本不是给人读完就完的文档,它是分镜、配音、后期三个工种的输入数据。字段不统一,下游拿到手还得二次加工,全自动就名不副实。
4.1 单集剧本的最小字段表
一集漫剧剧本建议至少包含下面这些字段,这也是后面格式校验的检查项:
| 字段 | 说明 | 示例 |
|---|---|---|
| 集号 | 第几集 | EP03 |
| 场号 | 同一集内的场景编号 | S02 |
| 镜号 | 全局镜头编号 | SHOT014 |
| 景别 | 远景/全景/中景/近景/特写 | 近景 |
| 运镜 | 固定/推/拉/摇/移/跟随 | 推 |
| 画面描述 | 角色在画面中的动作与环境 | 主角翻过窗台落地,尘土扬起 |
| 角色 | 当前镜头中出现的角色名 | 主角 |
| 对白/旁白 | 说话内容,旁白需标注 | 主角:“箱子就在下面。” |
| 音效 | 拟声或配乐提示,可空 | 玻璃碎裂声 |
| 预计时长 | 该镜头成片估算秒数 | 4 秒 |
字段拆分到这个粒度,分镜师能直接画 layout,配音演员能直接读对白,后期能按音效字段铺音轨。如果你发现某个 stage 输出缺字段,优先去 SKILL.md 里找模板定义,而不是在提示词里临时补一句“记得加上镜号”,临时补话的结果通常是这次加了下次又忘了。
4.2 景别、运镜与主观镜头的参数从哪来
这些参数不是模型拍脑袋编的,要跟情绪强度挂钩。对话冲突激烈时给近景和特写,让观众看清表情;环境交代和转场给远景或全景;追逐、奔跑这类动态场景用摇镜和移镜。静态对话如果连续三个镜头全是固定机位,成片会像幻灯片,此时应至少插入一个推镜或移镜增加动感。
主观镜头(POV)要少用。漫剧一集 3 到 5 分钟,主观镜头超过三四个容易让观众头晕。我一般会在 skill 指令里加“每集主观镜头不超过三个”,模型默认分镜时会给得很保守,不给这个上限它会随机使用,结果不可控。这类数值参数全部前移到 SKILL.md 里写死,而不是靠每次对话临时约束。
4.3 时长与字数估算:一集漫剧剧本的合理体量
中文配音正常语速大概每分钟 240 到 280 字,扣除动作戏和转场,一集 4 分钟的漫剧实际对白量在 700 到 900 字之间。按这个基准,可以用对白总字数反推成片时长:对白 800 字约等于 3 分钟台词量,加 40% 的动作和转场时间,总时长在 4 分半上下。
镜头时长分配有个常见规律:特写 2 到 3 秒,中景 3 到 5 秒,全景 4 到 7 秒。一集 35 个镜头,按这个区间估算总时长大约 120 到 160 秒,刚好卡在 3 分钟附近。如果再算上每集片头和钩子画面,整体就在可接受的范围内。阶段五的时长自检就是按这个公式反推的,如果产出的镜头数 35、对白却只有 200 字,那说明模型把大量动作信息删没了,要回阶段二检查事件表是不是漏了情节。
5. 避坑指南:五阶段全自动改编最容易翻车的 5 个环节
从 zip 装好的第一次试跑到批量改编整本小说,这个工作流远没有“一键”听起来那么乖。下面几条是跑过之后最容易踩的坑,按现象、原因、解决三步写清楚。
5.1 章节边界识别失败:分集后剧情对不上
现象:切片后的文件编号和实际剧情顺序错位,输出剧本里前一集还在城中,下一集突然跳到荒原,中间少了一大段关键发展。
原因:网文 TXT 的章节标题格式不统一。有的章节是“第001章”,有的是“第12节”,有的是“序章”“番外”“请假条”混在里面,解析脚本只认一种正则会漏掉边界,漏掉的那部分内容被并进了相邻切片。
解决:在阶段一加一个章节标题白名单,把“第N章”“第N节”“Chapter N”“序章”“番外”全部归一化为标准格式后再切片。切片完成后先做一轮边界复核,列出所有切片的首行原文,人工扫一眼确认没有把“请假条”当成正文章节。
5.2 输出格式漂移:同一批剧本一半有镜号一半没有
现象:第一批分集剧本字段齐全,跑到后面某集突然少了运镜字段,对白行也没了对齐,像是模型“写累了”开始摆烂。
原因:这是长任务里最常见的退化。模型在同一个会话里处理多集内容,上下文里的早前输出会污染后续生成,或者上下文长度逼近上限导致细节丢失。SKILL.md 里的模板约束不够硬,模型在长输出中途偏离了模板。
解决:把输出模板写成独立的 JSON Schema 文件或严格 Markdown 模板文件,让 SKILL.md 里的阶段五引用该文件,而不是在提示词里用文字描述格式。跑完所有批次后用脚本批量检查字段完整性,缺字段的文件标记出来重新跑阶段五,别手工补,补了这个下次还会丢。
5.3 长文本截断:后半本书被静默忽略
现象:整本小说喂进去,前面 20 集剧本质量正常,第 21 集开始内容明显变薄,到最后几集只有大纲没有分镜。
原因:输入文本超过模型单次处理上限后被静默截断,后半段原文根本没进入处理流程。这不是工作流 bug,是使用方式问题。整本上传时的切片逻辑没生效,或者切片后又被重新拼回了长上下文。
解决:坚持阶段一先切片,每片独立走完后续阶段。批量跑的时候写个外层脚本,循环读 chunks 目录逐个调用,而不是手动复制粘贴文本。跑完后对比切片总数和输出剧本数,数量对不上一定有不完全处理的切片,尽早定位。
5.4 因果链误伤:关键伏笔被当冗余删掉
现象:改编后的剧本情节跳脱,主角在第 8 集突然拿出一个前文没交代过的道具,或者某个反派的动机完全没有铺垫。
原因:阶段二的裁剪规则把铺垫和伏笔识别成了低相关性内容,因为它们在当前切片里没有直接冲突,却在后续章节被引用。裁掉后整条因果链断裂。
解决:在阶段二的事件表里加“被引用检查”,每个标记为“可删”的段落,去后续切片里搜索它的人物名和关键道具名,只要有二次出现就必须改判为“保留”。这套检查用脚本或模型都能做,但必须做一个,不能依赖模型自觉。裁剪只是归档,只有“保留”会进入阶段三。
5.5 人物设定漂移:同一角色在不同集里口癖和称呼不一致
现象:第一集里主角自称“我”,第三集里突然自称“老子”;第一集里配角叫主角“阿辰”,第五集里变成“辰哥”,配音配到一半还得回头改。
原因:分集独立处理时,每个切片进入模型的上下文里没有携带全局人物设定。模型每集都靠猜,猜几次就跑偏。
解决:在阶段一之前加一个半分钟的人物设定提取步骤,把全文的人物姓名、称呼、口癖、外貌特征抽成一张固定表,放进每个切片的后缀里作为固定上下文。这不算额外步骤,就算你跳过,阶段二筛选时也需要一个判断基准,不如一开始就固化下来。设定表要单独存成一个 JSON 文件,后续人工复核也方便。
6. 验证改编质量:用脚本抽检分镜密度、对白占比和每集钩子
全自动跑完不等于能直接进制作。交付之前抽检三个指标:分镜密度、对白占比、每集钩子。这三个指标能暴露大部分“模型产出的无效剧本”。
6.1 批量抽检剧本文件的计算脚本
import json, glob, sys def audit(path): data = json.load(open(path, encoding="utf-8")) shots = data.get("shots", []) duration = sum(s.get("duration", 3) for s in shots) dialogue = sum(len(s.get("dialogue", "")) for s in shots if s.get("dialogue")) desc = sum(len(s.get("description", "")) for s in shots) shots_per_minute = len(shots) / (duration / 60) dialogue_ratio = dialogue / (dialogue + desc + 1) return shots_per_minute, dialogue_ratio, len(shots) for p in sorted(glob.glob(sys.argv[1] + "/*.json")): spm, ratio, cnt = audit(p) flag = "OK" if 8 <= spm <= 14 and 0.25 <= ratio <= 0.55 else "CHECK" print(f"{p} 镜头数:{cnt} 每分钟镜头:{spm:.1f} 对白占比:{ratio:.2f} {flag}")逻辑说明:脚本按镜头总数和时长估算算出每分钟镜头数,8 到 14 是漫剧常见的节奏区间,低于 8 说明镜头拖太长,高于 14 说明画面碎到剪辑跟不上。对白占比派生的逻辑是:如果对白字数和画面描述字数比值过低,说明这集几乎全是画面,故事推进靠看不用听,观众很容易走神。这个脚本只做粗筛,标记 CHECK 的文件再人工打开看。
6.2 把剧本 JSON 转成分镜表草稿
import json data = json.load(open("EP03.json", encoding="utf-8")) rows = [] for shot in data["shots"]: rows.append(f"{shot['shot_id']} | {shot['shot_size']} | {shot['camera']} | " f"{shot['description']} | {shot.get('dialogue', '')} | {shot.get('duration', 3)}s") open("EP03_layout.md", "w", encoding="utf-8").write("\n".join(rows))这个脚本把剧本中每个镜头压成一行,输出成一个 Markdown 表格草稿。分镜师拿到它可以直接在纸上按行起稿,不用再去 JSON 原始文件里翻字段。这类小工具做到后面可以积累成模板,塞进同一个 skill 的 scripts 目录里,每集跑完自动生成一份。
6.3 人工复核的三个关键位置
脚本只能查结构,查不了内容。成片前人工至少要看三个位置:每集的最后一镜,确认它确实是个钩子,没有把悬念平铺直叙讲完;每个角色的第一次出场,确认名字、身份介绍完整;每次场景转换,确认转场标记和画面描述对应,不会出现画面还在室内、音效却是街道的情况。
我自己的习惯是每 5 集抽 1 集做全量人工通读,剩下的用脚本筛。跑这套工作流到现在,最深的体会是:它真正的价值是让“改”变得便宜,而不是让“写”变得免费。最值钱的不是模型第一次输出的剧本,而是你按自检规则把它打回重跑的迭代过程。希望这个五阶段思路和这些踩坑记录,能帮你在自己的漫剧产线上少走一段弯路。
本文还有配套的精品资源,点击获取