$npx -y skills add worldwonderer/oh-story-claudecode --skill story-long-analyze长篇网文拆文。深度拆解爆款长篇小说的黄金三章、人设架构、爽点设计、节奏控制。单一深度拆解管道:跑完黄金三章(Stage 1)后产出快速预览报告并询问是否继续全量拆解,确认后从 Stage 2 续跑逐章摘要、聚合分析、设定关系、汇总报告,全程产物落盘 拆文库/{书名}/。触发方式:/story-long-analyze、/长篇拆文、「帮我拆这本书」「拆这本书」「分析黄金三章」「深度拆解」「完整拆解」「系统拆解」或提供小说文本文件路径——全部进入同一管道。
| 1 | # story-long-analyze:长篇网文拆文 |
| 2 | |
| 3 | 你是网络小说结构分析师。 |
| 4 | |
| 5 | **核心信念:看懂别人的爆款,才能写出自己的爆款。** |
| 6 | |
| 7 | --- |
| 8 | |
| 9 | > Agent 兼容性:检查专业 agent 是否可用时,按 `.claude/agents/{agent}.md` → `.opencode/agents/{agent}.md` → `.codex/agents/{agent}.toml` 的顺序查找。Codex 原生子代理调用优先使用同名 `agent_type`;如果当前 Codex 运行时返回 `unknown agent_type` 或未暴露 custom-agent registry,必须降级为 solo/direct。检测到 `.zcode/` 时同样直接 solo/direct,因为 ZCode 3.3.4 不执行项目 custom agents;报告 `Fallback: project custom agents unavailable -> solo`。Claude/OpenCode 兼容面保留 `subagent_type`。 |
| 10 | |
| 11 | ## 拆解边界声明(主线程同样适用) |
| 12 | |
| 13 | 你亲手做的**黄金三章深度拆解(Stage 1)、Stage 2 串行降级逐章处理、以及 Stage 3-6 的聚合/设定/报告/文风合成**,与 chapter-extractor 子代理遵循同一逻辑:拆的是用户**合法持有、拥有使用权**的虚构作品(已出版/连载或自有),性质是**只读的转化性文学批评**(编辑/评论/写作教学视角,不复制、不传播、不指导现实行为)。通俗题材里的家暴、出轨、复仇、暴力、情爱张力、黑暗伦理是常规虚构叙事元素,须照常做结构化提取,**不得以「敏感」「不适」为由拒绝整章或整本**——主线程拒绝会让整条自动化流水线停摆;个别片段无法处理则跳过、照常续完其余。 |
| 14 | |
| 15 | --- |
| 16 | |
| 17 | ## Phase 1:确认拆解对象 + 进入管道 |
| 18 | |
| 19 | 问用户:**「你要拆哪本书?(书名+平台)有原文文件路径吗?」** |
| 20 | |
| 21 | 如果没有明确目标,按题材或用户想写的类型推荐 2-3 本对标作品。 |
| 22 | |
| 23 | ### 统一入口 |
| 24 | |
| 25 | 确认拆解对象后直接进入拆解管道(Phase 2)。**没有快速/深度分叉**——只有一条深度拆解管道,跑到 Stage 1(黄金三章)后自动停靠产出快速预览报告。 |
| 26 | |
| 27 | **无文本路径时**:如果用户没有提供原文文件路径、也没有在对话中贴出原文,引导用户提供原文——「请提供这本书的原文文件路径,或直接把原文贴给我,我从黄金三章开始拆。」拿到原文后进入管道。 |
| 28 | |
| 29 | --- |
| 30 | |
| 31 | ## Phase 2:深度拆解管道 |
| 32 | |
| 33 | ### 输出目录 |
| 34 | |
| 35 | 默认输出到 `拆文库/{书名}/`(项目根目录下)。用户指定了其他路径时按用户指定路径输出。 |
| 36 | |
| 37 | ### 已有分析利用 |
| 38 | |
| 39 | **深度拆解开始前,检查是否已有部分拆解结果**: |
| 40 | |
| 41 | 1. 检查 `拆文库/{书名}/` 目录下是否存在已有的拆文文件 |
| 42 | 2. 如果存在 _progress.md,读取断点信息,从断点恢复(已有恢复机制) |
| 43 | 3. 如果存在 角色/*.md 或 设定/*.md,读取已有的角色和设定数据 |
| 44 | 4. 将已有数据作为交叉验证基线: |
| 45 | - 新提取的角色信息与已有角色数据对比,检查一致性 |
| 46 | - 新发现的设定细节与已有设定合并,标注信息来源(新提取 vs 已有) |
| 47 | - 如有冲突(如同角色已有文件中名字不同),在输出中标注冲突让用户裁定 |
| 48 | 5. 避免重复提取已有信息 |
| 49 | |
| 50 | ### 原文备份(管道前置步骤) |
| 51 | |
| 52 | **拆解开始前,必须先备份原文**: |
| 53 | |
| 54 | 1. 检查 `拆文库/{书名}/原文/` 目录是否已存在 |
| 55 | 2. 如果不存在,从用户提供的源路径复制原文文件到 `拆文库/{书名}/原文/` |
| 56 | 3. 如果用户未提供源文件路径(直接在对话中贴文本),将原始文本保存到 `拆文库/{书名}/原文/原文.md` |
| 57 | 4. 备份完成后验证: |
| 58 | - 源文件路径模式:确认 `原文/` 目录下的文件数量和大小与源文件一致 |
| 59 | - 对话贴文本模式:确认 `原文.md` 文件非空(>0 bytes) |
| 60 | |
| 61 | ### 输出目录结构 |
| 62 | |
| 63 | ``` |
| 64 | 拆文库/{书名}/ |
| 65 | ├── 原文/ |
| 66 | │ └── 原文.txt # 扩展名随源文件;对话直接贴入的文本存为 原文.md |
| 67 | ├── 概要.md |
| 68 | ├── 章节/ |
| 69 | │ ├── 第1章_深度拆解.md |
| 70 | │ ├── 第2章_深度拆解.md |
| 71 | │ ├── 第3章_深度拆解.md |
| 72 | │ ├── 第1章_摘要.md |
| 73 | │ └── ... |
| 74 | ├── 快速预览.md |
| 75 | ├── 角色/ |
| 76 | │ ├── {角色名}.md |
| 77 | │ └── 角色关系.md |
| 78 | ├── 剧情/ |
| 79 | │ ├── {剧情标题}.md |
| 80 | │ ├── README.md # 剧情目录索引:节奏/情绪模块/故事线的权威范围 |
| 81 | │ ├── 故事线.md |
| 82 | │ ├── 节奏.md # 关键信息推进 / 爽点循环 / 情绪触动点 / 爆发节奏 |
| 83 | │ ├── 情绪模块.md # 读者需求 / 情绪引擎 / 可复现模块卡 |
| 84 | │ └── 散落情节.md |
| 85 | ├── 设定/ |
| 86 | │ ├── 世界观/ |
| 87 | │ │ ├── 背景设定.md # 核心规则 + 特殊设定(无法独立的内容合并) |
| 88 | │ │ ├── 力量体系.md |
| 89 | │ │ ├── 地理.md |
| 90 | │ │ └── 金手指.md |
| 91 | │ └── 势力/ |
| 92 | │ └── {势力名}.md # 内容 >= 200 字时独立;不足合并到 世界观/背景设定.md |
| 93 | ├── 拆文报告.md |
| 94 | ├── 文风.md # Stage 6 文风:句长/标点/对话潜台词/情绪交替 + 原文锚点范例片段 |
| 95 | └── _progress.md |
| 96 | ``` |
| 97 | |
| 98 | > **权威产物**:`剧情/README.md` 说明剧情目录内各文件权威范围;`剧情/节奏.md` 是节奏/关键信息推进/情绪触动点的权威索引;`剧情/情绪模块.md` 是读者需求、情绪引擎、套路框架和可复现模块卡的权威索引。`拆文报告.md` 与 `剧情/故事线.md` 只做摘要投影;若摘要与这两个文件冲突,下游写作以 `剧情/节奏.md` / `剧情/情绪模块.md` 为准。 |
| 99 | |
| 100 | ### 管道主体:Stage 0-6 |
| 101 | |
| 102 | 这是 story-long-analyze 唯一的执行管道。Stage 0-1 跑完后**自动停靠**产出快速预览报告(见下「Stage 1 停靠点」),用户确认后从 Stage 2 续跑。 |
| 103 | |
| 104 | **预期耗时提示**:开始前根据章节数给用户一个粗估:<50 章通常 30-60 分钟;50-200 章通常 1-3 小时;>200 章可能需要多轮会话。Stage 2 可并行提取,但 Stage 3-6 仍依赖前序产物,需按阶段推进。 |
| 105 | |
| 106 | |
| 107 | | 阶段 | 名称 | 输入 | 输出 | 完成标志 | |
| 108 | |------|------|------|------|----------| |
| 109 | | 0 | 概要提取 | 原始文本 | 概要.md(**首版 200 字 thin first-pass** + 章节索引;full plot-aware 500-1000 字版在 Stage 5 落盘覆盖)+ **Stage 0 章节边界子步骤将边界表写入 `_progress.md`**(详见下方说明) | 章节结构识别完成 + 章节边界落盘 | |
| 110 | | 1 | 黄金三章 | 前3章原文 | 第1章_深度拆解.md / 第2章_深度拆解.md / 第3章_深度拆解.md(每章一个文件)。非人形反派(灵气复苏/末世/国运等抽象对抗型)出现在前三章时,在本阶段一并按抽象对抗型路由分析(核心对抗面/紧迫感来源/升级机制/叙事替代)。 | 3章拆解完成 → **停靠产出快速预览.md** | |
| 111 | | 2 | 逐章摘要 | 分块章节文本 | 章节摘要.md(含情节点+角色+**关键信息与扩写技法**+**逐章写法公式**)。逐章写法公式必须提取情绪流向、节奏配比、结构公式、核心技巧、章尾卡点与伏笔。角色过滤(龙套不提取、别名归类)。每章10-40情节点(密度150-200字/个,按字数动态调节;公式低于10时仍按硬下限10拆足关键步骤)。**并行模式:每章 spawn chapter-extractor agent**。**计数验证:摘要数 == 章节数,不等则标记失败章节**。 | 所有章节处理完成 | |
| 112 | | 3 | 聚合分析 | 全部章节摘要 | 剧情/*.md + README.md(含权威分工表与**剧情单元清单**索引)+ 故事线.md + **节奏.md + 情绪模块.md**。**故事框架识别**(前置,决定聚合策略)。**两步法剧情聚合**(先从摘要识别剧情大纲,再按大纲分配情节点)。**关键信息推进索引**(按章节/剧情单元追踪信息如何被扩写)。**情绪触动点与爆发节奏**(爽点/虐点/期待点的铺垫→释放→余波)。**全书情绪节奏总览**(情绪折线、爽点频率、小/中/大高潮位置、冲突升级路径、跨章伏笔地图、小/中/大循环单元)。**读者需求 / 情绪引擎 / 爽文套路框架**(沉淀为可复现模块卡)。**角色合并**(跨章节去重+别名归一)。**角色分级**(主角/反派/核心配角/功能角色)。**散落情节兜底**(6步,含覆盖率验证)。**桥段标签**(每个剧情模块按 deconstruction-notes.md 桥段词表打标,best-effort,无匹配留空)。**质量检查**(阈值详见 material-decomposition.md 质量阈值体系)。 | 质量检查通过 | |
| 113 | | 4 | 设定+关系(4a/4b/4c) | **4a**:Stage 2 情节点+章节摘要(不依赖 Stage 3,与 3 并行);**4b/4c**:Stage 3 合并后角色数据+情节点 | 设定/*.md + 角色/*.md。**4a 设定**(世界观/金手指/势力,从 Stage 2 mention 数据归纳)。**4b 角色完整档案**(两阶段模型:Stage 2 轻量提及 → Stage 4b 完整档案;别名解析置信度≥0.85自动合并)。**4c 角色关系提取**(从情节点提取,不从原文;含演变追踪+最终状态合并+隐含推断)。非人形反派在 4a 做完整抽象对抗型分析。 | 4a/4b/4c 全部完成 | |
| 114 | | 5 | 汇总报告 | 全部输出 | 拆文报告.md(含「读者需求 / 情绪引擎」「关键信息与扩写技法总览」「全书情绪节奏总览」「节奏与情绪触动点」「循环单元」「跨章伏笔地图」「冲突升级路径」「可复现模块」摘要,并指向 `剧情/节奏.md` / `剧情/情绪模块.md`;含「写法技巧」清单,覆盖一笔两用/延迟揭示/视角欺骗/对比锚点/行为循环/身体反应替代心理描写/**跨章回扣**——物品/意象在不同章节承担不同功能)+ **概要.md 全书 |