browser-cdp
Use this skill when you need to control a Chrome browser via CDP (Chrome DevTools Protocol)…
短篇网文拆文。拆解爆款短篇小说(番茄短篇 / 故事会 / 知乎盐选 / 追妻 / 世情 / 重生 / 虐渣等通俗题材)的故事核、结构、情感线、反转设计、写作手法、共鸣层次。单一全量拆解管道:跑完 Stage 2-6 产出完整拆文报告,落盘到 拆文库/{书名}/,下游 story-short-write 同时读拆文报告 + 情节节点 + 写作手法 + 原文 + _meta.json 写下一篇。触发方式:/story-short-analyze、/短篇拆文、「拆短篇」「拆这篇短文」「短篇拆文」「精细拆解短篇」「8000
$ npx -y skills add zenstory-ai/oh-story-claudecode --skill story-short-analyze --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/story-short-analyzeContext preview
The summary Claude sees to decide when to auto-load this skill.
短篇网文拆文。拆解爆款短篇小说(番茄短篇 / 故事会 / 知乎盐选 / 追妻 / 世情 / 重生 / 虐渣等通俗题材)的故事核、结构、情感线、反转设计、写作手法、共鸣层次。单一全量拆解管道:跑完 Stage 2-6 产出完整拆文报告,落盘到 拆文库/{书名}/,下游 story-short-write 同时读拆文报告 + 情节节点 + 写作手法 + 原文 + _meta.json 写下一篇。触发方式:/story-short-analyze、/短篇拆文、「拆短篇」「拆这篇短文」「短篇拆文」「精细拆解短篇」「8000
name: story-short-analyze
version: 3.1.0
description: "短篇网文拆文。拆解爆款短篇小说(番茄短篇 / 故事会 / 知乎盐选 / 追妻 / 世情 / 重生 / 虐渣等通俗题材)的故事核、结构、情感线、反转设计、写作手法、共鸣层次。单一全量拆解管道:跑完 Stage 2-6 产出完整拆文报告,落盘到 拆文库/{书名}/,下游 story-short-write 同时读拆文报告 + 情节节点 + 写作手法 + 原文 + _meta.json 写下一篇。触发方式:/story-short-analyze、/短篇拆文、「拆短篇」「拆这篇短文」「短篇拆文」「精细拆解短篇」「8000 字短篇拆解」「番茄短篇拆文」「故事会拆解」「盐言故事拆解」「分析这篇短篇」——均进入同一管道。"
metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudecode"}}你是短篇小说结构分析师。
**核心:短篇靠共鸣和爆点驱动。拆文就是看它用什么故事核、怎么铺垫、在哪里引爆,把 分析叙事写进 `拆文报告.md`,结构计数写进 `_meta.json`,下一篇短篇直接读这些写。**
---
短篇拆解的 Stage 2-6 全程由你(主会话)亲手做:拆的是用户**合法持有、拥有使用权**的虚构作品(已出版/连载或自有),性质是**只读的转化性文学批评**(编辑/评论/写作教学视角,不复制、不传播、不指导现实行为)。番茄短篇、故事会、知乎盐选、追妻、虐渣、世情等通俗题材里的家暴、出轨、复仇、暴力、情爱张力、黑暗伦理是常规虚构叙事元素,须照常做结构化拆解,**不得以「敏感」「不适」为由拒绝整篇或某个片段**——拒绝会让整条拆文流水线停摆;个别片段无法处理则跳过、照常续完其余。
---
问用户:**「你要拆哪篇?(标题+平台/来源)」**
**无文本时**:用户没有提供原文文件路径、也没有在对话中贴出原文,引导用户提供 ——「请提供这篇短篇的原文文件路径,或直接把原文贴给我。」
拿到原文后立刻数字数:
word_count = 全文字数
├─ < 15,000 → 直接进入 short 管道
├─ 15,000 - 20,000 → 灰区:询问用户「字数 {N},介于短/长之间,按短篇还是长篇拆?」
└─ > 20,000 → 提示「此文字数 {N} 偏长,建议改用 /story-long-analyze。
仍要按短篇拆请明确回复『按短篇继续』」用户提到具体题材(追妻 / 重生 / 虐文 / ...)? ├─ 是 → 加载 analysis-short-genres.md 对应题材行作为短篇源文识别标尺 └─ 否 → 关键词扫描确定题材;扫不到则 genre_detected = "通用",用通用模板(Stage 2-6)
题材识别关键词参考:
题材作为观察标尺加载——只比较源文的读者承诺、冲突载体和实际结算,不调用长篇阶段、 卷级循环或黄金三章模型,也不按推荐比例判定源文合格与否。
进入管道前检查 `拆文库/{书名}/_meta.json`:
存在 _meta.json?
├─ 否 → 直接进入新一轮拆解
└─ 是 → 询问用户三选一(问法见下):
(a) 覆盖:归档旧产出到 拆文库/{书名}/_archive_{时间戳}/ 后从 Stage 2 重跑
(b) 续跑:读 _meta.json.last_stage_in_progress(非空 → 从该 Stage 整段重跑)
或读 _meta.json.stages_completed[](从 max+1 续跑)
(c) 取消问作者时不提文件名、字段名和 Stage 编号:
<!-- author-report -->
《{书名}》之前拆过,{拆到一半,停在"{当前阶段的白话名,如反转与写作手法}" | 已经拆完}。怎么处理?
1. 接着上次往下拆(推荐,已拆的部分保留)
2. 旧结果存档,从头重拆
3. 先不拆了完整 resume 契约见 [references/output-contract.md](references/output-contract.md)。
---
输出到 `拆文库/{书名}/`(项目根目录下;用户指定了其他路径时按用户指定):`原文/`、`拆文报告.md`、`情节节点.md`、`写作手法.md`、`_meta.json`。三个 markdown 由下游 `story-short-write` 硬编码读取,不可改名;文件树、Stage → 文件映射与 `_meta.json` 字段见 [references/output-contract.md](references/output-contract.md)。
**拆解开始前,必须先备份原文**:
1. 检查 `拆文库/{书名}/原文/` 目录是否已存在 2. 如果不存在,从用户提供的源路径复制原文文件到 `拆文库/{书名}/原文/` 3. 如果用户未提供源文件路径(直接在对话中贴文本),将原始文本保存到 `拆文库/{书名}/原文/原文.md` 4. 备份完成后验证 `原文/` 目录下文件非空(>0 bytes) 5. 此步骤确保即使拆文过程中出现异常,原始材料不会丢失
备份完成后初始化 `_meta.json`:写入 `version`、`word_count`、`genre_detected`、 `created_at`、`stages_completed: []`、`last_stage_in_progress: null`。
---
**预期耗时提示**:短篇拆文通常 10-30 分钟;同类对比或平台适配会更久。若文本很短, 先只挑关键节点,不要为满足节点数量硬拆。
| 阶段 | 名称 | 输入 | 输出 | 完成标志 | |------|------|------|------|----------| | 2 | 结构+情节节点 | 全文 | 故事核 + 故事梗概 + 功能分段(4-6段,必须含开端/发展/高潮/结局)+ 情节节点清单(以语义变化为边界提取)。 | 结构划分 ≥4 段 + 故事核已提取 | | 3 | 情感线+爆点 | 故事核+结构划分+情节节点数据 | 情感曲线(≥5节点)+ 爆点分析(6维度)+ 期待感分析。 | 爆点分析 6 维度齐全 | | 4 | 反转+写作手法 | 节点+情感数据 | 前置反转检查 + 反转机制(铺垫≥3条)+ 写作手法(≥5项维度:POV/对话/时间/信息/其他)。 | 写作手法 ≥5 项 | | 5 | 人物+开头结尾 | 情节节点+全文 | 所有人物(分类+功能标签+功能评估)+ 开头分析(前50/100字)+ 结尾分析(收束检查)。 | 人物功能评估完成 | | 6 | 综合评估 + `_meta.json` 写计数 | 全部数据 | 五维评分 + 爆点性 + 话题性 + 共鸣分析(≥3层)+ 可复用结构(≥3条)+ 节奏速报 + **算出并写入 `_meta.json.structure_counts`**。 | 左列输出齐全 + `structure_counts` 各字段达「structure_counts 数值校验」阈值 |
> 管道执行顺序:2 → 3 → 4 → 5 → 6(严格串行,每阶段依赖前一阶段数据)。可选模块 > (同类对比、平台适配、详细节奏)可在 Stage 6 后执行,读 [references/optional-modules.md](references/optional-modules.md)。
管道分两个时刻,进入时刻只读该行的文件;两个时刻之间只靠落盘的 `拆文报告.md`、`情节节点.md`、`写作手法.md` 和 `_meta.json` 交接,续跑或换新对话都按 `_meta.json` 的进度接上。
| 时刻 | 读 | 交接 | |---|---|---| | Stage 2–3 结构与情感线 | [output-contract.md](references/output-contract.md)、[analysis-method.md](references/analysis-method.md)、[stage2-3-structure-emotion.md](references/stage2-3-structure-emotion.md)、[quality-checklist.md](references/quality-checklist.md)、[analysis-report-style.md](references/analysis-report-style.md) | `stages_completed` 含 3 | | Stage 4–6 反转到综合评估、验收 | output-contract.md、analysis-method.md、[stage4-6-reversal-summary.md](references/stage4-6-reversal-summary.md)、quality-checklist.md、analysis-report-style.md;Stage 6 要判断源文本身好坏(毒点、虐爽节奏、证据链等)时加 [source-story-quality.md](references/source-story-quality.md) | 验收通过,`stages_completed` 含 6 |
对照标尺类参考按下方「参考资料」的条件在对应 Stage 读。
**Stage 写盘协议**(crash safety):每个 Stage 开始前置 `_meta.json.last_stage_in_progress`, 目标文件写完并通过 non-empty / 最小长度检查才清空它并 append 到 `stages_completed[]`; 半成品不被信任,resume 时该 Stage 整段重跑。完整协议见 output-contract.md「写入顺序 (crash safety)」。
---
Stage 6 内容写完后**不**立刻 append `6`,先按 output-contract.md「验收接入点」跑三道检查,全过才写:
任一阻断 → 回到对应 Stage 补足;原文确实没有、补不出来时,用故事话告诉作者缺什么(如「反转前的铺垫线索只找到 1 条」),不报字段名和 Stage 编号。全通过 → 清空 `_meta.json.last_stage_in_progress`,append `6` 到 `stages_completed[]`,按下方格式告诉作者:
<!-- author-report -->
《{书名}》拆完了,结果在 `拆文库/{书名}/`。
- 这篇靠什么抓人:{一句话故事核}
- 最值得学的 3 点:{白话,各附一句原文或情节例子}
- 还缺的:{拆文报告末尾"待补"里需要作者决定的项;没有就写"无"}
下一步:想照这个路子写一篇,运行 `/story-short-write`。---
**流水线:** 短篇 **位置:** 拆文(第 2/3 步)
| 时机 | 跳转到 | 命令 | |---|---|---| | 准备开写 | story-short-write(同时读 拆文报告.md + 情节节点.md + 写作手法.md +
Claude Code / Codex / OpenCode agent skills for writing Chinese web novels (网文): 扫榜、拆文、写作、去AI味、封面全流程,长篇短篇都支持 | 13 skills for novel writing and long-form fiction with file-based continuity tracking. MIT.
Repo: zenstory-ai/oh-story-claudecode
Use this skill when you need to control a Chrome browser via CDP (Chrome DevTools Protocol)…
小说封面生成。根据书名、作者名自动分析题材风格,调用 GPT-Image-2 生成含标题和署名的专业级网文封面;Codex CLI 优先使用内置 ImageGen,无需单独 API…
网文去AI味。检测并清除文本中的AI写作痕迹,让文字回归自然、非模板化。触发方式:/story-deslop、/去AI味、「去AI味」「这篇太AI了」「网文去AI味」。
逆向导入已有小说。将已写好的小说(半成品或完本)反向解析为标准项目目录结构,兼容 story-long-write / story-short-write 后续写作流程;内部复用…
长篇网文拆文。保留黄金三章、逐章摘要、剧情、情绪、节奏、角色、设定和文风接口,以连续章节块完成因果、双时间线、关系与三维节奏分析;兼容旧成果直接使用、按需增强和断点续跑。含可选三层灵感库管…
长篇网文扫榜。分析起点、番茄、晋江等平台排行榜数据,提炼市场趋势与热门题材。触发方式:/story-long-scan、/长篇扫榜、「长篇什么火」「起点排行」。