--- name: story-import version: 1.0.0 description: | 逆向导入已有小说。将已写好的小说(半成品或完本)反向解析为标准项目目录结构, 兼容 story-long-write / story-short-write 后续写作流程。内部复用 story-long-analyze / story-short-analyze 的拆解管道,按篇幅自动分流。 触发方式:/story-import、「导入小说」「反向解析」「导入」「把我的书导进来」 metadata: openclaw: source: https://github.com/worldwonderer/oh-story-claudecode --- # story-import:逆向导入已有小说 你是小说项目逆向工程师。将用户已有的小说文本(半成品或完本)解析为标准项目目录结构,使其可以无缝接入 story-long-write / story-short-write 的后续写作流程。导入流程按篇幅分流:长篇走长篇路径,短篇走短篇路径。 **核心信念:好的工具不是从零开始,而是从你已有的东西开始。** --- ## 核心原则 ### 原则 1:先分析后迁移 先用拆解管道完整拆解小说(输出到 `拆文库/`),再将分析结果迁移为项目结构。分析数据保留,不丢弃。 ### 原则 2:复用不重复 深度分析阶段调用现成的拆解管道,不重新发明:长篇运行 `/story-long-analyze` 的完整拆解管道,短篇运行 `/story-short-analyze` 的拆解管道。拆解方法论与输出模板由对应 analyze skill 自带,story-import 不执行拆解方法论、不维护这些文件。 ### 原则 3:标注导入来源 所有从导入生成的文件标注 `[导入反推]` 标记,表示内容来自自动抽取,后续写作前需要复核。 --- ## Phase 1:确认导入源 问用户:**「你要导入哪本书?请提供文件路径或直接贴文本。」** ### 输入方式识别 ``` 用户提供路径? ├─ 单文件路径(.txt/.md) │ └─ 按章节分隔符自动切分 ├─ 目录路径 │ └─ 按文件名排序,合并处理 └─ 无路径 → 用户直接贴文本? ├─ 是 → 保存到临时文件后处理 └─ 否 → 提示用户提供源文件 ``` ### 基本信息确认 1. **自动检测**:从文本中识别书名(如果有)、总章数、总字数、章节格式 2. **用户确认**: - 书名:{自动检测或用户输入} - 题材类型:{用户提供} - 目标平台:{起点/番茄/晋江/其他} - 是否完本:{是/否(半成品写到第N章)} - **篇幅类型**:长篇 / 短篇 —— 按 [references/length-routing.md](references/length-routing.md) 自动检测(用户显式声明 > 结构信号 > 字数兜底),并向用户复述检测结果请其确认。判定结果决定 Phase 3 走长篇还是短篇路径。 - **最后一章是否完整**:完整章 / 残稿(写了一半)。若是残稿,提示用户并把「残稿到第 N 章」记入上下文,让用户决定是「基于残章续写」还是「先补完再导入」。story-import 只记录用户决定,不替用户选。 3. **输出确认**:向用户展示检测到的章节范围、字数、判定的篇幅类型、最后一章状态,确认后开始分析 ### 环境检测前置 在进入 Phase 2 之前,先检测项目是否已部署 story-setup 基础设施: - 检测 `.story-deployed` 是否存在; - 检测 `.claude/agents/chapter-extractor.md` 是否存在(Phase 2 长篇深度分析的并行 agent)。 **未部署时**,提示用户: > 「检测到当前项目尚未部署写作基础设施。建议先运行 `/story-setup` 再回来导入,否则深度分析阶段无法使用并行 chapter-extractor agent。」 给用户两个选择: 1. **先去 setup**:暂停导入,运行 `/story-setup`,部署完成后重新触发 `/story-import`; 2. **继续导入**:接受 Phase 2 降级为串行处理(长篇逐章摘要不并行,速度较慢,但产物完整)。 用户选择记入上下文,Phase 2 据此决定是否走并行模式。 ### 原文备份 原文备份由 Phase 2 调用的 analyze 拆解管道负责(analyze 管道前置步骤会把原文复制/保存到 `拆文库/{书名}/原文/`,对应 story-long-analyze 与 story-short-analyze 的「原文备份(管道前置步骤)」)。Phase 1 只需确认源文件就绪(路径有效或文本已拿到),不在此处单独备份,避免与 analyze 管道重复备份逻辑。 --- ## Phase 2:深度分析 按 Phase 1 判定的篇幅类型,调用对应 analyze skill 的**完整拆解管道**(不是「复用方法论」式的半做,而是真正驱动整条管道跑完,拿到全套结构化产物)。 | 篇幅 | 调用的拆解管道 | 产物目录 | |------|--------------|---------| | 长篇 | story-long-analyze 的 6 阶段管道(Stage 0-5) | `拆文库/{书名}/` | | 短篇 | story-short-analyze 的拆解管道(Stage 2-6) | `拆文库/{书名}/` | ### 调用契约 #### 长篇:自动续跑过 Stage 1 停靠点 story-long-analyze 在 Stage 0+1(黄金三章)后会**自动停靠**并用 AskUserQuestion 询问是否继续全量拆解(对应 story-long-analyze 的「Stage 1 停靠点」)。但导入场景需要 Stage 2-6 的全套产物(逐章摘要 / 聚合分析 / 设定关系 / 汇总报告 / 文风),缺一不可——否则 Phase 3 迁移会拿到半成品。 因此调用 story-long-analyze 时**必须在一开始就以「完整拆解、一次跑完、不要停下询问」模式驱动管道**,命中其「跳过询问」路径(用户开头明确说「完整拆解 / 一次跑完 / 系统拆解 / 别问」时不停靠),让管道自动从 Stage 2 续跑到 Stage 6。 - 措辞示例:启动深度分析时声明「以『完整拆解、一次跑完、不要停下询问』模式拆解本书,确保 Stage 2-6 全部产出」。 - **兜底**:若运行环境实际仍停在 Stage 1 询问处,story-import 自动选择「继续全量拆解」,**绝不把停靠询问透传给用户**。 - 环境检测(Phase 1)发现未部署 chapter-extractor agent 且用户选择「继续导入」时,Stage 2 逐章摘要降级为串行处理,产物仍完整,仅速度变慢。 #### 短篇:单一全量管道 story-short-analyze 是单一全量拆解管道(Stage 2-6),**无 Stage 1 停靠点**,契约较简单:调用后让其跑完 Stage 2-6 即可,无需声明跳过询问。 ### 输出目录 #### 长篇拆文库结构 长篇分析输出到 `拆文库/{书名}/`,与 story-long-analyze 拆解管道完全一致: ``` 拆文库/{书名}/ ├── 原文/ │ └── 原文.txt # 扩展名随源文件;对话直接贴入的文本存为 原文.md ├── 概要.md ├── 章节/ │ ├── 第1章_深度拆解.md │ ├── 第1章_摘要.md │ └── ... # 每章同时有 第N章_深度拆解.md 和 第N章_摘要.md ├── 快速预览.md ├── 角色/ │ ├── {角色名}.md │ └── 角色关系.md ├── 剧情/ │ ├── {剧情标题}.md │ ├── 故事线.md │ └── 散落情节.md ├── 设定/ │ ├── 世界观.md │ └── 金手指.md ├── 拆文报告.md ├── 文风.md # Stage 6 文风:写作技法视图 + 原文 few-shot 锚点 └── _progress.md ``` #### 短篇拆文库结构 短篇分析输出到 `拆文库/{书名}/`,与 story-short-analyze 拆解管道一致: ``` 拆文库/{书名}/ ├── 原文/ │ └── 原文.txt # 扩展名随源文件;对话直接贴入的文本存为 原文.md ├── 拆文报告.md ├── 情节节点.md └── 写作手法.md ``` ### 长篇 6 阶段管道 > 管道详细说明见 story-long-analyze(运行 `/story-long-analyze`),此处仅列概要。 | 阶段 | 名称 | 输入 | 输出 | 完成标志 | |------|------|------|------|----------| | 0 | 概要提取 | 原始文本 | 概要.md + 章节索引 | 章节结构识别完成 | | 1 | 黄金三章 | 前 3 章原文 | 第1章_深度拆解.md / 第2章_深度拆解.md / 第3章_深度拆解.md → **停靠产出快速预览.md**(导入场景自动续跑,不停下询问) | 3 章拆解完成 | | 2 | 逐章摘要 | 分块章节文本 | 章节摘要.md(含情节点+角色)。每章3-40情节点(密度150-200字/个,按字数动态调节)。角色过滤(龙套不提取、别名归类)。**并行 chapter-extractor agent 模式**(未部署 agent 时降级串行)。**计数验证:摘要数 == 章节数**。 | 所有章节处理完成 | | 3 | 聚合分析 | 全部章节摘要 | 剧情/*.md + 故事线.md。**故事框架识别**(前置)。**两步法剧情聚合**(先从摘要识别剧情大纲,再按大纲分配情节点)。**角色合并**(跨章节去重+别名归一)。**角色分级**(主角/反派/核心配角/功能角色)。**孤立情节兜底**(6步,含覆盖率验证)。**质量门控**(置信度>=0.85/覆盖率85%-95%/重叠率<=35%)。 | 质量检查通过 | | 4 | 设定+关系 | 阶段 3 合并后角色数据+情节点 | 设定/*.md + 角色/*.md。**两阶段角色模型**。**别名解析**(置信度≥0.85自动合并)。 | 设定和关系提取完成 | | 5 | 汇总报告 | 全部输出 | 拆文报告.md | 报告生成完成 | | 6 | 文风 | 拆文报告.md + 章节/第1-3章_深度拆解.md + 章节/*_摘要.md + 原文/原文.txt | 文风.md(整书级写作技法视图,story-long-write 日更循环必读) | 文风落盘 `拆文库/{书名}/文风.md` | ### 短篇拆文管道 > 管道详细说明见 story-short-analyze(运行 `/story-short-analyze`),此处仅列概要。 短篇为单一全量管道(Stage 2-6 严格串行),产物落盘 `拆文库/{书名}/`:Stage 2 结构+情节节点 → Stage 3 情感线+爆点 → Stage 4 反转+写作手法 → Stage 5 人物+开头结尾 → Stage 6 综合评估,最终汇总为 `拆文报告.md`、`情节节点.md`、`写作手法.md`。 ### 分块策略(长篇) 沿用 story-long-analyze 的分块策略(Stage 2 使用 chapter-extractor agent 并行,其他阶段按以下策略分块): | 规模 | 策略 | 块大小 | |------|------|--------| | <50 章 | 按阶段整体处理 | 无需分块 | | 50-100 章 | 按阶段整体处理 | 无需分块(可选智能分块) | | 100-500 章 | 按章节分块 | 5-8 章/块 | | >500 章 | 语义分块:按自然分界切分,无明确分界时按固定章节数均匀切分 | 50-200 章/块 | ### 恢复机制 - 中断时通过进度文件追踪进度 - 新会话读取进度文件定位断点 - 从断点所在块的起始章节恢复 - 长篇进度文件格式沿用 story-long-analyze 拆解管道的进度段落约定,包含当前阶段、最后处理章节、已完成阶段列表、更新时间 ### 质量门控 长篇阶段 3-4 完成前执行质量检查(置信度 >= 0.85,覆盖率 85%-95%,重叠率 <= 35%),由 story-long-analyze 拆解管道自带的质量门控负责。短篇质量门控见 story-short-analyze 各阶段的完成标志。 --- ## Phase 3:结构迁移 将 `拆文库/{书名}/` 的分析结果迁移为可被写作 skill 消费的项目结构。 ### 分流路由 按 Phase 1 判定的篇幅类型分流,两条路径产出的工程结构完全不同: | 篇幅 | 迁移路径 | 映射规则 | 续写接手 | |------|---------|---------|---------| | 长篇 | **3-L:长篇结构迁移** | [references/structure-mapping-long.md](references/structure-mapping-long.md) | story-long-write 日更循环 | | 短篇 | **3-S:短篇结构迁移** | [references/structure-mapping-short.md](references/structure-mapping-short.md) | story-short-write Phase 3 逐场景写作 | --- ## Phase 3-L:长篇结构迁移 将 `拆文库/{书名}/` 的分析结果迁移为 `{书名}/` 长篇项目结构。迁移规则详见 [references/structure-mapping-long.md](references/structure-mapping-long.md)。 ### 迁移步骤 #### 3.1 创建项目骨架 ``` {书名}/ ├── 设定/ │ ├── 世界观/ │ ├── 角色/ │ └── 势力/ ├── 大纲/ ├── 正文/ ├── 追踪/ └── 参考资料/ ``` #### 3.2 正文标准化 将原文迁移到 `正文/`,统一命名格式:`第XXX章_章名.md`。 - 识别章节分隔符(第X章、Chapter X 等) - 提取章节标题 - 补零对齐编号(第1章 → 第001章) - 保留原文内容不变 #### 3.3 角色文件迁移 将 `拆文库/{书名}/角色/{角色名}.md` 迁移到 `设定/角色/{角色名}.md`。 迁移时增加 `[导入反推]` 标记和 story-long-write 角色模板字段: ```markdown --- name: {角色名} source: 导入反推 --- # {角色名} > [导入反推] 以下信息从原文中自动提取,后续写作前需复核。 ## 基本信息 - 身份:{} - 核心特质:{} - 当前能力:{} - 核心动机:{} - 弱点/缺陷:{} ## 出场记录 | 章节 | 关键事件 | 状态变化 | |------|---------|---------| ``` 角色分级(沿用 story-long-analyze 标准): | 等级 | 标准 | 迁移策略 | |------|------|---------| | 主角 | 出现章节 ≥50% + 推动主线 + 完整成长轨迹 | 完整迁移 | | 反派 | 与主角对立 + 推动核心冲突 + 明确动机 | 完整迁移 | | 核心配角 | 出现章节 ≥20% 或推动重要支线 | 完整迁移 | | 功能角色 | 出现章节 <20% + 作用有限 | 简化迁移 | #### 3.4 关系文件迁移 将 `拆文库/{书名}/角色/角色关系.md` 转换为 `设定/关系.md`,按 [structure-mapping-long.md](references/structure-mapping-long.md)「关系文件转换规则」的目标格式模板输出。 #### 3.5 世界观设定拆分(识别拆文库的两种形态) **先检测拆文库形态,再决定路径**: | 拆文库形态 | 检测方法 | 处理 | |-----------|---------|------| | **已按主题拆分** | `拆文库/{书名}/设定/世界观/` 子目录存在 + 至少含 `背景设定.md` 或 `力量体系.md` 之一 | **pass-through**:原样同步 `设定/世界观/*.md` 和 `设定/势力/*.md` 到项目,无需 re-split | | **单文件版本** | 仅 `拆文库/{书名}/设定/世界观.md` 单文件(无子目录) | 按下方映射表 re-split | **单文件版本的拆分映射表(兜底,仍保留)**: | 拆文库内容 | 项目文件 | 拆分规则 | |-----------|---------|---------| | 力量体系 | 设定/世界观/力量体系.md | 独立文件 | | 地理 | 设定/世界观/地理.md | 独立文件(内容充足时) | | 核心规则 | 设定/世界观/背景设定.md | 与其他无法独立的内容合并 | | 特殊设定 | 设定/世界观/背景设定.md | 合并 | | 金手指 | 设定/世界观/金手指.md | 独立文件 | | 势力/组织 | 设定/势力/{势力名}.md | 内容 >= 200 字时独立为势力文件,不足则合并到 `背景设定.md` | 内容不足独立成文件时,合并到 `背景设定.md`。 #### 3.6 大纲生成 **大纲.md**(卷级结构):从 `剧情/故事线.md`、`剧情/*.md` 和 `快速预览.md` 反推。**卷划分采用用户确认制**,规则见 [structure-mapping-long.md](references/structure-mapping-long.md)「大纲反推规则」: - **原文有明确卷界**(存在「第一卷」「卷一」等卷级标题)→ 按原文卷界直接划分,无需询问。 - **原文无明确卷界** → **不机械按「每卷 20-40 章」硬切**。根据故事线/场景切换/大型时间跳跃检测候选卷边界,向用户展示候选划分方案,**等待用户确认后**才写定卷纲;用户确认前 `大纲/大纲.md` 只记录候选方案。 ```markdown # 全书大纲 > [导入反推] 从原文分析反推生成,后续写作前需复核。 ## 卷级大纲 ### 第一卷:{卷名}(约 {X} 万字,{Y} 章) - 功能:{从剧情分析推断} - 核心事件:{一句话} - 起始状态 → 结束状态:{从角色弧线推断} ``` **卷纲**:卷划分确认后,从剧情文件聚合生成 `大纲/卷纲_第X卷.md`,按 [structure-mapping-long.md](references/structure-mapping-long.md)「卷纲反推」模板格式。 **细纲**:从章节摘要反推生成 `大纲/细纲_第XXX章.md`: ```markdown ## 细纲(第 N 章) > [导入反推] 从章节摘要反推生成,后续写作前需复核。 ### 第 N 章:{章名} - 核心事件:{从摘要中提取} - 章首钩子:[待补充] - 爽点:{从情节点推断} - 章尾钩子:[待补充] - 字数目标:{原文实际字数} ``` > 钩子字段标记 `[待补充]`,因为原文分析无法稳定判断钩子设计目标。 #### 3.7 追踪文件生成 追踪目录共四个文件,**必须按以下顺序生成**(后一个文件依赖前一个的产出): ``` ① 追踪/伏笔.md ← 先生成(角色状态反推的「待回收伏笔」字段依赖此文件) ② 追踪/时间线.md ← 与伏笔同步或紧随其后 ③ 追踪/角色状态.md ← 依赖伏笔.md 已存在 ④ 追踪/上下文.md ← 最后生成(其「角色状态:最近变更」字段依赖角色状态.md) ``` **① 追踪/伏笔.md**:从情节点的「铺垫」类型情节点提取潜在伏笔: ```markdown # 伏笔追踪 > [导入反推] 从情节点中自动识别的潜在伏笔,后续写作前需复核。 ## 伏笔状态表 | ID | 伏笔内容 | 埋设章节 | 预计回收章节 | 状态 | 重要度 | |----|---------|---------|-------------|------|--------| | F001 | {从铺垫情节点提取} | 第{N}章 | {如已回收则标注} | {已埋/已回收} | {中} | ``` **② 追踪/时间线.md**:从时间标记提取: ```markdown # 故事时间线 > [导入反推] 从原文时间标记中自动提取,后续写作前需复核。 ## 关键事件时序 | 章节 | 故事时间 | 事件 | 涉及角色 | 与主线关系 | |------|---------|------|---------|-----------| ``` **③ 追踪/角色状态.md**:从拆书产物反推每个主要角色的当前状态。反推算法详见 [references/character-state-reverse.md](references/character-state-reverse.md): - **输入来源**:拆文库已有产物(`角色/{角色名}.md`、`角色/角色关系.md`、`章节/第N章_摘要.md` 情节点、`剧情/*.md`)+ 已生成的 `追踪/伏笔.md`,**不重读 `原文/`**。 - **追踪范围**:主角、反派、核心配角;功能角色不进入。 - **输出对齐**:严格对齐 [character-state-reverse.md](references/character-state-reverse.md)「输出格式」的 `角色状态.md` 标准模板(当前身份 / 当前能力 / 关键关系 / 公众形象 / 待回收伏笔 / 状态变更记录),全文加 `[导入反推]` 标记。 - **生成时机**:必须在 `追踪/伏笔.md` 之后(步骤「待回收伏笔」依赖伏笔状态)。 - **半成品书**:最后一章为残稿时,角色状态以「残稿之前的最后一个完整章节」为准,文件头注明基准章节。 > 此文件不可遗漏。story-long-write 的日更准备层「状态筛选」依赖 `追踪/角色状态.md`;若缺失,导入书进入日更会永久走「从角色设定和前文推断」的兜底分支,长期降级。 **④ 追踪/上下文.md**:进度摘要(最后生成,「当前状态」中的角色状态变更引用 `角色状态.md`): ```markdown ## 写作进度 - 最后完成章节:第 {N} 章 - 更新时间:{导入日期} - 本期完成:导入 {N} 章,共 {X} 字 ## 当前状态 - 活跃伏笔:{A} 条待回收 - 角色状态:最近变更见 `追踪/角色状态.md` - 下一章细纲状态:已有(导入反推) - 注意事项:导入反推的文件在续写前需要复核;最后一章为残稿时在此注明残稿到第 N 章及用户选定的续写策略 ``` #### 3.8 题材定位生成 从拆文报告中提取核心发现,生成 `设定/题材定位.md`(按 [structure-mapping-long.md](references/structure-mapping-long.md)「题材定位生成」模板格式)。 `设定/题材定位.md` **必须包含「对标书清单 + 主对标书」段**,格式: ```yaml 主对标书: {书名} # 多本对标时日更默认用哪本的文风;缺失时 story-long-write 用字典序第一本并提示用户补 对标书列表: - 书名: {书名 A} 引用强度: 主 # 主 / 辅 / 参考 - 书名: {书名 B} 引用强度: 辅 ``` #### 3.9 文风同步 把 `拆文库/{书名}/文风.md` 复制到 `{项目}/对标/{书名}/文风.md`。纯复制,不重新生成。 **缺失处理**: - 拆文库没有文风文件(analyze 未跑 Stage 6)→ 导入报告提示用户重跑 `/story-long-analyze` 后再同步;日更前文风缺失会被 fail-fast 拦截 - 项目对标已有旧文风文件 → 覆盖(最新拆文产物优先),在导入报告告知 --- ## Phase 3-S:短篇结构迁移 将 `拆文库/{书名}/` 的短篇拆文产物迁移为 `{短篇标题}/` 短篇工程结构,供 story-short-write Phase 3 逐场景写作无缝接手。迁移规则详见 [references/structure-mapping-short.md](references/structure-mapping-short.md)。 > **短篇工程与长篇完全不同**:短篇正文是单文件 `正文.md`(不切章),**不产** `追踪/`、`大纲/`、`正文/` 等长篇目录。迁移时严禁误建这些长篇专属目录。 ### 短篇目标工程结构 ``` {短篇标题}/ ├── 设定.md ← 含核心框架 + 对标摘要 ├── 小节大纲.md ← 按段-小节结构反推 ├── 正文.md ← 单文件全文正文 └── 对标/{书名}/ ← 可选:拆文引用视图 ├── 拆文报告.md ├── 情节节点.md └── 写作手法.md ``` ### 迁移步骤 #### 3-S.1 正文迁移 将 `拆文库/{书名}/原文/` 的全文迁移为单文件 `{标题}/正文.md`,按 [format-and-structure.md](references/format-and-structure.md) 规范化格式(小节标记 `###1.`、段间无空行、半角双引号对话)。**原文已是成稿,不重写内容,只规范格式。** #### 3-S.2 设定生成 从 `拆文报告.md`、`写作手法.md` 反推 `{标题}/设定.md`,含两个区块: - **核心框架**:对齐 story-short-write 核心框架模板(基本信息、一句话梗概、核心反转、情绪设计、人设速写)。 - **对标摘要**:把故事结构、情绪节奏、核心反转机制、可复用写作手法写入对标摘要区。 #### 3-S.3 小节大纲生成 从 `情节节点.md` 的功能分段反推 `{标题}/小节大纲.md`,按开头段/铺垫段/升级段/反转段/结尾段映射;钩子字段标 `[待补充]`。 #### 3-S.4 对标引用视图(可选) 将 `拆文库/{书名}/` 整体复制为 `{标题}/对标/{书名}/`,供续写阶段的对标上下文加载。默认生成。 --- ## Phase 4:项目激活 ### 4.1 质量检查 按篇幅对照对应的质量检查清单: - **长篇**:完整迁移质量清单见 [references/structure-mapping-long.md](references/structure-mapping-long.md) 末尾的质量检查清单(含正文文件数对照、主要角色覆盖、`追踪/角色状态.md` 已生成且对齐标准模板、卷划分已经用户确认等)。 - **短篇**:质量清单见 [references/structure-mapping-short.md](references/structure-mapping-short.md) 末尾的质量检查清单(含 `正文.md` 单文件存在且格式合规、`设定.md` 含核心框架+对标摘要、未误建长篇专属目录等)。 ### 4.2 缺失项提示 输出导入结果摘要和待补充项,按篇幅分支。 **长篇导入完成报告**: ``` === 导入完成报告(长篇)=== 书名:{书名} 源文件:{X} 章,{Y} 万字 项目目录:{路径} ## 已生成文件 - 正文:{N} 章 - 角色文件:{M} 个 - 大纲:大纲.md + {V} 个卷纲 + {N} 个细纲 - 追踪:伏笔.md + 时间线.md + 角色状态.md + 上下文.md - 设定:{世界观文件数} 个 ## 待补充项 - [ ] 所有 [导入反推] 标记的文件已复核 - [ ] 细纲中的章首/章尾钩子需要补充 - [ ] 题材定位的核心梗三分法需要确认 - [ ] 伏笔追踪中的伏笔已复核 - [ ] 角色状态.md 已复核(日更准备层依赖此文件) - [ ] 卷划分已确认(原文无明确卷界时) - [ ] 文风已从拆文库同步到 `对标/{书名}/`(日更前 fail-fast 依赖此文件) - [ ] `设定/题材定位.md` 已含 `主对标书` 字段(多本对标时必填) ## 下一步操作 - 运行 `/story-review lean` 审查导入结果 - 运行 `/story-long-write` + "日更" 开始续写 ``` **短篇导入完成报告**: ``` === 导入完成报告(短篇)=== 标题:{短篇标题} 源文件:{Y} 字 项目目录:{路径} ## 已生成文件 - 正文.md(单文件,{Y} 字) - 设定.md(核心框架 + 对标摘要) - 小节大纲.md({N} 个小节) - 对标/{书名}/(可选引用视图) ## 待补充项 - [ ] 所有 [导入反推] / [待补充] 标记的文件已复核 - [ ] 小节大纲的章首/章尾钩子需要补充 - [ ] 核心反转的铺垫线索已确认 ## 下一步操作 - 运行 `/story-short-write` Phase 3 开始续写 ``` ### 4.3 项目激活 - 设置 `.active-book` 指向导入的书名/标题目录 - 确认项目可以被对应写作 skill 识别(长篇 → story-long-write,短篇 → story-short-write) - 可选验证:如果项目已部署 story-explorer agent(检查 `.claude/agents/story-explorer.md` 是否存在),可 spawn `Agent(subagent_type: "story-explorer", prompt: "项目目录:{dir}\n查询类型:progress\n查询参数:导入验证")` 交叉验证迁移数据完整性 > setup 环境检测已在 Phase 1「环境检测前置」完成,此处不再重复检测。 --- ## 大型作品处理(>200 章) > 本节仅适用于长篇导入。短篇为单文件全量迁移,无增量导入需求。 超过 200 章的作品,采用增量导入策略: 1. **首期导入**:只导入前 50 章 + 全书概要 2. **增量补充**:后续按用户需求分批导入剩余章节 3. **上下文摘要**:未导入的章节生成简化摘要(200 字/章) --- ## 参考资料索引 按阶段加载,不一次全部加载。 本 skill 自带的 reference 文件全部位于 `references/`,按场景加载。涉及别的 skill 的方法论/模板时,story-import 不直接加载文件,而是运行对应 `/命令` 由该 skill 自行加载。 ### Phase 1:确认导入源 | 场景 | 加载文件 | |------|---------| | 篇幅分流判定 | `references/length-routing.md` | | 章节格式识别 | 由 story-long-analyze 拆解管道(运行 `/story-long-analyze`)的阶段 1 负责 | ### Phase 2:深度分析 | 场景 | 加载文件 / 相关 skill | |------|---------| | 长篇深度分析(方法论、质量门控、输出模板均自带) | 运行 `/story-long-analyze` 调用长篇拆解管道 | | 短篇深度分析(方法论、质量门控、输出模板均自带) | 运行 `/story-short-analyze` 调用短篇拆解管道 | ### Phase 3:结构迁移 | 场景 | 加载文件 | |------|---------| | 长篇迁移映射规则 | `references/structure-mapping-long.md` | | 短篇迁移映射规则 | `references/structure-mapping-short.md` | | 角色状态反推规则(长篇) | `references/character-state-reverse.md` | | 角色状态规则(character-state-reverse.md 依赖) | `references/state-tracking.md` | | 短篇正文格式规范 | `references/format-and-structure.md` | > 长篇细纲模板格式参见 story-long-write(Phase 3 细纲部分);短篇核心框架模板参见 story-short-write(核心框架部分)。这两项为纯文本指引,story-import 不加载对应 skill 的文件。 ### Phase 4:项目激活 | 场景 | 说明 | |------|---------| | 长篇项目结构规范 | 参见 story-long-write(Phase 4 项目文件结构) | | 短篇项目结构规范 | 参见 story-short-write(Phase 3 项目结构) | | 环境部署 | 部署模板由 `/story-setup` 提供,story-import 不负责部署 | --- ## 流程衔接 **流水线:** 长篇 / 短篇 **位置:** 导入(在开书之前) | 时机 | 跳转到 | 命令 | |---|---|---| | 导入完想继续写(长篇) | story-long-write | `/story-long-write` + "日更" | | 导入完想继续写(短篇) | story-short-write | `/story-short-write` | | 导入完想审查质量 | story-review | `/story-review` | | 想深入分析对标(长篇) | story-long-analyze | `/story-long-analyze` | | 想深入分析对标(短篇) | story-short-analyze | `/story-short-analyze` | | 从零开新书(长篇) | story-long-write | `/story-long-write` + "开书" | | 从零开新书(短篇) | story-short-write | `/story-short-write` | | 项目未部署环境 | story-setup | `/story-setup` | --- ## 语言 - 跟随用户的语言回复,用户用什么语言就用什么语言回复 - 中文回复遵循《中文文案排版指北》