Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add zenstory-ai/oh-story-dsh --skill story-short-analyzegit clone --depth 1 https://github.com/zenstory-ai/oh-story-dshWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/story-short-analyze)<a href="https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/story-short-analyze"><img src="https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/story-short-analyze/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/story-short-analyze"><img src="https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/story-short-analyze.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00226 | $0.05061 |
| Opus 5 | $0.00113 | $0.02531 |
| Sonnet 5 | $0.00045 | $0.01012 |
| Haiku 4.5 | $0.00023 | $0.00506 |
Grade A, and why
story-short-analyze scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to story-short-analyze — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 279 lines — stays where its author put it; the contents beside it link to each section 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) 取消
完整 resume 契约见 references/output-contract.md。
输出目录
输出到 拆文库/{书名}/(项目根目录下)。用户指定了其他路径时按用户指定路径输出。
标准输出文件树:
拆文库/{书名}/
├── 原文/ # 原文备份(管道前置步骤产出)
├── 拆文报告.md # 人类可读综合报告(Stage 2-6 所有可读段)
├── 情节节点.md # Stage 2 情节节点清单(独立成文,方便定位)
├── 写作手法.md # Stage 4 写作手法分析(独立成文,方便复用)
└── _meta.json # 管道元数据 + 结构计数(resume + 验收数值依据)
What ships with it
19 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/analysis-character-basics.md 17 KB
- references/analysis-character-design.md 16 KB
- references/analysis-character-relations.md 16 KB
- references/analysis-paragraph-hooks.md 6.7 KB
- references/analysis-reader-profile.md 11 KB
- references/analysis-report-style.md 2.5 KB
- references/analysis-short-genres.md 4.6 KB
- references/analysis-short-hooks.md 3.6 KB
- references/analysis-short-mechanics.md 4.3 KB
- references/analysis-short-patterns.md 4.2 KB
- references/analysis-short-suspense.md 4.2 KB
- references/analysis-writing-techniques.md 21 KB
- references/deconstruction-examples.md 4.2 KB
- references/material-decomposition.md 34 KB
- references/output-contract.md 8.9 KB
- references/output-templates.md 24 KB
- references/real-market-data.md 4.8 KB
- references/source-story-quality.md 10 KB
- references/zhihu-style.md 2.5 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago Changed 6bfbb111ef88
- 12d ago First seen · 279 lines · 226 tokens per session scan A 5d17a562446d
story-short-analyze is a skill published in the GitHub repository zenstory-ai/oh-story-dsh (338 stars, last pushed yesterday), licensed MIT. It adds 226 tokens to every session and 5,061 once invoked, about $0.0011 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to story-short-analyze, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
story-long-analyze
A long-form fiction analysis workflow for breaking down a novel’s opening chapters, characters, pacing, turning points, relationships, and overall structure.
story-deslop
A writing editor for Chinese web novels that detects writing patterns often associated with AI-generated text and makes the prose feel more natural.
story-short-analyze
A Chinese-language guide for analysing short popular web fiction, such as stories published on 番茄, 故事会, or 知乎盐选. It examines the core premise, plot structure, emotional arc, twists, writing techniques, and reader appeal.
browser-cdp
Use 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…
novel-language-style
A guide to choosing and controlling the writing style of online fiction. It covers narration, word choice, figurative language, dialogue, and techniques for making scenes easier to picture.
style-fingerprint
A Chinese-language system for measuring the writing style of a novel from a sample of its text. It records patterns in viewpoint, timing, sentences, word choice, dialogue, description, themes, and chapter structure.