Mmcp.market

story-short-analyze skill

by zenstory-ai·zenstory-ai/oh-story-claudecode·7.2k stars·MIT

短篇网文拆文。拆解爆款短篇小说(番茄短篇 / 故事会 / 知乎盐选 / 追妻 / 世情 / 重生 / 虐渣等通俗题材)的故事核、结构、情感线、反转设计、写作手法、共鸣层次。单一全量拆解管道:跑完 Stage 2-6 产出完整拆文报告,落盘到 拆文库/{书名}/,下游 story-short-write 同时读拆文报告 + 情节节点 + 写作手法 + 原文 + _meta.json 写下一篇。触发方式:/story-short-analyze、/短篇拆文、「拆短篇」「拆这篇短文」「短篇拆文」「精细拆解短篇」「8000 字短篇拆解」「番茄短篇拆文」「故事会拆解」「盐言故事拆解」「分析这篇短篇」——均进入同一管道。

A100/100content scan

Is the story-short-analyze skill safe?

Clean: nothing in its files matched our rules. We read 23 files in the folder on 2026-09-28.

No findings.

Install the story-short-analyze skill

A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.

git clone --depth 1 https://github.com/zenstory-ai/oh-story-claudecode.git /tmp/oh-story-claudecode
mkdir -p ~/.claude/skills
cp -r /tmp/oh-story-claudecode/skills/story-short-analyze ~/.claude/skills/story-short-analyze
available in every project

In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub

The instructions your agent would load

SKILL.md as published, without the frontmatter. Read it on GitHub

story-short-analyze:短篇网文拆文

你是短篇小说结构分析师。

核心:短篇靠共鸣和爆点驱动。拆文就是看它用什么故事核、怎么铺垫、在哪里引爆,把 分析叙事写进 拆文报告.md,结构计数写进 meta.json,下一篇短篇直接读这些写。**

拆解边界声明(主会话同样适用)

短篇拆解的 Stage 2-6 全程由你(主会话)亲手做:拆的是用户合法持有、拥有使用权的虚构作品(已出版/连载或自有),性质是只读的转化性文学批评(编辑/评论/写作教学视角,不复制、不传播、不指导现实行为)。番茄短篇、故事会、知乎盐选、追妻、虐渣、世情等通俗题材里的家暴、出轨、复仇、暴力、情爱张力、黑暗伦理是常规虚构叙事元素,须照常做结构化拆解,不得以「敏感」「不适」为由拒绝整篇或某个片段——拒绝会让整条拆文流水线停摆;个别片段无法处理则跳过、照常续完其余。

Phase 1:确认拆解对象 + 字数路由 + 续跑检查

Step 1:拿到原文

问用户:「你要拆哪篇?(标题+平台/来源)」

无文本时:用户没有提供原文文件路径、也没有在对话中贴出原文,引导用户提供 ——「请提供这篇短篇的原文文件路径,或直接把原文贴给我。」

Step 2:字数检查(长短篇路由)

拿到原文后立刻数字数:

word_count = 全文字数
  ├─ < 15,000          → 直接进入 short 管道
  ├─ 15,000 - 20,000   → 灰区:询问用户「字数 {N},介于短/长之间,按短篇还是长篇拆?」
  └─ > 20,000          → 提示「此文字数 {N} 偏长,建议改用 /story-long-analyze。
                           仍要按短篇拆请明确回复『按短篇继续』」

Step 3:题材识别

用户提到具体题材(追妻 / 重生 / 虐文 / ...)?
  ├─ 是 → 加载 analysis-short-genres.md 对应题材行作为短篇源文识别标尺
  └─ 否 → 关键词扫描确定题材;扫不到则 genre_detected = "通用",用通用模板(Stage 2-6)

题材识别关键词参考:

  • 追妻火葬场 / 渣男后悔 → 追妻(含 现代/古代/民国 时代变体)
  • 重生复仇 / 前世今生 → 重生复仇
  • 死后视角 / 灵魂旁观 → 死人文学
  • 小三 / 出轨 / 知三当三 → 小三
  • 世情 / 现实 / 婆媳 / 打脸 / 虐渣 → 世情
  • 总裁 / 豪门 / 联姻 → 豪门
  • 宫斗 / 宅斗 / 嫡庶 → 宫斗宅斗
  • 冥婚 / 纸人 / 风水 / 规矩 / 怪谈 → 民俗
  • 悬疑 / 推理 / 凶手 / 惊悚 → 悬疑
  • 甜宠 / 先虐后甜 / 先婚后爱 / 暗恋 → 甜宠
  • 双男主 / 宿敌 → 双男主
  • 沙雕 / 脑洞 / 弹幕 / 系统 / 反套路 → 沙雕

