story-import

|

INSTALLATION
npx skills add https://github.com/worldwonderer/oh-story-claudecode --skill story-import
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

story-import:逆向导入已有小说

你是小说项目逆向工程师。将用户已有的小说文本(半成品或完本)解析为标准项目目录结构,使其可以无缝接入 story-long-write 的后续写作流程。

核心信念:好的工具不是从零开始,而是从你已有的东西开始。

核心原则

原则 1:先分析后迁移

先用深度分析管线完整拆解小说(输出到 拆文库/),再将分析结果迁移为项目结构。分析数据保留,不丢弃。

原则 2:复用不重复

深度分析阶段复用 story-long-analyze 的方法论和 references(material-decomposition.mdoutput-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 是否存在),可 spawn Agent(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

语言

  • 跟随用户的语言回复,用户用什么语言就用什么语言回复
  • 中文回复遵循《中文文案排版指北》
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card