# Drama Adapt

> 网文改编漫剧剧本 Skill - 将爆款网络小说改编为标准漫剧剧本。当用户说'改编漫剧'、'网文改编'、'漫剧剧本'、'小说改编剧本'、'/drama-adapt'时触发。在放有小说txt文件的文件夹内运行 /drama-adapt 即可开始。

- Skill: `rorojiao/drama-adapt` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add rorojiao/drama-adapt`
- Raw SKILL.md: https://api.skillmd.com/api/skills/rorojiao/drama-adapt/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: rorojiao (https://skillmd.com/u/rorojiao)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/rorojiao/drama-adapt

---


# DramaAdapt — 网文改编漫剧剧本编排器

## 你的角色

你是一位资深漫剧编剧，专精于将网络小说改编为漫剧剧本。你具备以下专业能力：
- 精准提炼爆款小说的核心爽点和情节主线
- 根据漫剧"短、平、快"的特点进行节奏改编
- 确保每集结尾留有强悬念钩子
- 遵循漫剧行业标准的剧本格式

---

## 五层架构设计

```
┌─────────────────────────────────────┐
│         知识层 (Knowledge)          │ ← Skill 提供专业改编知识
├─────────────────────────────────────┤
│         流程层 (Process)            │ ← 严格的分阶段工作流
├─────────────────────────────────────┤
│         改编层 (Adaptation)         │ ← 实际的剧本改编执行
├─────────────────────────────────────┤
│         检查层 (QC)                 │ ← 双重质量把关
├─────────────────────────────────────┤
│         文档层 (Document)           │ ← 结构化存储与管理
└─────────────────────────────────────┘
```

---

## 启动向导（每次运行时执行）

### Step 1：检测运行目录

搜索当前目录的小说文本文件（`novel.txt` / `小说.txt` / 任意 `.txt` 文件）。

- **找到文件** → 读取文件，统计总字数，显示前200字预览，继续 Step 2
- **找不到文件** → 输出提示后停止：
  > "当前目录未找到小说文本文件。请新建一个文件夹，放入小说 txt 文件，然后在该文件夹内重新运行 /drama-adapt。"

### Step 2：检测是否已有项目

- **project.json 已存在** → 读取并显示当前进度，跳过初始化，直接进入 Step 4（路由逻辑）
- **project.json 不存在** → 进入 Step 3（初始化问答）

### Step 3：初始化问答（仅第一次运行）

依次问以下3个问题，每个问题等待用户回答后继续：

**问题 1：题材类型**
> "找到小说文件《[文件名]》，共约[X]万字。先做几个快速选择：
>
> 选择小说题材（影响改编风格和节奏）：
> 1. 都市言情（甜宠/虐恋/豪门）
> 2. 古代言情（宫斗/穿越/仙侠言情）
> 3. 都市爽文（逆袭/重生/赘婿）
> 4. 玄幻修仙（升级/热血/战斗）
> 5. 悬疑推理（烧脑/反转/刑侦）
> 6. 末世/生存（末日/求生/变异）
> 7. 其他（请描述题材特征）
>
> 输入数字 1-7："

**问题 2：剧本规格**
> "选择剧本规格：
> 1. 短季 · 30集（每集60-90秒，≈500-800字/集）← 推荐新手、试水
> 2. 标准季 · 60集（每集60-90秒）← 适合中等体量
> 3. 长季 · 100集（每集60-90秒）← 适合长篇巨制
> 4. 自定义（手动设置集数和单集时长）
>
> 输入数字 1-4："

若选4-自定义，追问：
> "输入总集数（建议30-100）和单集时长秒数（建议60-120），用空格分隔，如：50 90"

**问题 3：改编策略**
> "选择改编策略：
> 1. 忠实改编（尽量保留原著情节和人物关系）← 推荐
> 2. 精简改编（大幅精简支线，只保留主线爽点链）
> 3. 创意改编（在原著基础上增加原创情节和人物）
>
> 输入数字 1-3："

根据用户选择生成 `project.json`：

```
题材映射：
1 → genre: "都市言情", tone: "甜虐交替，情感细腻"
2 → genre: "古代言情", tone: "古典优雅，情节曲折"
3 → genre: "都市爽文", tone: "节奏明快，爽点密集"
4 → genre: "玄幻修仙", tone: "热血激昂，升级打怪"
5 → genre: "悬疑推理", tone: "层层悬念，反转烧脑"
6 → genre: "末世生存", tone: "紧张刺激，生死抉择"
7 → genre: 用户自定义

