browser-cdp
Use this skill when you need to control a Chrome browser via CDP (Chrome DevTools Protocol) to reuse existing login sessions.…
短篇网文拆文。拆解爆款短篇小说(番茄短篇 / 故事会 / 知乎盐言 / 追妻 / 世情 / 重生 / 虐渣等通俗题材)的故事核、结构、情感线、反转设计、写作手法、共鸣层次。单一全量拆解管道:跑完 Stage 2-6 产出完整拆文报告,落盘到 拆文库/{书名}/,下游 story-short-write 同时读拆文报告 + 情节节点 + 写作手法 + 原文 + _meta.json 写下一篇。触发方式:/story-short-analyze、/短篇拆文、「拆短篇」「拆这篇短文」「短篇拆文」「精细拆解短篇」「8000
Claude Code
$ npx -y skills add zenstory-ai/oh-story-claudecode --skill story-short-analyze --agent claude-code
Codex
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-analyze -a codex -y
Cursor
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-analyze -a cursor -y
Gemini CLI
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-analyze -a gemini-cli -y
GitHub Copilot
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-analyze -a github-copilot -y
OpenCode
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-analyze -a opencode -y
Windsurf
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-analyze -a windsurf -y
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 = 全文字数
├─ ≤ 20,000 → 直接进入 short 管道
├─ 20,000 - 30,000 → 灰区:询问用户「字数 {N},介于短/长之间,按短篇还是长篇拆?」
└─ > 30,000 → 提示「此文字数 {N} 偏长,建议改用 /story-long-analyze。
仍要按短篇拆请明确回复『按短篇继续』」读 [references/analysis-short-genres.md](references/analysis-short-genres.md),按「题材路由」表的关键词和识别锚点定主类型:用户提到具体题材时直接对照该行,否则按全文证据判断。`genre_detected` 只取表中 13 个类型名之一,扫不到写「通用」,按通用模板跑 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 编号。拆到一半时(1 → b,2 → a,3 → c):
<!-- author-report -->
《{书名}》之前拆到一半,停在"{当前阶段的白话名,如反转与写作手法}"。怎么处理?
1. 接着上次往下拆(推荐,已拆的部分保留)
2. 旧结果存档,从头重拆
3. 先不拆了已经拆完时(1 → a,2 → c):
<!-- author-report -->
《{书名}》之前已经拆完。怎么处理?
1. 旧结果存档,从头重拆
2. 先不拆了完整续跑规则见 [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)。
拆解开始前,先确保 `拆文库/{书名}/原文/` 下有非空原文备份(从源路径复制,或将对话中贴出的原文存为 `拆文库/{书名}/原文/原文.md`),再初始化 `_meta.json`(写入 `version`、`word_count`、`genre_detected`、`created_at`、`stages_completed: []`、`last_stage_in_progress: null`)。
---
只提取源文实际发生的变化,不为凑数量重复拆分;源文没有的项写明「源文没有」。
| 阶段 | 名称 | 输入 | 输出 | 完成标志 | |------|------|------|------|----------| | 2 | 结构+情节节点 | 全文 | 题材 + 故事核 + 故事梗概 + 功能分段(含开端/发展/高潮/结局)+ 情节节点清单(以语义变化为边界提取,每个节点带位置)。 | 结构划分与故事核已写 | | 3 | 情感线+爆点 | 故事核+结构划分+情节节点数据 | 情感曲线 + 钩子与付费断点 + 爆点分析(6维度)+ 期待感分析。 | 爆点分析 6 维度齐全 | | 4 | 反转+写作手法 | 节点+情感数据 | 前置反转检查 + 反转机制(铺垫线索逐条带位置)+ 写作手法(≥5项维度:POV/对话/时间/信息/其他)。 | 写作手法 ≥5 项维度 | | 5 | 人物+开头结尾 | 情节节点+全文 | 所有人物(分类+功能标签+功能评估)+ 开头分析(前50/100字)+ 结尾分析(收束检查)。 | 人物功能评估完成 | | 6 | 综合评估 + `_meta.json` 写计数 | 全部数据 | 五维评分 + 爆点性 + 话题性 + 共鸣分析(≥3层)+ 主结构 + 投稿层 + 可复用结构(含失败条件)+ 节奏速报 + **写入 `_meta.json.structure_counts`**。 | 左列输出齐全 + 通过验收 |
> 管道执行顺序:2 → 3 → 4 → 5 → 6(严格串行,每阶段依赖前一阶段数据)。
管道分两个时刻,进入时刻只读该行的文件;两个时刻之间只靠落盘的 `拆文报告.md`、`情节节点.md`、`写作手法.md` 和 `_meta.json` 交接,续跑或换新对话都按 `_meta.json` 的进度接上。标尺都是**观察标尺**:先报告源文实际发生了什么,再说明它接近、偏离或改造了哪种模式,不按标尺写新作品,也不从长篇 Skill 加载题材、节奏或质量资料。
| 时刻 | 读 | 按条件加读(每份在报告里都有对应段) | 交接 | |---|---|---|---| | Phase 1 与 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)、[analysis-short-genres.md](references/analysis-short-genres.md)、[analysis-short-hooks.md](references/analysis-short-hooks.md) | 源文靠证据链或信息差推进:[analysis-short-suspense.md](references/analysis-short-suspense.md);有系统、重生、规则等反复运转的核心机制:[analysis-short-mechanics.md](references/analysis-short-mechanics.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、[analysis-short-patterns.md](references/analysis-short-patterns.md)、[analysis-submission.md](references/analysis-submission.md) | 细拆反差、动机、反派、关系或感情线:[analysis-characters.md](references/analysis-characters.md);判断源文本身的短板与毒点:[source-story-quality.md](references/source-story-quality.md) | 验收通过,`stages_completed` 含 6 | | 拆完后作者要同类对比或逐节节奏 | [optional-modules.md](references/optional-modules.md) | — | — |
**Stage 写盘规则**(中断后可续):每个 Stage 开始前写入 `_meta.json.last_stage_in_progress`;目标文件写完、确认非空且长度合理后,才清空它并 append 到 `stages_completed[]`。半成品不可信,续跑时该 Stage 整段重跑。完整规则见 output-contract.md「写入顺序」。
---
Stage 6 内容写完后**不**立刻 append `6`,先按 output-contract.md「验收接入点」跑三道检查,全过才写:
任一阻断 → 回到对应 Stage 补写;源文确实没有的项,在报告里写明「源文没有」即算补齐,不为过验收编造。全通过 → 清空 `_meta.json.last_stage_in_progress`,append `6` 到 `stages_completed[]`,按下方格式告诉作者:
<!-- author-report -->
《{书名}》拆完了,结果在 `拆文库/{书名}/`。
- 这篇靠什么抓人:{一句话故事核}
- 最值得学的{一到三}点:{白话,各附一句原文或情节例子}
- 别照搬:{源文的人物身份、标志性台词、独特物件或事件顺序}
- 还缺的:{拆文报告末尾"待补"里需要作者决定的项;没有就写"无"}
下一步:想照这个路子写一篇,运行 `/story-short-write`。Claude Code / Codex / OpenCode agent skills for writing Chinese web novels (网文): 扫榜、拆文、写作、去AI味、封面全流程,长篇短篇都支持 | 14 skills for novel writing and long-form fiction with file-based continuity tracking. MIT.
Use this skill when you need to control a Chrome browser via CDP (Chrome DevTools Protocol) to reuse existing login sessions.…
小说封面生成与提示词设计。根据书名、作者名和题材构建封面提示词;用户只要提示词时不生图,要求封面图时调用 GPT-Image-2,Codex CLI 优先使用内置…
网文去AI味。从表达、叙事用笔、故事因果三层诊断并修复文本,保留作者文风与已定剧情。触发方式:/story-deslop、/去AI味、「去AI味」「这篇太AI了」「网文去AI味」。
逆向导入已有小说。将已写好的小说(半成品或完本)反向解析为标准项目目录结构,兼容 story-long-write / story-short-write 后续写作流程;内部复用 story-long-analyze /…
长篇网文拆文。保留黄金三章、逐章摘要、剧情、情绪、节奏、角色、设定和文风接口,以连续章节块完成因果、双时间线、关系与三维节奏分析;兼容旧成果直接使用、按需增强和断点续跑。含可选三层灵感库管道(灵感库、跨书灵感聚合、更新灵感库)。触发方式:/story-long…
长篇网文扫榜。分析起点、番茄、晋江、七猫等平台排行榜与新书数据,提炼市场趋势与热门题材。触发方式:/story-long-scan、/长篇扫榜、「长篇什么火」「起点排行」「扫七猫新书」。
Edit drafts into sharper, more human writing while preserving the writer's personal voice, or detect AI-slop patterns without…
Use when English text must be parsed without a human to resolve ambiguity — tool descriptions, error messages, inter-agent…