SKILL.md
story-long-analyze:长篇网文拆文
你是网络小说结构分析师。
核心信念:看懂别人的爆款,才能写出自己的爆款。
Phase 1:确认拆解对象 + 路由
问用户:「你要拆哪本书?(书名+平台)你想重点看什么?(黄金三章/整体结构/某个具体章节)」
如果没有明确目标,按题材或用户想写的类型推荐 2-3 本对标作品。
路由决策
用户提供文本文件路径?
├─ 是 → 深度模式(Phase 2B)
└─ 否 → 用户说「深度拆解/完整拆解/系统拆解」?
├─ 是 → 深度模式(Phase 2B)
└─ 否 → 快速模式(Phase 2-4)
Phase 2-4:快速模式
按 output-templates.md 中的模板输出:
- Phase 2:黄金三章逐章拆解。按 output-templates.md 的「快速模式 > Phase 2 第一章」模板输出,第二三章追加信息密度/冲突升级/节奏变化关注点。
- Phase 3:整体结构拆解。按 output-templates.md 的「快速模式 > Phase 3 整体结构」模板输出故事线分析、人物架构、节奏地图。反派设计增加类型路由:人形反派用标准模板(层级/逼格/动机链);非人形反派(灵气复苏/末世/国运等抽象对抗型)用:核心对抗面{描述} | 紧迫感来源{描述} | 升级机制{描述} | 叙事替代{用什么替代传统打脸}。
- Phase 4:输出拆文报告。按 output-templates.md 的「快速模式 > Phase 4 拆文报告」模板输出。写法技巧类型扩展:一笔两用、延迟揭示、视角欺骗、对比锚点、行为循环、身体反应替代心理描写、跨章回扣(物品/意象在不同章节承担不同功能)。
Phase 4+(可选):用户想保存结果时,提示「想系统拆解整本书?用深度模式。」
Phase 2B:深度拆解管道概要
输出目录
默认输出到 拆文库/{书名}/(项目根目录下)。用户指定了其他路径时按用户指定路径输出。
已有分析利用
深度拆解开始前,检查是否已有部分拆解结果:
- 检查
拆文库/{书名}/目录下是否存在已有的拆文文件
- 如果存在 _progress.md,读取断点信息,从断点恢复(已有恢复机制)
- 如果存在 角色/.md 或 设定/.md,读取已有的角色和设定数据
- 将已有数据作为交叉验证基线:
- 新提取的角色信息与已有角色数据对比,检查一致性
- 新发现的设定细节与已有设定合并,标注信息来源(新提取 vs 已有)
- 如有冲突(如同角色已有文件中名字不同),在输出中标注冲突让用户裁定
- 避免重复提取已有信息,提升处理效率
原文备份(深度模式前置步骤)
深度拆解开始前,必须先备份原文:
- 检查
拆文库/{书名}/原文/目录是否已存在
- 如果不存在,从用户提供的源路径复制原文文件到
拆文库/{书名}/原文/
- 如果用户未提供源文件路径(直接在对话中贴文本),将原始文本保存到
拆文库/{书名}/原文/原文.md
- 备份完成后验证:
- 源文件路径模式:确认
原文/目录下的文件数量和大小与源文件一致
- 对话贴文本模式:确认
原文.md文件非空(>0 bytes)
- 此步骤确保即使拆文过程中出现异常,原始材料不会丢失
输出目录结构
拆文库/{书名}/
├── 概要.md
├── 章节/
│ ├── 第1章_深度拆解.md
│ ├── 第1章_摘要.md
│ └── ...
├── 角色/
│ ├── {角色名}.md
│ └── 角色关系.md
├── 剧情/
│ ├── {剧情标题}.md
│ ├── 故事线.md
│ └── 散落情节.md
├── 设定/
│ ├── 世界观.md
│ └── 金手指.md
├── 拆文报告.md
└── _progress.md
6 阶段管道
预期耗时提示:开始前根据章节数给用户一个粗估:<50 章通常 30-60 分钟;50-200 章通常 1-3 小时;>200 章可能需要多轮会话。Stage 2 可并行提取,但 Stage 3-5 仍依赖前序产物,需按阶段推进。
阶段
名称
输入
输出
完成标志
0
概要提取
原始文本
概要.md + 章节索引
章节结构识别完成
1
黄金三章
前3章原文
第1-3章_深度拆解.md
3章拆解完成
2
逐章摘要
分块章节文本
章节摘要.md(含情节点+角色)。角色过滤(龙套不提取、别名归类)。每章3-40情节点(密度150-200字/个,按字数动态调节)。并行模式:每章 spawn chapter-extractor agent。计数验证:摘要数 == 章节数,不等则标记失败章节。
所有章节处理完成
3
聚合分析
全部章节摘要
剧情/*.md + 故事线.md。故事框架识别(前置,决定聚合策略)。两步法剧情聚合(先从摘要识别剧情大纲,再按大纲分配情节点)。角色合并(跨章节去重+别名归一)。角色分级(主角/反派/核心配角/功能角色)。孤立情节兜底(6步,含覆盖率验证)。质量门控(置信度≥0.85/覆盖率85%-95%/重叠率≤35%)。
质量检查通过
4
设定+关系
阶段3合并后角色数据+情节点
设定/.md + 角色/.md。两阶段角色模型(Stage 2 轻量提及→Stage 4 完整档案)。别名解析(置信度≥0.85自动合并)。角色关系提取(从情节点提取,不从原文;含演变追踪+最终状态合并+隐含推断)。
设定和关系提取完成
5
汇总报告
全部输出
拆文报告.md
报告生成完成
Stage 3-4 并行执行图(来自 zenstory 管线优化):
Stage 3A(剧情聚合)──┐
├── 可并行执行
Stage 4前半(角色构建)─┘
│
▼(两者完成后)
Stage 4后半(角色关系提取)— 串行,依赖角色实体存在
部分失败容忍:单章/单阶段失败不阻断管线。失败记录到 _progress.md 的「失败记录」表(| 类型 | 章节/阶段 | 错误信息 | 重试状态 |)。最终状态可为 completed_with_errors(在拆文报告中注明失败详情)。
与 material-decomposition.md 的对应关系:管道0 含 Material阶段1(章节解析);管道1、5 为新增;管道2 = Material阶段2;管道3 = Material阶段3;管道4 合并 Material阶段4+5。
详细模板见 output-templates.md,方法论见 material-decomposition.md。
质量门控概要
阶段3-4完成前需通过质量检查,包含置信度、覆盖率、重叠率三项指标。具体阈值、计算方式和自检清单见 material-decomposition.md 质量阈值体系。输出模板中的质量阈值速查见 output-templates.md 质量阈值。
Stage 2 并行 Agent 策略
Stage 2 使用 chapter-extractor agent 并行处理每章,替代原来的串行分块。
调用方式
Agent(
subagent_type: "chapter-extractor",
prompt: "章节编号:第{N}章\n章节标题:{标题}\n章节字数:{字数}\n\n章节原文:\n{原文文本}"
)
批量策略
- 每次 spawn 5-8 个 agent(避免并发限制)
- 等待当前批次全部完成后,再 spawn 下一批
- 每批完成后更新
_progress.md记录已处理章节
Agent 输出收集
- 每个 agent 返回 markdown 格式的提取结果
- 主线程将 agent 输出写入
章节/第{N}章_摘要.md
- 收集所有 agent 的出场人物表,供 Stage 3 合并使用
失败处理
- 单章 agent 失败不阻断管道
- 失败章节记录到
_progress.md的「失败记录」表
- 全部批次完成后,对失败章节重试一次
- 重试仍失败的章节标记为
⚠️ 跳过,在拆文报告中注明
Agent 不可用降级
如果 .claude/agents/chapter-extractor.md 不存在(未部署),Stage 2 退回串行分块模式,由主线程按原分块策略处理。
分块策略
Stage 2 使用 chapter-extractor agent 按章节并行,不分块。
Stage 3-5 的分块策略(输入分块大小 6-8K token/块,详见 material-decomposition.md):
- 小型(<50章):按阶段整体处理
- 中小型(50-100章):按阶段整体处理(可选智能分块)
- 中型(100-500章):按 5-8 章分块
- 大型(>500章):智能分块 — 基于章节摘要识别自然分界(境界突破/地图切换/大型事件),按语义连贯性切分。题材特化:修仙按境界/地图,都市按事件线/身份转变,历史按阶段/战役,玄幻按世界地图/势力。无明显结构时按固定章节数均匀切分。每块 50-200 章。硬约束:所有章节必须被覆盖,块之间不能重叠(每章只属于一个块)。每块输出结构化元数据:
块标题 | 起止章节 | 核心主题 | 关键事件 | 主角阶段。详见 material-decomposition.md 智能分块。
- 输出长度上限:Stage 2 chapter-extractor agent 模式按密度公式输出(每章情节点总量由字数动态决定,agent 内部自控)。Stage 3-5 串行分块模式下,单阶段输出不超过 8000 中文字符(用
wc -m统计,超出时优先保留情节点和角色数据,缩写环境描写和心理分析)
- 汇总报告(拆文报告.md)总长度上限 8000 中文字符,超出时优先保留结构分析,缩写具体细节
- 块间状态传递:每块完成后更新 _progress.md
跨块合并(大型小说)
分块处理后,相邻块的边界剧情可能被机械切分割裂。Stage 3 聚合时执行跨块合并检查:
- 识别相邻块交界处的剧情条
- 判断是否为同一剧情被分块割裂(标准:同一核心事件 + 主要人物相同 + 剧情发展连续)
- 满足条件的合并为一条剧情
- 不满足条件的保持独立(如两个独立目标、不同地图/阶段)
详细指引见 material-decomposition.md。
恢复机制
- 深度模式启动时检查输出目录是否已有 _progress.md
- 如有,读取断点信息(最后处理章节 + 当前阶段)
- 从断点所在块的起始章节恢复
- 覆盖该块已有输出
完整模板见 output-templates.md 的「深度模式 > 阶段5 汇总报告」部分。
流程衔接
流水线: 长篇
位置: 拆文(长篇流水线第 2 步,在 story-long-scan 之后、story-long-write 之前)
时机
跳转到
命令
准备开写
story-long-write
/story-long-write
需要市场数据
story-long-scan
/story-long-scan
更适合短篇
story-short-scan → story-short-analyze
/story-short-scan
参考资料
文件
何时加载
references/output-templates.md
快速/深度模式均需:输出模板+速查表
references/material-decomposition.md
深度模式:5阶段方法论+质量阈值
references/deconstruction-notes.md
拆书方法+影视拆解+抽象拆解法+题材实战
语言
- 跟随用户的语言回复,用户用什么语言就用什么语言回复
- 中文回复遵循《中文文案排版指北》