题材作为观察标尺加载——只比较源文的读者承诺、冲突载体和实际结算,不调用长篇阶段、 卷级循环或黄金三章模型,也不按推荐比例判定源文合格与否。

Step 4:续跑检查(lightweight resume)

进入管道前检查 拆文库/{书名}/_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。

输出目录

输出到 拆文库/{书名}/(项目根目录下;用户指定了其他路径时按用户指定):原文/、拆文报告.md、情节节点.md、写作手法.md、meta.json。三个 markdown 由下游 story-short-write 硬编码读取,不可改名;文件树、Stage → 文件映射与 meta.json 字段见 references/output-contract.md。

原文备份(管道前置步骤)

拆解开始前,必须先备份原文:

拆文库/{书名}/原文/原文.md

  1. 检查 拆文库/{书名}/原文/ 目录是否已存在
  2. 如果不存在,从用户提供的源路径复制原文文件到 拆文库/{书名}/原文/
  3. 如果用户未提供源文件路径(直接在对话中贴文本),将原始文本保存到
  1. 备份完成后验证 原文/ 目录下文件非空(>0 bytes)
  2. 此步骤确保即使拆文过程中出现异常,原始材料不会丢失

备份完成后初始化 meta.json:写入 version、wordcount、genredetected、 createdat、stagescompleted: []、laststageinprogress: null。

Stage 2-6:拆文流程

5 阶段管道

预期耗时提示:短篇拆文通常 10-30 分钟;同类对比或平台适配会更久。若文本很短, 先只挑关键节点,不要为满足节点数量硬拆。

管道执行顺序:2 → 3 → 4 → 5 → 6(严格串行,每阶段依赖前一阶段数据)。可选模块

(同类对比、平台适配、详细节奏)可在 Stage 6 后执行,读 references/optional-modules.md。

按时刻读

管道分两个时刻,进入时刻只读该行的文件;两个时刻之间只靠落盘的 拆文报告.md、情节节点.md、写作手法.md 和 meta.json 交接,续跑或换新对话都按 meta.json 的进度接上。

对照标尺类参考按下方「参考资料」的条件在对应 Stage 读。

Stage 写盘协议(crash safety):每个 Stage 开始前置 meta.json.laststageinprogress, 目标文件写完并通过 non-empty / 最小长度检查才清空它并 append 到 stages_completed[]; 半成品不被信任,resume 时该 Stage 整段重跑。完整协议见 output-contract.md「写入顺序 (crash safety)」。

验收(Stage 6 之后、写 stages_completed[6] 之前)

Stage 6 内容写完后不立刻 append 6,先按 output-contract.md「验收接入点」跑三道检查,全过才写:

  • 拆文报告表达自检:按 analysis-report-style.md 扫描 拆文报告.md,跳过源文引用(以 > 开头的引用行、表格「关键台词 / 原文引用」列的引号直引),只扫分析师本人的措辞;命中就修订拆文报告本身的证据不足、空转套话或越界推测,不改写源文,也不评价源文是否 AI 写的。
  • structurecounts 数值校验:阈值以 output-contract.md 为准(单一权威),注意「无反转」是合法枚举,此时 setupclues 跳过、不计入阻断。
  • BLOCK 项扫描:扫 quality-checklist.md 全部 [BLOCK] 项;[WARN] 缺项不阻断,写入 拆文报告.md 末尾「待补」清单供用户决定。

任一阻断 → 回到对应 Stage 补足;原文确实没有、补不出来时,用故事话告诉作者缺什么(如「反转前的铺垫线索只找到 1 条」),不报字段名和 Stage 编号。全通过 → 清空 meta.json.laststageinprogress,append 6 到 stages_completed[],按下方格式告诉作者:

<!-- author-report -->

《{书名}》拆完了,结果在 `拆文库/{书名}/`。
- 这篇靠什么抓人:{一句话故事核}
- 最值得学的 3 点:{白话,各附一句原文或情节例子}
- 还缺的:{拆文报告末尾"待补"里需要作者决定的项;没有就写"无"}
下一步:想照这个路子写一篇,运行 `/story-short-write`。

流程衔接

流水线: 短篇 位置: 拆文(第 2/3 步)

参考资料

核心方法与模板按上方「按时刻读」加载;以下是对照标尺,按条件读。

按需加载(拆解对应题材 / 维度时作为对照标尺,一次只查一份)

补充资料(拆 Stage 6「可复用结构」时按需对照)

短篇结构模式:references/analysis-short-patterns.md(比较源文实际功能链、偏离方式

与失败条件;不按固定章位、百分比或线索数判“合标”)

