Skill: linhongbijkm-dot/drama-script (version 1.1.0)

--- name: drama-script description: 短剧剧本创作技能。多代理流水线从创意到完整短剧剧本（立项→人物小传→故事概要→逐集概要→逐集剧本），支持子代理/主代理直出双模式、断点续跑与修改。当用户需要创建、修改或续跑短剧项目时使用。 --- # 短剧项目生成 — 主代理手册 > 多代理流水线，从用户想法到完整短剧项目文件。 **目录** - [1. 项目结构](#1-项目结构) - [2. 启动与模式](#2-启动与模式) - [3. 运行时规则](#3-运行时规则) - [4. 流水线](#4-流水线) - [5. 约束与红线](#5-约束与红线) - [6. 断点续跑](#6-断点续跑) --- ## 1. 项目结构 ``` {workspace}/ ├── 创意草稿_{剧名}.md └── {剧名}/ ├── 创意原点.md ├── 基础信息.md ├── 世界观与运行规则.md ├── 人物小传.md ├── 故事概要.md ├── 逐集概要/EP_{起始}-{结束}.md └── 剧本/EP_{X}.md ``` - `{workspace}` = 运行时工作目录（通常为 OpenClaw workspace），所有路径使用绝对路径，由运行时环境自动提供 - `创意草稿` 存于 workspace 根目录，立项期间实时记录用户确认内容，创意原点保存成功后删除 --- ## 2. 启动与模式 ### 2.1 项目扫描 扫描 `{workspace}/`，查找子文件夹（包含 `创意原点.md`）和 `创意草稿_*.md` 文件。 | 检测结果 | 行为 | |:--------:|------| | 无项目文件夹，无创意草稿 | 进入立项 | | 有项目文件夹 | 列出所有项目，让用户选择继续、恢复或新建 | | 无项目文件夹，有创意草稿 | 读取草稿恢复上下文，提示用户有未完成的立项，可继续或废弃 | ### 2.2 模式检测 检查当前环境是否支持子代理委派（子代理创建工具可用）。 - 支持 → **子代理模式**，直接进入立项，无需用户确认 - 不支持 → 提示用户子代理不可用，询问是否使用**主代理直出模式**，并提醒：10集以上的项目在直出模式下存在上下文溢出风险 - **用户明确确认后**才能以主代理直出模式启动项目 - 用户未确认或拒绝 → 停止，等待用户指示 模式确定后贯穿整个项目，不可中途切换。 ### 2.3 模式定义 **子代理模式** — 主代理是调度者，所有内容生成委派子代理完成，主代理不直接编辑项目文件。立项除外，由主代理直接执行，但必须先完整读取立项手册再开始。 **主代理直出模式** — 主代理兼任生成者。自行读取对应子代理手册执行生成。所有「委派子代理」操作改为「主代理自行执行」。 后文用以下标记区分适用范围： - `子代理模式` — 仅子代理模式下执行，主代理直出模式跳过 - `直出模式` — 仅主代理直出模式下执行，子代理模式跳过 - 无标记 — 两种模式通用 --- ## 3. 子代理模式规则 ### 3.1 即时响应 主代理必须保持对用户消息的即时响应，不得因子代理在跑而静默不回。 ### 3.1.1 文件发送（强制） 每个环节生成完成后，**必须发送文件给用户审核**。 - 未发送文件 → 不得进入下一环节 - 用户未回复「通过」或等效确认 → 不得进入下一环节 - 违反本规则属于执行失误，须在用户指出后立即补发 - 用户发消息 → 立即回复，无论子代理是否在执行 - 用户问进度 → 立刻报告当前环节、批次、状态（生成中 / 已完成） ### 3.2 紧急中断 用户发出中断指令（「停」「停止」「停工」「等等」「先别」「暂停」等）时： 1. 中止子代理 — 使用子代理管理工具终止正在执行的子代理，已完成的产出保留不删 2. 暂停后续调度 — 流水线中所有排队任务暂停 3. 确认用户意图 — 等待明确指示后再决定是重新生成、修改参数、还是继续原流程 > 用户喊停即停，不预判、不自行决策。 ### 3.3 超时处理 使用流水线环节定义中的超时值作为子代理任务的超时参数。 - **有报错/异常**（网络或系统故障）→ 立即重新委派，不计入重试次数 - **静默超时**（无报错）→ 按原超时时间重试，最多 2 次；2 次仍超时 → 停止，通知用户该环节执行异常 - 超时重试期间，主代理必须继续响应用户消息（见 3.1） --- ## 4. 流水线 ### 4.1 环节总览 路径前缀 `{ref}` = 本技能目录下的 `references` 文件夹，`{proj}` = `{workspace}/{剧名}`。 #### 4.1.1 立项 **仅在新建项目时触发。** 主代理全程直接执行，禁止委派子代理。进入立项前，主代理必须先完整读取立项手册（`{ref}/master-setup.md`），理解全部流程和规则后再开始执行，禁止未读完手册就自行设计提问或流程。 #### 4.1.2 人物小传 合并了原人物规划的逻辑，直接从创意原点产出含人物架构的小传。 - 超时：600s | 粒度：整体 - 代理手册：`{ref}/agents/agent-character-profile.md` - 必读：`{proj}/创意原点.md` #### 4.1.3 故事概要 - 超时：360s | 粒度：整体 - 代理手册：`{ref}/agents/agent-story-bible.md` - 必读：`{proj}/创意原点.md`、`{proj}/人物小传.md` #### 4.1.4 逐集概要 批量串行，每批 10 集（批次数 = `ceil(总集数 / 10)`，总集数读自 `基础信息.md`）。 合并了原人物小传补充，每批输出除逐集概要外还追加过场人物，追加在批文件末尾。 - 超时：1500s | 粒度：每批 - 代理手册：`{ref}/agents/agent-episode-outline.md` - 必读：`{proj}/故事概要.md`、`{proj}/人物小传.md`、`{proj}/逐集概要/EP_{上一批起始}-{上一批结束}.md`（第 2 批起，上一批含人物补充信息） #### 4.1.5 剧本 逐集串行。合并了原分镜脚本，剧本文件中包含分镜表格。 - 超时：1500s | 粒度：每集 - 代理手册：`{ref}/agents/agent-screenplay.md` - 必读：`{proj}/逐集概要/EP_{所属批次起始}-{所属批次结束}.md`、`{proj}/世界观与运行规则.md`、`{proj}/人物小传.md` ### 4.2 执行流程 对每个环节（步骤 2~5），按以下流程执行： **生成 → 发送 → 用户裁决 → （修改 / 重新生成 / 通过）** 子代理在生成过程中自行完成自检（按代理手册「自检」章节），自检通过后才交付给主代理。 #### 4.2.1 生成 按环节定义的「必读」委派生成代理（子代理模式）或主代理自行执行（直出模式），保存到对应路径。 生成代理在产出完成后会按手册自检，命中致命问题则自行修改后再交付。 #### 4.2.2 发送 **发送时机**： | 步骤 | 环节 | 产出 | 时机 | |:---:|------|------|------| | 1~3 | 立项/人物小传/故事概要 | 单文件 | 生成完成后**立即发送** | | 4 | 逐集概要 | 多文件 | **全部批次**完成后打包压缩发送 | | 5 | 剧本 | 多文件 | **全部集数**完成后打包压缩发送 | - 步骤 4~5 中间批次/集数完成时，**仅记录进度，不发送，不通知用户审核** **发送方式**（按当前渠道自动适配）： - 支持附件的渠道 → 以当前渠道支持的文件发送方式交付（如附件标签、文件上传等） - 仅文本的渠道 → 将文件内容以代码块形式粘贴到消息中，并在开头标注文件名 **路径输出**（强制）：每次发送文件时，必须同时输出该文件的**完整项目绝对路径**，让用户知道文件存在哪里。 **禁止行为**： - 禁止生成完成后不发送文件就自动进入下一环节 - 禁止只口头告知用户"文件已生成"而不实际发送文件 - 禁止多文件环节在中间批次/集数完成时发送文件 - **必须等用户裁决后才能继续下一环节** #### 4.2.3 用户裁决 - 审核通过 → 环节结束，进入下一环节 - 要求修改 → 按下方修改规则执行，改完重新发送 - 重新生成 → 从头执行本环节的生成 #### 4.2.4 修改规则 主代理基于会话中的已有上下文（已发送的文件内容、用户意见）评估，不需要额外读取项目文件。 用户意见是确认类的（"这段什么意思"）→ 解释说明，不触发修改；用户明确要求改动 → 按以下流程处理： 1. **确定修改范围**：用户指定了明确范围 → 从指定节点开始；用户给出笼统意见（"整体节奏太慢""人物不够立体"）→ 主代理评估后给出建议修改范围，让用户确认后再执行 2. **执行修改**：单文件环节直接修改该文件；批量串行环节从确定范围的批次开始修改；逐集串行环节从确定范围的集数开始修改 3. **联动判断**：改了人物设定/关系/性格/动机、剧情走向/事件结果/关键转折、世界观规则/设定边界 → 联动后续所有批次/集；只改了措辞/描写细节/对话润色、格式/结构/规范问题 → 不联动 每修改一个批次/集，修改代理自行完成自检后再交付。 ### 4.3 委派规范 #### 4.3.1 子代理铁律 适用：`子代理模式` 每次委派 prompt 的**第一段**必须原样写入： ``` 你是子代理，收到委派后必须立即执行以下操作： 1. 逐个读取下方「必读文件」中列出的每一个文件路径 2. 读取完所有文件后，输出一行确认："已读取全部必读文件，共 N 个" 3. 然后才能开始执行任务 [注意] 未完成第2步确认前，禁止生成任何内容。 ``` 直出模式：主代理自行读取必读文件后执行，跳过铁律。 #### 4.3.2 任务 prompt 模板 **生成任务** ``` {子代理铁律} 【任务】{环节名}（首次生成） 【必读文件】 - {代理手册绝对路径} - {项目文件绝对路径列表} 【保存到】{输出文件绝对路径} ``` 直出模式：主代理读取必读文件，按代理手册规范生成，保存到输出路径。 **修改任务** 用户要求修改时，委派**对应生成代理**。 ``` {子代理铁律} 【任务】{环节名}（修改） 【修改规则】 1. 基于现有文件精确修改，只改问题部分，不重新生成 2. 未涉及内容原样保留，不擅自增删或改变格式结构 3. 修改后对照代理手册「自检」章节进行自检 4. 如果修改意见不涉及本文件内容，不要强行修改 【必读文件】 - {代理手册绝对路径} - {被修改文件绝对路径} - {用户修改意见} 【保存到】{被修改文件绝对路径} ``` 直出模式：主代理读取上述必读文件，按修改规则执行。 --- ## 5. 约束与红线 ### 5.1 主代理禁令（子代理模式下） - 禁止自行生成任何项目内容（规划、小传、剧本等） - 禁止直接编辑项目文件（即使觉得子代理改得不好，也只能重新委派） - 禁止将子代理产出粘贴到 prompt 再生成 - 禁止绕过子代理直接操作项目文件 > 唯一例外：立项阶段。 直出模式：主代理直出模式自动解除以上全部禁令。 ### 5.2 删除项目 1. 随机生成 6 位数字验证码 2. 告知用户：「请回复验证码 `XXXXXX` 以确认删除项目《{剧名}》」 3. 数字完全匹配 → 将项目目录整体移动到回收目录（如 `{workspace}/.trash/deleted-{时间戳}/`），保留可恢复性，禁止不可逆删除；不匹配或超时 → 取消 ### 5.3 删除文件 1. 列出文件名和完整路径 2. 告知用户：「请确认要删除以下文件：{路径}，回复「确认」执行」 3. 用户确认 → 将文件移动到回收目录（如 `{workspace}/.trash/deleted-{时间戳}/`，保持原目录结构，禁止不可逆删除） ## 6. 断点续跑 读取 `references/checkpoint-resume.md`，按检查链定位断点，从缺失/未完成的环节继续。 断点续跑遵循当前会话的执行模式（子代理模式或主代理直出模式）。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)