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.03373 |
| Opus 5.5 | $0.00090 | $0.01349 |
| Sonnet 5.5 | $0.00045 | $0.00675 |
| Haiku 4.5 | $0.00023 | $0.00337 |
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 8d 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 — 166 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 = 全文字数
├─ ≤ 20,000 → 直接进入 short 管道
├─ 20,000 - 30,000 → 灰区:询问用户「字数 {N},介于短/长之间,按短篇还是长篇拆?」
└─ > 30,000 → 提示「此文字数 {N} 偏长,建议改用 /story-long-analyze。
仍要按短篇拆请明确回复『按短篇继续』」
Step 3:题材识别
读 references/analysis-short-genres.md,按「题材路由」表的关键词和识别锚点定主类型:用户提到具体题材时直接对照该行,否则按全文证据判断。genre_detected 只取表中 13 个类型名之一,扫不到写「通用」,按通用模板跑 Stage 2-6。
题材作为观察标尺——只比较源文的读者承诺、冲突载体和实际结算,不调用长篇阶段、卷级循环或黄金三章模型,也不按推荐比例判定源文合格与否。
Step 4:续跑检查
进入管道前检查 拆文库/{书名}/_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):
《{书名}》之前拆到一半,停在"{当前阶段的白话名,如反转与写作手法}"。怎么处理?
1. 接着上次往下拆(推荐,已拆的部分保留)
2. 旧结果存档,从头重拆
3. 先不拆了
已经拆完时(1 → a,2 → c):
《{书名}》之前已经拆完。怎么处理?
1. 旧结果存档,从头重拆
2. 先不拆了
完整续跑规则见 references/output-contract.md。
输出目录
输出到 拆文库/{书名}/(项目根目录下;用户指定了其他路径时按用户指定):原文/、拆文报告.md、情节节点.md、写作手法.md、_meta.json。三个 markdown 由下游 story-short-write 硬编码读取,不可改名;文件树、Stage → 文件映射与 _meta.json 字段见 references/output-contract.md。
What ships with it
15 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-characters.md 3.4 KB
- references/analysis-method.md 2.6 KB
- references/analysis-report-style.md 2.4 KB
- references/analysis-short-genres.md 5.0 KB
- references/analysis-short-hooks.md 3.9 KB
- references/analysis-short-mechanics.md 4.4 KB
- references/analysis-short-patterns.md 4.2 KB
- references/analysis-short-suspense.md 4.2 KB
- references/analysis-submission.md 3.0 KB
- references/optional-modules.md 2.5 KB
- references/output-contract.md 6.9 KB
- references/quality-checklist.md 3.9 KB
- references/source-story-quality.md 4.5 KB
- references/stage2-3-structure-emotion.md 14 KB
- references/stage4-6-reversal-summary.md 29 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.
- 8d ago Changed · -49 lines f0ba6c01641d
- 12d ago Changed · -10 lines 5ef261b34ef0
- 29d ago Changed · -73 lines 544851e021f4
- 1mo ago Changed · +19 lines 3c9ccd95a5a8
- 1mo ago Changed 6bfbb111ef88
- 1mo 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 (629 stars, last pushed today), licensed MIT. It adds 226 tokens to every session and 3,373 once invoked, about $0.0009 per session on Opus 5.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-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-long-analyze
A long-form fiction analysis workflow for breaking down a novel’s opening chapters, characters, pacing, turning points, relationships, and overall structure.
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…
workflow-manager
A writing workflow tracker for chapter-based projects. It records whether each chapter is being assembled, drafted, reviewed, confirmed, polished, or archived.
review-chapter
A six-part review of a manuscript chapter. It compares the chapter with the outline and reports quality, coverage, review status, and problems supported by evidence from the text.
revise-span
A revision workflow for changing selected passages in a manuscript. It shows the original and proposed text, then applies changes only after the author confirms them.