
简介一套面向AI脚本创作与短剧改编的Claude Code Skill资源专门解决网络小说到标准漫剧剧本的自动化改编问题。包内定义了五阶段全自动工作流从小说解析、角色设定、故事大纲到分场剧本生成与质量检查均配套设计规范与可执行脚本过程产物包括characters.md、outline.md、analysis.md、qc_report.md等文件便于逐步复盘。资源共21个文件以14个Markdown文档为主涵盖工作流说明、设计规格、示例角色与大纲文件另有Shell安装脚本、JSON项目配置及LICENSE说明便于快速部署到Claude Code环境中试用。压缩包仅47KB结构精简且覆盖完整适合AI剧本创作者、漫剧制作人或希望用自动化流水线提升改编效率的开发者参考。已有53人学习下载可结合示例小说与项目配置直接理解全流程改造思路减少从零搭建工作流的成本。1. 为什么网文改编漫剧剧本值得做成五阶段全自动工作流一集漫剧剧本通常只有 10 来个镜头但要把一章 3000 字的网文转成它得先拆场景、转视觉语言、统一角色形象、重写对白最后再按标准格式落盘。直接把小说章节丢给大模型得到的往往是满屏叙述性台词和一批前后对不上脸的“纸片人”。网文改编漫剧剧本 Claude Code Skill 就是把这条链路固定成五阶段全自动工作流以 agent skill 的方式接入 Claude Code从一个 txt 章节直接产出可进入拍摄脚本的标准漫剧剧本。适合每天要出多集稿的职业编剧、批量改编 IP 的短剧工作室以及想低预算先验证剧情节奏的网文作者。2. 五阶段工作流的架构拆章、视觉化、锚点、重写、格式化很多人拿到这类 Skill 压缩包的第一反应是找 SKILL.md 里的提示词但决定产出稳定性的不是某一条提示写得多漂亮而是五阶段之间如何切分和传递中间产物。我的建议是先把这条工作流当成一条数据管线来理解每一阶段吃一个明确输入产出一个明确文件下一阶段只基于这个文件和小说原文做增量工作而不是让模型在同一个上下文里从头干到尾。2.1 第一阶段拆章与场景识别先把输入清干净网文章节天然是连续叙事但漫剧剧本的单位是“场”。第一阶段要做的不是按段落切文本而是按叙事事件边界把章节拆成若干场景同时抽取出地点、时间、在场角色、情绪基调。这样做的直接好处是后续每个场景的视觉化都在更短的上下文里完成模型不容易把第三章的伏笔信息错误带进第一场的画面描写。这一阶段通常会产出一个场景索引表常见做法是让 Skill 调用一个解析脚本把结果写成 JSON我习惯用类似下面的结构{ 集数: 1, 原著章节: 第001章, 场景: [ { 场景ID: S01, 地点: 青云宗后山, 时间: 清晨, 在场角色: [林小七, 师父], 情绪基调: 轻松带悬念, 叙事摘要: 林小七偷懒练功被师父撞见得知山下秘境即将开启, 原文起点: 第001章 第4段 } ] }这里“原文起点”字段很关键。后续阶段如果发现某个场景的信息量不够可以根据这个起点回原文补充细节而不是重新拆章。“情绪基调”则是给第二阶段的镜头设计提供一致性参照避免同一个场景前后情绪断裂。拆章阶段还有一个常被忽略的参数叫“最小场景字数”我一般设为 120 字。小于这个长度的碎片段落会被合并到相邻场景防止后期产出大量只有一两个镜头的零碎场次。2.2 第二阶段场景转镜头语言从“转述”到“拍什么”第二阶段是五阶段里最依赖模型能力的一步也是新手最容易误判的一步。很多人以为“视觉化”就是把小说的描述性文字改写成画面描写其实不对。漫剧剧本要的是“拍哪几个瞬间”一个场景 300 字的叙述落到剧本里可能只有 3 到 6 个镜头每个镜头都是一个具体的机位、景别和动作片段。这个阶段的关键输出是镜头列表我习惯用这样的中间格式{ 镜头ID: S01-M1, 景别: 全景, 时长: 3, 画面内容: 晨雾中的青石台林小七趴在石头上打哈欠, 人物状态: 慵懒, 台词: , 画外音: , 情绪: 平静, 转场: 切 }镜头时长我一般控制在 1.5 到 4 秒之间。全景负责交代空间和人物走位给 3 到 4 秒中景负责双人互动和动作流程给 2.5 到 3.5 秒近景和特写负责表情、细节和伏笔给 1.5 到 2.5 秒。这个时长分配能避免后期分镜脚本出现“全景 8 秒”这类没法用的卡。另外第二阶段要把网文里的抽象描写转成可拍摄的视觉信息。比如“她心里一阵慌乱”不能直接拍要转成“手指攥紧衣角、眼神闪避、语速加快”这类外部可见的动作。如果原文确实提供了关键心理信息就把它留给第四阶段处理成画外音而不是在画面描述里写“内心慌乱”四个字。2.3 第三阶段角色锚点一致性问题的唯一入口漫剧和长篇小说不同观众是盯着固定角色形象看的。同一个角色上一场还是“高马尾褐色瞳孔”下一场变成“披肩发黑瞳”整集就毁了。第三阶段的作用是建立并强制使用一份角色锚点表让所有场景共享同一套外貌、服装和性格设定。锚点表一般是这个结构{ 角色ID: R01, 姓名: 林小七, 代称: [小七, 七爷], 外貌锚点: { 发型: 高马尾, 特征: 右眉一道旧疤, 瞳孔: 棕色 }, 服装: { 上身: 灰蓝短打, 腰带: 褐色布带 }, 性格标签: [懒惰, 机敏], 说话习惯: 短句爱用反问 }角色 ID 和代称归一是这个阶段最容易被忽略的坑。网文里同一个角色可能交替出现“林小七”“小七”“七爷”“臭小子”等叫法如果模型没有一张代称表视觉化阶段很容易把不同代称当成不同角色或者把外貌特征张冠李戴。所以我会要求第三阶段先从原文抽一遍角色名单和代称再生成锚点表最后把锚点表注入到第二阶段的镜头列表里做一次“对表修正”。2.4 第四阶段对白重写把叙事密度压回口语网文对白和漫剧对白的最大区别是前者允许大段内心独白和书面化叙述后者必须让角色用口语把信息说出来。第四阶段要做的不是删减原文而是把叙事信息重新分配到台词、画外音和肢体反应三条通道里。举一个典型例子。原文写“林小七心里一沉暗自思忖这人怎么会知道自己的名字脸上却堆出一个笑来”直接保留到剧本里就成了一段无法表演的旁白。经过第四阶段重写后常见做法是改成镜头S02-M3 | 近景 | 2.5s 林小七笑容僵硬哟这位爷认识我 画外音林小七他怎么会知道我名字。一句内心独白被压成一句画外音心理活动变成表情和敷衍台词。这个阶段还需要控制画外音的密度我的经验是一场内不超过两句否则漫剧就变成了有声书配图。另外第四阶段通常内置一份“AI 味禁用清单”把“仿佛、不禁、眼底闪过、嘴角勾起、不由得、喃喃道”这类网文套话和 AI 生成痕迹明显的词拦在剧本外。对白单句我一般限制在 25 字以内连续两句以上必须插入形体动作避免出现长篇独白。2.5 第五阶段模板渲染与格式校验把稳定交付留到最后前四个阶段产出的是带结构的中间稿第五阶段负责把它们渲染成标准漫剧剧本格式并做一次硬校验。这个阶段单独存在不是为了排版而是为了防止模型在输出时自行发挥、把剧本写成散文。标准漫剧剧本模板一般长这样第001集 原著章节第001章 总场次3 | 总镜头9 【第1场 青云宗后山 清晨】 在场角色林小七、师父 镜头S01-M1 | 全景 | 3s 画面晨雾中的青石台林小七趴在石头上打哈欠。 林小七慵懒师父今天下山了没人管我。 音效鸟鸣风声 转场切第五阶段最后还会跑一个格式校验脚本检查三个硬指标每个镜头都带景别和时长、台词行不超过两个连续句、文件名与集数编号匹配。校验不通过就自动回退到对应阶段重新生成而不是把问题留给下游剪辑。3. 安装与配置把 Skill 装进 Claude Code 的三种方式和最小验证一套 Skill 的稳定性三分之一靠工作流设计三分之一靠提示词质量剩下三分之一取决于安装和运行环境。这一章说清楚 zip 包怎么放、SKILL.md 怎么被 Claude Code 识别以及长网文场景下应该怎么配置上下文。3.1 技能包的目录结构SKILL.md 是入口scripts 和 prompts 是左右手解压后你通常会看到这样的目录结构网文改编漫剧剧本_skill/ ├── SKILL.md ├── prompts/ │ ├── 01_拆章_场景识别.md │ ├── 02_视觉化_镜头拆分.md │ ├── 03_角色锚点_一致性.md │ ├── 04_对白重写_去AI味.md │ └── 05_剧本格式化.md ├── scripts/ │ ├── parse_scene.py │ ├── build_char_table.py │ └── validate_format.py ├── templates/ │ ├── 漫剧剧本模板.md │ └── 角色锚点模板.md └── examples/ └── 示例_第001集.mdSKILL.md 是这个技能包的“入口文件”Claude Code 通过它判断该技能什么时候该被调用。它的前置元数据一般定义技能名称、描述和适用的任务类型正文则描述五阶段的执行顺序和文件路径约定。prompts 目录里是每个阶段的详细指令模板scripts 目录是解析和校验用的 Python 脚本templates 是输出格式和锚点表的固定骨架。注意一件事不要让模型直接修改 prompts 目录里的模板。这五个文件是打包的一部分属于“不可变逻辑”。如果你在处理某个具体项目时想调整规则应该在项目目录下建一个custom_rules.md并在 SKILL.md 中引用它而不是改模板本身。3.2 claude code 安装与技能载入个人目录、项目目录和 VS Code 验证先保证 Claude Code 本体已经是新版本常见做法是通过 npm 全局安装npm install -g anthropic-ai/claude-code安装完成后确认版本号能正常打印再继续装技能。技能支持放在用户级目录或项目级目录二者区别在于作用范围# 用户级当前电脑上所有项目都能用 mkdir -p ~/.claude/skills unzip 网文改编漫剧剧本_skill.zip -d ~/.claude/skills/ # 项目级只对当前项目生效适合团队协作时随仓库一起管理 mkdir -p .claude/skills unzip 网文改编漫剧剧本_skill.zip -d .claude/skills/我个人建议把这类技能放在用户级目录因为漫剧改编是通用能力不需要绑定某个具体项目。如果团队里多个人协作再改用项目级目录并提交到 git 仓库。装完后的最小验证建议用一个最简单的提示词claude -p 请检查网文改编漫剧剧本技能是否可用只输出技能名称和五阶段流程名如果输出里能看到“拆章与场景识别 / 视觉化 / 角色锚点 / 对白重写 / 格式化”这五步说明 Claude Code 已经成功读取 SKILL.md。若没有识别先确认目录名没有拼写错误再看 SKILL.md 的前置元数据格式是否符合当前 Claude Code 版本的要求。在 VS Code 里使用也是当前很常见的路径安装 Claude Code 扩展后在扩展面板里登录同一个账号然后打开任意项目在聊天输入框中输入技能名或通过斜杠命令唤起技能。VS Code 的好处是能直接看到阶段产出的 JSON 和 Markdown 文件排查问题时比纯终端直观很多。3.3 长网文处理与模型选择不要一次喂一整本网文和短篇最大的区别是体量。一本几百万字的小说不可能一次性塞进上下文即便塞得进去质量也会急剧下降。合理的做法是“一章一集”每次只让技能读取一到三章原文按章产出单集剧本最后再单独做一集一集的衔接检查。衔接检查主要看三样东西上一集结尾的事件状态、角色锚点表是否延续、以及画外音里提到的前情提要是否和上一集一致。这些检查不适合在五阶段工作流里做我会在全部集数生成完毕后单独跑一次“前后集一致性审查”提示词把相邻两集的剧本首尾段落放在一起让模型比对。模型选择上这类文本创作任务对指令遵循能力要求较高。如果你的 Claude Code 配置的是第三方 API建议优先选指令跟随表现好、中文叙事能力强的模型而不是单纯追求推理速度。上下文窗口至少要有 64K否则一集 10 个镜头的剧本加中间 JSON 很容易在阶段流转时被截断。API 的 key 一般通过环境变量注入export ANTHROPIC_API_KEY你的API密钥 export CLAUDE_CODE_USE_BEDROCK0如果接入的是兼容 Anthropic 协议的第三方服务还要把base_url指到对应网关。常见的配置方式是在启动 Claude Code 前设置ANTHROPIC_BASE_URL环境变量或者在配置文件里声明模型路由。4. 跑通五阶段全自动工作流入口命令、关键参数与输出验收装好技能只是第一步真正让这套工作流产生价值的是“一键跑通”。这一章给出一条可直接复制的完整运行路径并拆解几个最值得调的参数。4.1 入口命令从一段提示词到完整剧本典型的最小运行命令是这样的cd ~/漫剧项目/dev mkdir -p input output cache claude \ --agent 网文改编漫剧剧本 \ --allowedTools Read Write Bash \ -p 读取 input/第001章.txt按五阶段全自动工作流改编为漫剧剧本第1集写入 output/第001集.md命令的前两行是准备工作先进入项目目录再建好 input、output、cache 三个目录。input 放原始小说章节output 放标准剧本cache 放阶段中间文件。--allowedTools限定技能只能读取文件、写文件和执行解析脚本不给它执行任意系统命令的权限避免模型在翻车时做出不可控操作。运行后你会看到类似下面的阶段日志[1/5] 拆章与场景识别 → cache/scene_table.json [2/5] 视觉化与镜头拆分 → cache/shot_list.json [3/5] 角色锚点一致性检查 → cache/anchor_table.json [4/5] 对白重写与画外音控制 → cache/draft_剧本.md [5/5] 格式化与校验 → output/第001集.md如果你使用的是交互式终端也可以在会话里直接输入“把 input 里的第 12 章改编成第 3 集剧本”Claude Code 会根据 SKILL.md 的描述自动唤起技能不需要每次手动指定--agent。4.2 关键参数怎么调每场镜头数、对白改写强度、画外音占比上限技能包的参数一般集中在 SKILL.md 的“可调参数”部分或单独的配置文件中。以下是我在项目里常用的一组参数表格里的数值是按漫剧单集时长 3 到 5 分钟估算的参数作用推荐值调整时机每场镜头数范围控制单场拆分粒度4–8 个/场动作戏多时上调到 6–10文戏下调到 3–5对白改写强度决定台词偏离原文的程度20–3 档偏忠实改编用 1角色魔改用 3画外音占比上限防止叙述声过多每场 2 句以内悬疑题材可放宽到 3 句最小场景字数拆分场景的粒度阈值120 字原著段落碎时上调到 200镜头时长范围单镜头的秒数区间1.5–4s慢节奏剧情拉到 2.5–5s以“每场镜头数范围”为例。默认 4 到 8 个镜头对大多数对话场景够用但如果原著是打斗密集的章节4 个镜头根本装不下攻防转换剧本会显得非常跳。这时把范围调到 6 到 10并同步缩短单个镜头的时长到 1.5 到 3 秒才能把动作拆开。相反如果改编的是暧昧文戏镜头太多反而破坏氛围建议收窄到 3 到 5 个每个镜头时长拉长到 3 秒以上。“对白改写强度”是控制“AI 味”的关键。强度 2 的意思是保留原文台词的语义和关键信息但句式和词汇必须口语化强度 1 则倾向于保留原文台词只删书面语连接词强度 3 适合原著台词本身写得比较干巴、需要角色重新组织语言的情况。不要一上来就拉满到 3否则角色会集体变成同一种嘴碎风格。4.3 输出验收一集剧本应该包含哪些文件一次完整运行后output 目录里不只有剧本正文还应该有一份角色锚点表和一份校验记录。标准产物长这样output/ ├── 第001集.md ├── 第001集_角色锚点表.md └── 第001集_校验记录.json拿到产出后先别急着看剧本内容我是先跑一遍校验脚本python3 scripts/validate_format.py output/第001集.md脚本会检查格式硬指标并返回结果。如果出现“镜头缺失景别”或“台词超长”这类问题脚本会指明具体行号方便单独回退到对应阶段修复而不是整集重新生成。验收时还要对照原著确认三件事剧情主事件是否全保留、角色出场顺序是否一致、删减的段落是不是真的可删。我通常让技能在剧本末尾附一个“删减明细”把每个被压缩的原文段落标注成“已删除/已合并/已转为画外音”这样编剧审稿时一眼就能看出哪些信息被处理掉了。5. 避坑五阶段工作流最容易翻车的 5 个问题与排查方法这套工作流跑顺以后效率很高但前提是你知道它会在哪里翻车。这一章写的是我实际使用中高频遇到的 5 类问题每条都按“现象 → 原因 → 解决”来拆。5.1 第一人称视角残留内心独白把画外音塞满现象输出剧本里画外音占比超过三成角色几乎不说话全靠旁白推进剧情。尤其是第一人称网文改编时整集看起来像在朗读小说。原因第二阶段视觉化时没有把“心理描写”转成外部动作第四阶段也没有限制画外音句数。模型默认认为保留独白是忠实于原著。解决在第二阶段提示词中明确要求“心理描写必须转为可见的肢体反应、表情或环境反应”第四阶段把画外音上限写成硬约束“每场不超过 2 句”。如果还压不住就在校验脚本里加一条规则统计每场画外音句数并直接标记为不通过。5.2 同一角色在不同镜头里换了三张脸现象第 1 场里女主是“长发及腰”第 4 场变成“高马尾”第 2 场男主右眉有疤第 5 场疤消失了。分镜图放到一起时角色辨识度极低。原因角色锚点表没有在第三阶段被强制注入到后续镜头。很多翻车案例其实是把锚点表生成在最后或者生成后没有回写修正之前的镜头描述。解决顺序上先跑build_char_table.py生成锚点表再用锚点表对第二阶段产出的镜头列表做一次整体修正。修正时要求每个镜头描述里必须引用“角色ID 锚点关键词”例如“R01 高马尾、右眉旧疤”而不是只写角色名。5.3 对白“AI 味”重读起来像书面语翻译现象角色台词变成“看来今日之事果然不简单”“莫非你已经察觉到了什么”这类风格。单句不超 25 字的限制被满足了但读起来就是不像人话。原因模型把书面语和口语的差别理解成了“长短句的差别”改写时保留了所有书面语连接词和倒装句。解决第四阶段加入一个朗读检测规则——所有台词必须能用口语读出来把“仿佛、不禁、眼底、嘴角、不由得、喃喃道”等词扫入禁用清单。更狠一点的做法是在校验脚本里做一个检测台词行里出现禁用词直接报错不返回剧本。5.4 分镜数量失控一场戏拆出 20 个镜头现象单场镜头数远超参数上限一个眼神变化被拆成四个特写。整体节奏碎了剪辑也没法处理。原因第二阶段对“镜头”的定义不清晰模型把动作的每个微小变化都当成一个新镜头。解决在视觉化提示词里明确镜头合并规则——同一角色在同一空间内的连续动作只要没有机位变化就合并为一个镜头只有“景别变化”或“场景变化”才允许新增镜头。参数表里的“每场镜头数范围”也要写进校验逻辑超范围时触发重新生成。5.5 格式污染剧本没法直接导入下游工具现象剧本正文里出现#、*、等 Markdown 标记或者“集标题”和“正文”之间混入额外缩进。下游拆台词、拆镜头时经常解析错位。原因模型在生成文本时习惯性地用 Markdown 做视觉层级分隔而第五阶段的模板渲染没有对这些符号做严格过滤。解决在格式化阶段增加清洗规则剧本正文内禁止出现#、*、、 等符号校验脚本同时检查每一行的起始字符。一旦发现非模板允许的标记回退到第五阶段重新渲染而不是手动删掉因为手动删一次下次还会再犯。6. 进阶人工校验清单与下游漫剧生图工作流的衔接最后一个环节说说从“剧本”到“可以拍摄”之间还差什么以及我自己的操作习惯。剧本通过校验脚本后我会按下表做一次 5 分钟人工抽检检查项通过标准失败时的处理每场情绪基调与 scene_table.json 一致回退第二阶段重出该场角色锚点引用每镜头带角色 ID 或锚点词回退第三阶段修正画外音句数每场不超过 2 句回退第四阶段压缩台词口语感朗读 3 遍不别扭手工改后记入“禁用词补充清单”格式纯净度无 Markdown 残留回退第五阶段重渲染人工校验的重点不是逐字读而是抽查“情绪连贯”和“角色一致”。我会把五阶段的 cache 目录保留到整部剧全部改完再清空因为一旦后续某集发现角色锚点表有遗漏还要靠 cache 里的历史文件追溯是哪一步丢的信息。往下游衔接时我通常把第 2 阶段的shot_list.json直接作为分镜描述导出再转成图片生成工作流的提示词。每个镜头的“画面内容 景别 时长 情绪”能自然拼接成一次生图调用的正向提示词角色锚点表则固化成固定前缀保证生成出来的是同一张脸。如果你在跑 ComfyUI 或其他图像生成工作流这一步可以做成一个很小的 JSON 转提示词脚本把每个镜头的负面提示词统一加上“多余肢体、变形手指、文字水印”等约束。这个技能真正值得投入的地方是它把“网文 → 剧本”这个原本要花两三个小时的重体力活压到了 10 分钟以内但前提是你要接受前几集必须人工盯。我的习惯是刚接一个新 IP 时前两部剧本每集都完整对齐一遍锚点表和禁词表确认没问题后再放开成批量跑。如果你只把 zip 解压后丢给 Claude Code 就不管大概率第二天收获一批格式漂亮、但没法直接拍的“AI 味成品”。希望这套落地路径能帮你少踩几个坑。本文还有配套的精品资源点击获取