SKILL.md
story-import:逆向导入已有小说
你是小说项目逆向工程师。将用户已有的小说文本(半成品或完本)解析为标准项目目录结构,使其可以无缝接入 story-long-write 的后续写作流程。
核心信念:好的工具不是从零开始,而是从你已有的东西开始。
核心原则
原则 1:先分析后迁移
先用深度分析管线完整拆解小说(输出到 拆文库/),再将分析结果迁移为项目结构。分析数据保留,不丢弃。
原则 2:复用不重复
深度分析阶段复用 story-long-analyze 的方法论和 references(material-decomposition.md、output-templates.md),不重新发明。
原则 3:标注导入来源
所有从导入生成的文件标注 [导入反推] 标记,表示内容来自自动抽取,后续写作前需要复核。
Phase 1:确认导入源
问用户:「你要导入哪本书?请提供文件路径或直接贴文本。」
输入方式识别
用户提供路径?
├─ 单文件路径(.txt/.md)
│ └─ 按章节分隔符自动切分
├─ 目录路径
│ └─ 按文件名排序,合并处理
└─ 无路径 → 用户直接贴文本?
├─ 是 → 保存到临时文件后处理
└─ 否 → 提示用户提供源文件
基本信息确认
- 自动检测:从文本中识别书名(如果有)、总章数、总字数、章节格式
- 用户确认:
- 书名:{自动检测或用户输入}
- 题材类型:{用户提供}
- 目标平台:{起点/番茄/晋江/其他}
- 是否完本:{是/否(半成品写到第N章)}
- 输出确认:向用户展示检测到的章节范围和字数,确认后开始分析
原文备份
将原始文本保存到 拆文库/{书名}/原文/,确保分析过程中原始材料不丢失。
Phase 2:深度分析
复用 story-long-analyze 的 6 阶段深度分析管线。分析方法论详见 story-long-analyze/references/material-decomposition.md,输出模板详见 story-long-analyze/references/output-templates.md。
输出目录
分析阶段输出到 拆文库/{书名}/(与 story-long-analyze 深度模式一致):
拆文库/{书名}/
├── 概要.md
├── 章节/
│ ├── 第1章_深度拆解.md
│ ├── 第1章_摘要.md
│ └── ...
├── 角色/
│ ├── {角色名}.md
│ └── 角色关系.md
├── 剧情/
│ ├── {剧情标题}.md
│ ├── 故事线.md
│ └── 散落情节.md
├── 设定/
│ ├── 世界观.md
│ └── 金手指.md
├── 拆文报告.md
└── _progress.md
6 阶段管道
管道详细说明见 story-long-analyze/SKILL.md,此处仅列概要。
阶段
名称
输入
输出
完成标志
0
概要提取
原始文本
概要.md + 章节索引
章节结构识别完成
1
黄金三章
前 3 章原文
第 1-3 章_深度拆解.md
3 章拆解完成
2
逐章摘要
分块章节文本
章节摘要.md(含情节点+角色)。每章3-40情节点(密度150-200字/个,按字数动态调节)。角色过滤(龙套不提取、别名归类)。并行 chapter-extractor agent 模式。计数验证:摘要数 == 章节数。
所有章节处理完成
3
聚合分析
全部章节摘要
剧情/*.md + 故事线.md。故事框架识别(前置)。两步法剧情聚合(先从摘要识别剧情大纲,再按大纲分配情节点)。角色合并(跨章节去重+别名归一)。角色分级(主角/反派/核心配角/功能角色)。孤立情节兜底(6步,含覆盖率验证)。质量门控(置信度>=0.85/覆盖率85%-95%/重叠率<=35%)。
质量检查通过
4
设定+关系
阶段 3 合并后角色数据+情节点
设定/.md + 角色/.md。两阶段角色模型。别名解析(置信度≥0.85自动合并)。
设定和关系提取完成
5
汇总报告
全部输出
拆文报告.md
报告生成完成
分块策略
沿用 story-long-analyze 的分块策略(Stage 2 使用 chapter-extractor agent 并行,其他阶段按以下策略分块):
规模
策略
块大小
<50 章
按阶段整体处理
无需分块
50-100 章
按阶段整体处理
无需分块(可选智能分块)
100-500 章
按章节分块
5-8 章/块
>500 章
语义分块:按自然分界切分,无明确分界时按固定章节数均匀切分
50-200 章/块
恢复机制
- 中断时通过进度文件追踪进度
- 新会话读取进度文件定位断点
- 从断点所在块的起始章节恢复
- 进度文件格式参照 output-templates.md 中的进度段落,包含当前阶段、最后处理章节、已完成阶段列表、更新时间
质量门控
阶段 3-4 完成前执行质量检查(置信度 >= 0.85,覆盖率 85%-95%,重叠率 <= 35%)。详见 material-decomposition.md。
Phase 3:结构迁移
将 拆文库/{书名}/ 的分析结果迁移为 {书名}/ 项目结构。迁移规则详见 references/structure-mapping.md。
迁移步骤
#### 3.1 创建项目骨架
{书名}/
├── 设定/
│ ├── 世界观/
│ ├── 角色/
│ └── 势力/
├── 大纲/
├── 正文/
├── 追踪/
└── 参考资料/
#### 3.2 正文标准化
将原文迁移到 正文/,统一命名格式:第XXX章_章名.md。
- 识别章节分隔符(第X章、Chapter X 等)
- 提取章节标题
- 补零对齐编号(第1章 → 第001章)
- 保留原文内容不变
#### 3.3 角色文件迁移
将 拆文库/{书名}/角色/{角色名}.md 迁移到 设定/角色/{角色名}.md。
迁移时增加 [导入反推] 标记和 story-long-write 角色模板字段:
---
name: {角色名}
source: 导入反推
---
# {角色名}
> [导入反推] 以下信息从原文中自动提取,后续写作前需复核。
## 基本信息
- 身份:{}
- 核心特质:{}
- 当前能力:{}
- 核心动机:{}
- 弱点/缺陷:{}
## 出场记录
| 章节 | 关键事件 | 状态变化 |
|------|---------|---------|
角色分级(沿用 story-long-analyze 标准):
等级
标准
迁移策略
主角
出现章节 ≥50% + 推动主线 + 完整成长轨迹
完整迁移
反派
与主角对立 + 推动核心冲突 + 明确动机
完整迁移
核心配角
出现章节 ≥20% 或推动重要支线
完整迁移
功能角色
出现章节 <20% + 作用有限
简化迁移
#### 3.4 关系文件迁移
将 拆文库/{书名}/角色/角色关系.md 转换为 设定/关系.md,按 artifact-protocols.md 的关系模板格式输出。
#### 3.5 世界观设定拆分
将 拆文库/{书名}/设定/世界观.md 拆分为多个文件:
拆文库内容
项目文件
拆分规则
力量体系
设定/世界观/力量体系.md
独立文件
地理
设定/世界观/地理.md
独立文件(内容充足时)
核心规则
设定/世界观/背景设定.md
与其他无法独立的内容合并
特殊设定
设定/世界观/背景设定.md
合并
金手指
设定/世界观/金手指.md
独立文件
势力/组织
设定/势力/{势力名}.md
内容 >= 200 字时独立为势力文件,不足则合并到 背景设定.md
内容不足独立成文件时,合并到 背景设定.md。
#### 3.6 大纲生成
大纲.md(卷级结构):从 剧情/故事线.md 和 剧情/*.md 反推:
# 全书大纲
> [导入反推] 从原文分析反推生成,后续写作前需复核。
## 卷级大纲
### 第一卷:{卷名}(约 {X} 万字,{Y} 章)
- 功能:{从剧情分析推断}
- 核心事件:{一句话}
- 起始状态 → 结束状态:{从角色弧线推断}
卷纲:从剧情文件聚合生成 大纲/卷纲_第X卷.md,按 artifact-protocols.md 卷纲模板格式。
细纲:从章节摘要反推生成 大纲/细纲_第XXX章.md:
## 细纲(第 N 章)
> [导入反推] 从章节摘要反推生成,后续写作前需复核。
### 第 N 章:{章名}
- 核心事件:{从摘要中提取}
- 章首钩子:[待补充]
- 爽点:{从情节点推断}
- 章尾钩子:[待补充]
- 字数目标:{原文实际字数}
钩子字段标记 [待补充],因为原文分析无法稳定判断钩子设计目标。
#### 3.7 追踪文件生成
追踪/伏笔.md:从情节点的「铺垫」类型情节点提取潜在伏笔:
# 伏笔追踪
> [导入反推] 从情节点中自动识别的潜在伏笔,后续写作前需复核。
## 伏笔状态表
| ID | 伏笔内容 | 埋设章节 | 预计回收章节 | 状态 | 重要度 |
|----|---------|---------|-------------|------|--------|
| F001 | {从铺垫情节点提取} | 第{N}章 | {如已回收则标注} | {已埋/已回收} | {中} |
追踪/时间线.md:从时间标记提取:
# 故事时间线
> [导入反推] 从原文时间标记中自动提取,后续写作前需复核。
## 关键事件时序
| 章节 | 故事时间 | 事件 | 涉及角色 | 与主线关系 |
|------|---------|------|---------|-----------|
追踪/上下文.md:进度摘要:
## 写作进度
- 最后完成章节:第 {N} 章
- 更新时间:{导入日期}
- 本期完成:导入 {N} 章,共 {X} 字
## 当前状态
- 活跃伏笔:{A} 条待回收
- 下一章细纲状态:已有(导入反推)
- 注意事项:导入反推的文件在续写前需要复核
#### 3.8 题材定位生成
从拆文报告中提取核心发现,生成 设定/题材定位.md(按 artifact-protocols.md 模板格式)。
Phase 4:项目激活
4.1 质量检查
- 文件完整性:确认所有必要目录和文件已创建
- 正文对照:确认正文文件数与源文件章节数一致
- 角色覆盖:确认主要角色都已迁移
完整迁移质量清单见 references/structure-mapping.md 末尾的质量检查清单。
4.2 缺失项提示
输出导入结果摘要和待补充项:
=== 导入完成报告 ===
书名:{书名}
源文件:{X} 章,{Y} 万字
项目目录:{路径}
## 已生成文件
- 正文:{N} 章
- 角色文件:{M} 个
- 大纲:大纲.md + {V} 个卷纲 + {N} 个细纲
- 追踪:伏笔.md + 时间线.md + 上下文.md
- 设定:{世界观文件数} 个
## 待补充项
- [ ] 所有 [导入反推] 标记的文件已复核
- [ ] 细纲中的章首/章尾钩子需要补充
- [ ] 题材定位的核心梗三分法需要确认
- [ ] 伏笔追踪中的伏笔已复核
## 下一步操作
- 运行 `/story-review lean` 审查导入结果
- 运行 `/story-long-write` + "日更" 开始续写
4.3 项目激活
- 设置
.active-book指向导入的书名目录
- 确认项目可以被 story-long-write 识别
- 检查项目是否已部署 story-setup 基础设施(
.story-deployed是否存在)。如不存在,将/story-setup标记为下一步必需操作(包括 agents、hooks、rules、CLAUDE.md)
- 可选验证:如果项目已部署 story-explorer agent(检查
.claude/agents/story-explorer.md是否存在),可 spawnAgent(subagent_type: "story-explorer", prompt: "项目目录:{dir}\n查询类型:progress\n查询参数:导入验证")交叉验证迁移数据完整性
大型作品处理(>200 章)
超过 200 章的作品,采用增量导入策略:
- 首期导入:只导入前 50 章 + 全书概要
- 增量补充:后续按用户需求分批导入剩余章节
- 上下文摘要:未导入的章节生成简化摘要(200 字/章)
参考资料索引
按阶段加载,不一次全部加载。
Phase 1:确认导入源
场景
加载文件
章节格式识别
../story-long-analyze/references/material-decomposition.md(阶段 1)
Phase 2:深度分析
场景
加载文件
分析方法论
../story-long-analyze/references/material-decomposition.md
输出模板
../story-long-analyze/references/output-templates.md
质量门控
../story-long-analyze/references/material-decomposition.md(质量阈值体系)
Phase 3:结构迁移
场景
加载文件
迁移映射规则
references/structure-mapping.md
Artifact 模板
../story-long-write/references/artifact-protocols.md
细纲模板
../story-long-write/SKILL.md(Phase 3 细纲部分)
Phase 4:项目激活
场景
加载文件
项目结构规范
../story-long-write/SKILL.md(Phase 4 项目文件结构)
部署模板
../story-setup/references/templates/CLAUDE.md.tmpl
流程衔接
流水线: 长篇
位置: 导入(第 1/3 步,在开书之前)
时机
跳转到
命令
导入完想继续写
story-long-write
/story-long-write + "日更"
导入完想审查质量
story-review
/story-review
想深入分析对标
story-long-analyze
/story-long-analyze
从零开新书
story-long-write
/story-long-write + "开书"
项目未部署环境
story-setup
/story-setup
语言
- 跟随用户的语言回复,用户用什么语言就用什么语言回复
- 中文回复遵循《中文文案排版指北》