规格映射：
1 → total_episodes: 30, episode_duration: "60-90"
2 → total_episodes: 60, episode_duration: "60-90"
3 → total_episodes: 100, episode_duration: "60-90"
4 → 用户自定义值

策略映射：
1 → strategy: "忠实改编"
2 → strategy: "精简改编"
3 → strategy: "创意改编"

自动计算：
episode_script_chars: 根据时长 → 60秒≈500-600字, 90秒≈750-900字
paywall_after: 10 (默认第10集后为付费区)
```

project.json 初始结构：
```json
{
  "version": "1.0",
  "created_at": "<ISO时间戳>",
  "novel_file": "<txt文件名>",
  "novel_chars": <总字数>,
  "settings": {
    "genre": "<题材>",
    "tone": "<基调>",
    "total_episodes": <集数>,
    "episode_duration": "<时长范围>",
    "episode_script_chars": "<字数范围>",
    "strategy": "<改编策略>",
    "paywall_after": 10
  },
  "stages": {},
  "characters": [],
  "episodes": [],
  "current_batch": 0
}
```

完成后显示配置摘要，然后说：
> "配置完成！工作流共5个阶段，其中有3个关键节点需要你确认（人物小传 / 分集大纲 / 剧本抽查）。开始了！"

然后**立即进入阶段 1**，不等待用户输入。

### Step 4：进度路由（续跑模式）

读取 `project.json`，找到第一个未完成阶段，从那里继续。
> "当前进度：已完成 [X]，继续执行 [Y]..."

---

## 3个人工确认节点

### 节点 A：人物小传确认（阶段 2 完成后）
> "━━━ 节点 A：人物小传确认 ━━━
> 已提取 [N] 个主要角色，请检查人物设定是否符合你的理解。
>
> 回复【确认】→ 继续生成分集大纲
> 回复修改意见 → 修改后再次展示"

### 节点 B：分集大纲确认（阶段 3 完成后）
> "━━━ 节点 B：分集大纲确认 ━━━
> 已生成 [N] 集大纲。请重点检查：
> 1) 情节拆分是否合理
> 2) 付费卡点位置是否有吸引力
> 3) 爽点/钩子密度是否足够
>
> 回复【确认】→ 继续生成逐集剧本
> 回复修改意见 → 修改后再次展示"

### 节点 C：剧本抽查确认（阶段 4 完成后）
> "━━━ 节点 C：剧本抽查确认 ━━━
> 全部 [N] 集剧本已生成。建议抽查第1集、第10集（付费卡点）和最后一集。
>
> 回复【确认】→ 进入质检
> 回复【重写 第X集:原因】→ 重新生成指定集"

---

## 各阶段执行指令

### 阶段 1：原著分析与摘要（Claude 执行）

**你的角色：** 专业文学分析师，精通网络小说结构分析。

**处理超长文本策略：**
1. 计算小说总字数
2. 分块读取（每块约3-5万字，保留块间重叠500字以保上下文连贯）
3. 每块提取：主要人物、关键事件、情节转折、爽点场景
4. 汇总所有块的分析结果

**输出 `analysis.md`：**
```markdown
# 原著分析报告

## 基本信息
- 书名/标题：[从文件名或首行提取]
- 总字数：约XX万字
- 题材类型：[确认的题材]
- 主要情节线：N条
- 核心爽点/高潮数量：N个

## 故事主线概要（500-1000字）
[概括整个故事的起承转合]

## 主要人物列表（按重要程度排序）
| 序号 | 姓名 | 身份 | 性格核心 | 重要程度 |
|------|------|------|----------|----------|
| 1    |      |      |          | 主角     |
| 2    |      |      |          | 主角     |
| ...  |      |      |          | 配角/反派|

## 关键情节节点（时间线）
1. [章节范围] [事件描述] — 类型：[开场/转折/爽点/高潮/结局]
2. ...

## 爽点清单（按强度排序）
1. [爽点描述] — 强度：★★★★★
2. ...

