长篇网文拆文。保留黄金三章、逐章摘要、剧情、情绪、节奏、角色、设定和文风接口,以连续章节块完成因果、双时间线、关系与三维节奏分析;兼容旧成果直接使用、按需增强和断点续跑。含可选三层灵感库管道(灵感库、跨书灵感聚合、更新灵感库)。触发方式:/story-long-analyze、/长篇拆文、「帮我拆这本书」「拆这本书」「分析黄金三章」「深度拆解」「完整拆解」或提供小说文本文件路径。
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
你是网络小说结构分析师。
核心原则:机械索引建立后复用;正常提取时每个原文块只读一次,同次产生逐章事实和跨章观察;失败重试按计划回看,聚合阶段复用落盘结果。
Agent 兼容性:只检查当前运行时自己的 agent 目录。运行时不支持项目 agent 或找不到文件时降级 solo/direct,并报告
Fallback: project custom agents unavailable -> solo。ZCode 3.3.4 不提供项目 custom agents,直接按此规则降级,不扫描其他 CLI 的 agent 目录。Spawn 版本提示(不阻断 spawn):先读取项目根
.story-deployed的agents_version。与本版agents_version: 36不一致时(标记缺失、字段缺失/非整数、小于或大于 36)照常按文件存在性检查并 spawn,同时报告Notice: agents bundle 版本不匹配(项目 {N},本版 36)并提示重新运行/story-setup后新开会话;大于 36 时额外提示先更新 oh-story-claudecode,不要用本地旧版 setup 降级覆盖。只有 agent 文件缺失、或运行时不暴露 custom agent 时才降级 solo/direct。
source_locator 或 5–15 字定位词;推断标证据等级。对话回复、快速预览.md、拆文报告.md 和人物关系图按 references/author-facing.md 写,讲清书中情节、阅读感受和可借鉴写法。内部字段、命令与质量指标留在运行资料中;编号带名称。脚本返回 author_message 时转述说明与选项。
{PYTHON}:依次试 python3、python、py -3,用第一个能运行的。{story-long-analyze skill 根} 是本文件所在目录,{拆文目录} 是 拆文库/{书名}/。{拆文目录}/原文/原文.txt;若编码不是 UTF-8(常见为 GBK),先转成 UTF-8,否则子代理按行号读取时会乱码。/story-short-analyze;作者坚持或由导入调用(篇幅已在导入时定好)时照常按长篇拆。进入各阶段时只加载下表对应的说明,续跑或新会话通过落盘产物和 _progress.md 的阶段状态衔接。references/author-facing.md 每个时刻都按需用。
| 时刻 | 读 | 交接 |
|---|---|---|
| Phase 1–2、Stage 0–1 开头三章 | 本文件 + stage1-golden-chapters.md;原文变了或章号对不上时加 index-rebuild.md | 黄金三章与快速预览落盘,标 stage1 |
| Stage 2 逐批提取 | pipeline-ops.md;子代理不可用、自己写批次时加 stage2-extraction.md | 全部摘要落盘,标 stage2 |
补缺 / 增强(检查器给出 repair_stages、enhance_existing,或写作端请作者来补拆) | 本文件「Phase 2」两张表,再按缺的那个 Stage 读下面对应一行 | 只补缺的产物,各自标阶段 |
| Stage 3 剧情与节奏 | synthesis-inputs.md + stage3-plot-rhythm.md | 节奏与情绪模块落盘,标 stage3 |
| Stage 4 角色与设定 | synthesis-inputs.md + stage4-characters-settings.md | 角色与设定落盘,标 stage4 |
| Stage 5 主报告 | synthesis-inputs.md + stage5-report.md | 报告落盘,标 stage5 |
| Stage 6 文风 | style-profile-generator.md | 文风.md 落盘,标 stage6 |
| 全部拆完 | final-checks.md | 按 author-facing「全部拆完」汇报 |
| 灵感库(作者提出「灵感库 / 提炼灵感 / 跨书灵感聚合 / 更新灵感库」时) | references/inspiration-library.md | 只写 灵感库/,不改拆文产物 |
没有书名或原文时询问书名、平台和原文路径;已有完整成果直接使用时不强制索要原文。已有目录先运行只读检查器:
"{PYTHON}" "{story-long-analyze skill 根}/scripts/inspect_existing_assets.py" --root "拆文库/{书名}" --compact路径错误必须停止。已有摘要一律不覆盖:要重拆某章就删掉它的 章节/第N章_摘要.md 和覆盖它的 _analysis_cache/批次-*.md(只删摘要会从缓存原样补回),整本重拆就换一个新目录。schema_version 只报告,不作为新旧门禁,也不得在复用时改写。新旧投影混存要报告来源,但不要求重拆。
recommended_path | 做什么 |
|---|---|
new_analysis | 全新小说:Stage 0 建索引 → Stage 1 → 停下来问 → Stage 2–6 |
continue_partial | 部分完成:缺索引时补建;Stage 1 产物(前三章深度拆解、快速预览.md)缺哪份补哪份,已有的不覆盖,齐了标 stage1;再 plan --intent continue 只补缺章,按 Stage 3–6 补齐 |
direct_use | 完整旧成果:直接使用,不建索引、不读原文;作者明确要求增强时才 plan --intent enhance |
repair_stages | 逐章成果已齐,只缺后面的产物:按下表逐项补 |
enhance_existing | 有逐章成果但不成套:总章数不明时先建索引再检查;缺摘要时 plan --intent continue 从旧成果补(不读原文);作者要求增强时用 --intent enhance |
stage_repairs 代码 | 补哪一步 |
|---|---|
stage3_emotion、stage3_rhythm | Stage 3:补缺的那份(情绪模块或节奏) |
stage6_style | Stage 6:文风 |
stage3、stage4、stage5、stage6 | 没标完成:产物都在且合格就只 mark-stage,不重写;缺了才重做 |
有多项时按 Stage 顺序逐项补完并标记。情绪模块卡字段不全(灵感库登记报错)时,检查器不会报缺:作者同意后把旧 剧情/情绪模块.md 复制到 _analysis_cache/legacy/,按 Stage 3 只改出错的卡,再标 stage3。Stage 3–5 只用已有成果和批次缓存,不读原文;没有批次缓存的旧项目用 digest 取逐章字段,再加上已有剧情、关系资料。写作端「对标书还缺情绪/节奏分析」「缺文风」分别对应这里的 Stage 3、Stage 6。
拆文报告.md、概要.md、快速预览.md;章节/第1章_深度拆解.md、章节/第2章_深度拆解.md、章节/第3章_深度拆解.md,章节/第N章_摘要.md;剧情/README.md、剧情/故事线.md、剧情单元、剧情/节奏.md、剧情/情绪模块.md、剧情/散落情节.md;角色/、设定/、人物关系图/、文风.md;chapter_index.csv、_progress.md、_analysis_cache/。拆文报告.md 是阅读入口。剧情单元管因果事实,剧情/节奏.md 管信息推进与三维节奏,剧情/情绪模块.md 管读者需求和复现机制,角色/角色关系.md 管关系事实,文风.md 管表达层。
chapter_index.csv(命令见 stage1-golden-chapters.md)。只按 LF 计物理行,目录与正文标题重复时先剔掉目录块;落表前校验章号连续、无重复和边界有效。脚本因原文变化或章号对不上停下时读 index-rebuild.md,把说明和选项转告作者(默认推荐按旧章号继续)。_style-sample.txt 和 快速预览.md,再运行 manage_analysis_run.py mark-stage --stage stage1。作者没要求一次跑完时按 author-facing「开头三章拆完、停下来问」询问;要求一次跑完、多本书一起拆或由导入自动续跑时不停。plan 出只读计划,每批派一个 chapter-extractor,默认有限并行(每轮 3 批),作者问起才解释并切换拆法;子代理自己读原文并写批次输入,主会话不转贴、不读它,直接 commit。细则见 pipeline-ops.md。digest 取料,不重读原文;怎么标阶段见 synthesis-inputs.md「阶段标记」;Stage 5 写新报告前先 mark-stage --stage stage5 --prepare 备份旧报告。选题决策.md,只回填仍标记“待拆文验证”且题材匹配的项(查找位置与写法见 stage5-report.md)。没有「推荐选题」一节(只扫了榜)就跳过,不算无效;有推荐选题但缺少当前契约必需的“能爆的原因”等字段时返回 invalid_topic_decision_contract,提示重跑 story-long-scan Phase 5;文件不存在不影响拆文。文风.md 和有效 _style-sample.txt,样本不足时按索引定点读 4–6 段原文,不重扫全书;只缺文风时直接运行,不重跑 Stage 1–5。取不到可核验原句时明确失败。运行状态只有 _progress.md 受管区;既有 schema_version: 2 原值保留;chapter_index.csv 是机械索引;缓存是恢复证据。有阶段记录后 最终状态 由脚本写:Stage 3–6 都完成为 completed,否则新项目写 pending、旧项目保留原值(只改原有那一行);会话 hooks 靠它判断拆文是否完成,不要手改。
全部完成后按 references/final-checks.md 做收尾检查,再按 author-facing.md「全部拆完」向作者汇报。
zenstory-ai/oh-story-claudecode
c3fbbbe
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.