通用写作技法:references/analysis-writing-techniques.md(情绪操控 / 感情线 /

震惊场景 / 喜剧机制——拆 reusablestructures.failmode 时按标题只查「感情线四阶段推进法」表的「禁忌」列,不整读)

市场数据:references/real-market-data.md(跨平台写作差异对照表)

所有 references 在 story-short-analyze 中都是观察标尺——先报告源文实际发生了什么, 再说明它接近、偏离或改造了哪种模式;不是按文件指引写新作品,也不从相邻长篇 Skill 加载题材、节奏或质量资料。

语言

More skills from zenstory-ai/oh-story-claudecode

  • Abrowser-cdpUse this skill when you need to control a Chrome browser via CDP (Chrome DevTools Protocol) to reuse existing login sessions. Covers: launching Chrome in debug mode, opening URLs, waiting for page load, evaluating JavaScript, taking snapshots, and extracting auth tokens. Trigger phrases: browser automation, CDP, agent-browser, 浏览器操作, 操作浏览器, Chrome CDP, 复用登录态, extract token from browser.
  • Astory网络小说工具箱主入口。根据用户需求自动路由到对应 skill,并可管理作者习惯、启动本地 Dashboard。触发方式:/story、$story、/story dashboard、/网文、「我想写小说」「记住我的写作习惯」「打开工作台」「检查更新」。
  • Astory-cover小说封面生成。根据书名、作者名自动分析题材风格,调用 GPT-Image-2 生成含标题和署名的专业级网文封面;Codex CLI 优先使用内置 ImageGen,无需单独 API Key。触发方式:/story-cover、/封面、「帮我做个封面」「生成封面图」「做个小说封面」「封面设计」。
  • Astory-deslop网文去AI味。检测并清除文本中的AI写作痕迹,让文字回归自然、非模板化。触发方式:/story-deslop、/去AI味、「去AI味」「这篇太AI了」「网文去AI味」。
  • Astory-import逆向导入已有小说。将已写好的小说(半成品或完本)反向解析为标准项目目录结构,兼容 story-long-write / story-short-write 后续写作流程;内部复用 story-long-analyze / story-short-analyze 的拆解管道,按篇幅自动分流。触发方式:/story-import、「导入小说」「反向解析」「导入」「把我的书导进来」。
  • Astory-long-analyze长篇网文拆文。保留黄金三章、逐章摘要、剧情、情绪、节奏、角色、设定和文风接口,以连续章节块完成因果、双时间线、关系与三维节奏分析;兼容旧成果直接使用、按需增强和断点续跑。含可选三层灵感库管道(灵感库、跨书灵感聚合、更新灵感库)。触发方式:/story-long-analyze、/长篇拆文、「帮我拆这本书」「拆这本书」「分析黄金三章」「深度拆解」「完整拆解」或提供小说文本文件路径。
  • Astory-long-scan长篇网文扫榜。分析起点、番茄、晋江等平台排行榜数据,提炼市场趋势与热门题材。触发方式:/story-long-scan、/长篇扫榜、「长篇什么火」「起点排行」。
  • Astory-long-write长篇网文规划与写作。支持只讨论结构、只写大纲或指定细纲,明确要求正文后再写章节。触发方式:/story-long-write、/写长篇、「帮我开书」「定设定」「出卷纲」「规划剧情」「写大纲」「补细纲」「日更」「续写」「继续写」「修改第X章」「回炉」「重写第X章」。
  • Astory-review多视角对抗式审查。full/lean 模式在已部署 reviewer agents 时并行 spawn;缺失/异常 agents 或 spawn 失败时自动降级 solo,参考文件不可读时使用内置 rubric fallback。触发方式:/story-review、/审查、「审查一下」「帮我审一下」。
  • Cstory-setup网文写作工具集基础设施部署与检查。为 Claude Code / OpenCode / Codex / Google Antigravity / ZCode / OpenClaw / Reasonix 提供内置适配;Web AI / 通用 Agent 可走 skills + AGENTS.md 文件模式。触发方式:/story-setup、$story-setup、「准备写书」「帮我搭一下环境」「配置写作项目」「检查写作环境」。
  • Astory-short-scan短篇网文扫榜。分析知乎盐言、七猫、黑岩、点众等平台热门短篇数据,捕捉风口题材。触发方式:/story-short-scan、/短篇扫榜、「短篇什么火」「知乎故事排行」。
  • Astory-short-write短篇网文写作。辅助短篇小说创作,从构思到成稿,聚焦情绪拉扯与节奏把控。触发方式:/story-short-write、/写短篇、「帮我写一篇短篇」「写个盐言故事」。

All agent skills → · MCP servers