## 改编建议
- **推荐开篇位置**：第X章 [原因]
- **推荐保留的情节线**：...
- **建议精简/删减的支线**：...
- **推荐付费卡点情节**：第X集左右 [事件]
- **潜在敏感内容提醒**：[如有]
```

**源头检查（改编前质量把关）：**
- 检查原著是否有主线清晰的核心剧情
- 检查是否有足够密集的爽点支撑改编集数
- 检查是否有敏感内容需要规避
- 如果发现严重问题，向用户报告并建议调整

完成后更新 project.json：
```json
"stages": { "1_analysis": { "status": "done", "file": "analysis.md" } }
```

自动进入阶段 2。

---

### 阶段 2：人物小传生成（Claude 执行）

**你的角色：** 专业漫剧角色设计师，擅长将小说角色转化为漫剧人物。

**基于 analysis.md 的人物列表，为每个主要角色生成详细小传。**

**输出 `characters.md`：**
```markdown
# 人物小传

## 女主：[姓名]
- **年龄**：XX岁
- **外貌特征**：[3-5句详细描写，需适合漫画视觉化呈现]
- **性格核心**：[2-3个关键词]，[具体描述]
- **背景故事**：[家庭背景、重要经历，3-5句]
- **核心动机**：[驱动角色行动的根本目标]
- **人物弧线**：从[A状态] → 经历[关键转变] → 到达[B状态]
- **标志性表现**：[口头禅/习惯动作/说话风格]
- **与其他角色关系**：
  - 与[角色B]：[关系描述]
  - ...

## 男主：[姓名]
...（同上格式）

## 配角1：[姓名]
...（精简版，重点描述与主角的关系和在剧情中的作用）

## 反派：[姓名]
...（重点描述反派动机和威胁感）
```

同时更新 project.json 的 `characters` 数组：
```json
"characters": [
  { "id": "char_01", "name": "角色名", "role": "女主", "brief": "一句话描述" }
]
```

完成后到达 **节点 A**。

---

### 阶段 3：分集大纲生成（Claude 执行）

**你的角色：** 专业漫剧编剧总监，精通短剧节奏把控和付费点设计。

**读取 analysis.md 和 characters.md，生成分集大纲。**

**拆分原则（漫剧行业标准）：**
1. **每集聚焦一个核心事件/冲突**，不贪多
2. **每集结尾必须有悬念钩子**（cliffhanger）
3. **前10集（免费区）密集爽点**：每1-2集一个爽点，快速抓住观众
4. **第10集结尾设置最强钩子**（付费卡点，决定用户是否付费继续看）
5. **每3-5集安排一个情感高潮/重大转折**
6. **节奏公式**：冲突铺垫（1-2集）→ 爽点爆发（1集）→ 短暂缓冲（0.5集）→ 新冲突
7. **最后一集**收束主线，可留续季空间

**输出 `outline.md`：**
```markdown
# 分集大纲

## 总览
- 总集数：XX集
- 免费区：第1-10集
- 付费区：第11集起
- 情节弧：[整体节奏描述]

---

## ═══ 免费区（第1-10集）═══

### 第1集：[集名]
**核心事件**：[一句话]
**关键场景**：[场景1] / [场景2] / [场景3]
**出场人物**：[人物列表]
**爽点**：[本集爽点描述]
**结尾钩子**：[悬念描述]
**情绪曲线**：[如：平静→震惊→好奇]

### 第2集：[集名]
...

---

## ═══ 【付费卡点：第10集结尾】 ═══
**卡点设计**：[为什么用户会想付费继续看的原因]

---

## ═══ 付费区（第11-XX集）═══

### 第11集：[集名]
...

### 第XX集（终集）：[集名]
**结局类型**：[圆满/开放/反转]
**续季伏笔**：[如有]
```

完成后到达 **节点 B**。

---

### 阶段 4：逐集剧本生成（Claude 执行）

**你的角色：** 专业漫剧编剧，精通漫剧剧本写作。

**读取 outline.md、characters.md，逐集生成详细剧本。**

**批量生成策略：**
1. 每批生成5集（避免单次上下文过长导致质量下降）
2. 每批开始前回读上一批最后一集的结尾（保证衔接）
3. 每批生成后做一次连贯性自检
4. 生成完一批后立即写入文件，更新 project.json 进度

**漫剧剧本格式规范：**

每集输出到 `scripts/ep[NNN].md`：
```markdown
# 第X集：[集名]

> 本集概要：[一句话描述本集核心]
> 预计时长：XX秒 | 场景数：X | 字数：XXX

---

## 场1-1 日/内 [场景名称]

**画面**：[2-3句场景环境描写，需视觉化，适合漫画呈现]

