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 Xiaoyangy/novel-studio --skill story-short-analyzegit clone --depth 1 https://github.com/Xiaoyangy/novel-studioWrote 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/xiaoyangy/novel-studio/story-short-analyze)<a href="https://agentmods.dev/skills/xiaoyangy/novel-studio/story-short-analyze"><img src="https://agentmods.dev/badge/skills/xiaoyangy/novel-studio/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/xiaoyangy/novel-studio/story-short-analyze"><img src="https://agentmods.dev/badge/skills/xiaoyangy/novel-studio/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.00225 | $0.04609 |
| Opus 5 | $0.00112 | $0.02305 |
| Sonnet 5 | $0.00045 | $0.00922 |
| Haiku 4.5 | $0.00022 | $0.00461 |
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 13d 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
89% identical to story-short-analyze — 71 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 — 267 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:确认拆解对象 + 字数路由 + 续跑检查
1.1 拿到原文
问用户:「你要拆哪篇?(标题+平台/来源)」
无文本时:用户没有提供原文文件路径、也没有在对话中贴出原文,引导用户提供 ——「请提供这篇短篇的原文文件路径,或直接把原文贴给我。」
1.2 字数检查(长短篇路由)
拿到原文后立刻数字数:
word_count = 全文字数
├─ < 15,000 → 直接进入 short 管道
├─ 15,000 - 20,000 → 灰区:询问用户「字数 {N},介于短/长之间,按短篇还是长篇拆?」
└─ > 20,000 → 提示「此文字数 {N} 偏长,长文拆解在工程外完成,把拆解成品直接放入 deconstruction-library/{书名}/。
仍要按短篇拆请明确回复『按短篇继续』」
为什么必须探针:短篇与长篇的节点密度、情感曲线节奏、共鸣层数差异显著;用短篇 管道拆 100k+ 长篇会把节点采样过疏,模型把单卷误判成全书。
1.3 题材识别
用户提到具体题材(追妻 / 重生 / 虐文 / ...)?
├─ 是 → 加载 genre-catalog.md 对应题材的「短篇视角」章节作为拆文标尺
└─ 否 → 关键词扫描确定题材;扫不到则 genre_detected = "通用",用通用模板(Stage 2-6)
题材识别关键词参考:
- 追妻火葬场 / 渣男后悔 → 追妻
- 重生复仇 / 前世今生 → 重生复仇
- 死后视角 / 灵魂旁观 → 死人文学
- 小三 / 出轨 / 知三当三 → 小三
- 世情 / 现实 / 婆媳 → 世情
- 仙侠 / 修仙 / 门派 → 仙侠
题材作为「对照标尺」加载——见 references/genre-catalog.md 等文件首段「## 用作
拆文标尺时」说明。
1.4 续跑检查(lightweight resume)
进入管道前检查 deconstruction-library/{书名}/_meta.json:
存在 _meta.json?
├─ 否 → 直接进入新一轮拆解
└─ 是 → 询问用户三选一:
(a) 覆盖:归档旧产出到 deconstruction-library/{书名}/_archive_{时间戳}/ 后从 Stage 2 重跑
(b) 续跑:读 _meta.json.last_stage_in_progress(非空 → 从该 Stage 整段重跑)
或读 _meta.json.stages_completed[](从 max+1 续跑)
(c) 取消
完整 resume 契约见 references/output-contract.md。
输出目录
输出到 deconstruction-library/{书名}/(项目根目录下)。用户指定了其他路径时按用户指定路径输出。
标准输出文件树:
deconstruction-library/{书名}/
├── 原文/ # 原文备份(管道前置步骤产出)
├── 拆文报告.md # 人类可读综合报告(Stage 2-6 所有可读段)
├── 情节节点.md # Stage 2 情节节点清单(独立成文,方便定位)
├── 写作手法.md # Stage 4 写作手法分析(独立成文,方便复用)
└── _meta.json # 管道元数据 + 结构计数(resume + Phase 7 数值依据)
What ships with it
20 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.
- context.json 1.8 KB
- CONTEXT.md 1.7 KB
- references/anti-ai-writing.md 21 KB
- references/banned-words.md 5.9 KB
- references/character-basics.md 17 KB
- references/character-design-methods.md 16 KB
- references/character-relations.md 16 KB
- references/deconstruction-examples.md 4.1 KB
- references/genre-catalog.md 21 KB
- references/genre-core-mechanics.md 18 KB
- references/genre-readers.md 11 KB
- references/genre-writing-formulas.md 21 KB
- references/genre-writing-techniques.md 20 KB
- references/hooks-chapter.md 8.4 KB
- references/hooks-paragraph.md 6.7 KB
- references/hooks-suspense.md 15 KB
- references/material-decomposition.md 35 KB
- references/quality-checklist.md 9.9 KB
- references/real-market-data.md 4.8 KB
- references/zhihu-style.md 2.2 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.
- 13d ago First seen · 267 lines · 225 tokens per session scan A 210fec4645bc
story-short-analyze is a skill published in the GitHub repository Xiaoyangy/novel-studio (109 stars, last pushed 4d ago), licensed Apache-2.0. It adds 225 tokens to every session and 4,609 once invoked, about $0.0011 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to story-short-analyze, differing in 71 lines, and is treated as a copy.
Other skills, from other repositories
golang-patterns
Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.
golang-testing
Go testing best practices including table-driven tests, test helpers, benchmarking, race detection, coverage analysis, and integration testing patterns. Use when writing or improving Go tests.
golang-patterns
Go-specific design patterns and best practices including functional options, small interfaces, dependency injection, concurrency patterns, error handling, and package organization. Use when working with Go code to apply idiomatic Go patterns.
story-import
A tool for turning an existing novel into a structured writing project. It analyzes the book and organizes its characters, settings, plot plans, chapters, and tracking data for later writing.
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.