Receber por email
← Voltar para o catálogo

story-import

Esta skill importa e analisa romances existentes (incompletos ou completos), convertendo-os em uma estrutura de projeto padrão compatível com os fluxos de trabalho de escrita story-long-write/story-short-write, reutilizando pipelines de análise para categorizar automaticamente por extensão.

2.8kestrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add worldwonderer/oh-story-claudecode

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/story-import/svg)](https://www.skillteca.com.br/skills/story-import)
#ai

Skills relacionadas

Ver todas de Outros →

Alerta por categoria

Receba novas skills de Outros toda segunda

1 email curto, só com as skills novas de Outros. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

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. 用户确认:
  3. 书名:{自动检测或用户输入}
  4. 题材类型:{用户提供}
  5. 目标平台:{起点/番茄/晋江/其他}
  6. 是否完本:{是/否(半成品写到第N章)}
  7. 篇幅类型:长篇 / 短篇 —— 按 [references/length-routing.md](references/length-routing.md) 自动检测(用户显式声明 > 结构信号 > 字数兜底),并向用户复述检测结果请其确认。判定结果决定 Phase 3 走长篇还是短篇路径。
  8. 最后一章是否完整:完整章 / 残稿(写了一半)。若是残稿,提示用户并把「残稿到第 N 章」记入上下文,让用户决定是「基于残章续写」还是「先补完再导入」。story-import 只记录用户决定,不替用户选。
  9. 输出确认:向用户展示检测到的章节范围、字数、判定的篇幅类型、最后一章状态,确认后开始分析

环境检测前置

在进入 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) | 拆文库/{书名}/ |

调用契约

<!-- 契约说明:story-import 依赖 story-long-analyze 的「跳过询问」机制 (对应 story-long-analyze「Stage 1 停靠点」的「跳过询问的情形」)。 若 story-long-analyze 后续重构改动了该机制的触发措辞,需同步检查并更新本契约。 -->

长篇:自动续跑过 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 角色模板字段:

---
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 只记录候选方案。
Compartilhar X LinkedIn