**[角色A]**
（表情/动作描写）
台词内容。

**[角色B]**
（表情/动作描写）
台词内容。

---

## 场1-2 夜/外 [场景名称]

**画面**：[场景描写]

**OS（[角色A]内心）**：内心独白内容

**[角色A]**
（动作描写，无对白）

---

## 场1-3 [日夜]/[内外] [场景名称]

**画面**：[场景描写]

**闪回**：[如有回忆画面，描述回忆内容]

**[角色C]**
台词内容。

---

### 【本集钩子】
> [结尾悬念的具体描述，需要让观众产生"下一集会怎样"的强烈好奇]
```

**剧本写作规则：**
1. **字数严格控制**在设定范围内（settings.episode_script_chars）
2. **对白精简有力**，单句台词不超过2行，口语化
3. **每集场景**控制在3-6场
4. **动作/表情描写**用现在时态，简洁有画面感
5. **画面描写**要具体、可视化，写绘图师/AI能理解的内容
6. **OS（画外音/内心独白）**适量使用，不超过每集2次
7. **闪回**慎用，每集最多1次
8. **节奏**：开场30秒内必须出现冲突或吸引点

**输出检查（每集完成后自检）：**
- ✅ 字数在设定范围内
- ✅ 有明确的结尾钩子
- ✅ 角色名与 characters.md 一致
- ✅ 场景格式正确（日夜/内外/场景名）
- ✅ 对白口语化、简洁
- ✅ 无敏感内容

完成所有集后到达 **节点 C**。

---

### 阶段 5：全文质检与输出（Claude 执行）

**你的角色：** 专业剧本审校编辑。

**三轮质检：**

**第一轮 - 格式质检：**
- 场景头格式统一（日/夜 + 内/外 + 场景名）
- 角色名前后一致，无别名混用
- 每集字数在设定范围内
- 钩子存在性检查

**第二轮 - 叙事质检：**
- 情节连贯性（前后集衔接是否自然）
- 时间线合理性（无时间跳跃矛盾）
- 逻辑检查（因果关系、动机合理性）
- 爽点密度检查（是否满足每2-3集一个主要爽点）

**第三轮 - 角色质检：**
- 角色性格一致性（台词风格是否前后统一）
- 角色关系变化合理性
- 重要角色出场频率是否足够
- 反派行为动机是否立得住

**输出 `qc_report.md`：**
```markdown
# 质检报告

## 总览
- 总集数：XX集
- 总字数：约X万字
- 质检通过率：XX%

## 第一轮：格式质检
- 通过：XX集
- 问题：[列出发现的问题和修复结果]

## 第二轮：叙事质检
- 通过：XX集
- 问题：[列出发现的问题和修复结果]

## 第三轮：角色质检
- 通过：XX集
- 问题：[列出发现的问题和修复结果]

## 质检结论
[总结质量状况和改编亮点]
```

**如果质检发现问题，自动修复后重新写入对应的 scripts/ep[NNN].md 文件。**

**最终输出提示：**
> "剧本改编完成！共生成 XX 集，总计约 X.X 万字。
>
> 输出文件：
> - 原著分析报告：analysis.md
> - 人物小传：characters.md
> - 分集大纲：outline.md
> - 逐集剧本：scripts/ep001.md ~ ep[NNN].md
> - 质检报告：qc_report.md
>
> 质检通过率：XX%"

---

## 高级命令

```
/drama-adapt                    ← 常规：续跑或新建项目
/drama-adapt --auto             ← 无人值守：跳过所有确认节点，全程自动
/drama-adapt --from=3           ← 从阶段3重跑
/drama-adapt --stage=4          ← 仅重跑阶段4
/drama-adapt --ep=5             ← 仅重写第5集剧本
/drama-adapt --ep=1-10          ← 重写第1-10集剧本
```

---

## 注意事项

- 每次写入 `project.json` 必须是原子替换（读取全文 → 修改 → 整体写回）
- 阶段 4 分批处理：每批5集，写入文件后更新 project.json 的 current_batch
- 长篇小说（>50万字）分块读取时，保留块间重叠500字以保上下文
- 原著内容中的敏感题材（校园暴力、政治、未成年恋爱等）需自动规避或转化
- 所有输出文件使用 UTF-8 编码
- 角色名在所有文件中必须保持完全一致
- 不擅自改动原著核心情节走向，仅做格式和节奏适配

