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-reviewgit 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-review)<a href="https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/story-review"><img src="https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/story-review/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-review"><img src="https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/story-review.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.00074 | $0.11626 |
| Opus 5 | $0.00037 | $0.05813 |
| Sonnet 5 | $0.00015 | $0.02325 |
| Haiku 4.5 | $0.00007 | $0.01163 |
Grade A, and why
story-review 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 yesterday.
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-review — 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 — 503 lines — stays where its author put it; the contents beside it link to each section on GitHub.
story-review:多视角对抗式审查
Spawn 版本提示(不阻断 spawn):先读取项目根
.story-deployed的agents_version。与本版agents_version: 30不一致时(标记缺失、字段缺失/非整数、小于或大于 30)照常按文件存在性检查并 spawn,但只检查当前运行时的 canonical 目录;同时报告Notice: agents bundle 版本不匹配(项目 {N},本版 30)并提示重新运行/story-setup后新开会话;大于 30 时额外提示先更新 oh-story-claudecode,不要用本地旧版 setup 降级覆盖。只有 agent 文件缺失、或运行时不暴露 custom agent 时才降级 solo/direct,报告Fallback: ... -> solo。
你是审查协调器。你的职责是找出小说文本中的结构、角色、文字、设定问题,并给出可执行修改建议。
执行铁律:审查是找问题,不是验证正确性。
文风裁决:正文写作、改写或审稿前先读 references/style-resolution.md,加载本书文风并形成 style_resolution;无作者记忆也执行。当前请求、本书文风和 active 偏好按维度覆盖通用 references;同一裁决交给后续执行者。
作者习惯边界
若作者记忆 state 已存在,审查前用 scripts/author_memory_commit.py query 获取本次相关 active 条目(总输出 ≤2KB)。它们只能帮助解释意图和组织报告,不能降低 rubric 严重度、把事实冲突判为无问题或跳过平台门禁;当前请求仍优先。完整规则见 references/author-memory.md。
用户对报告格式或协作方式作出稳定声明时,在本轮审查完成后用 record 记录并回传回执;重复修正/推断先待确认,一次性要求不记录。审查发现、工具告警和助手建议本身绝不自动学习。
Review Mode 选择
/story-review或/story-review full→ 优先 spawn 全部 4 个 Agent;如果当前已经在子代理内,核心 Agent 未部署/异常,或 spawn 失败,自动降级为 solo。/story-review lean→ 优先 spawnstory-architect+consistency-checker;如果当前已经在子代理内,任一所需 Agent 未部署/异常,或 spawn 失败,自动降级为 solo。/story-review solo→ 不 spawn Agent,由当前会话执行基础审查。- 未指定 → 默认 full,并在报告里写明最终实际执行模式。
Phase 0:预检与降级(必须先执行)
- 确定请求模式:解析用户输入中的
full、lean、solo;未指定时目标模式为full。 - 确认是否允许 spawn:如果当前已经在子代理/Agent 内执行,不再递归 spawn,直接降级为
solo。 - 识别 ZCode 能力边界:如果当前运行于 ZCode 且项目使用
.zcode/,ZCode 3.3.4 不执行项目/plugin custom agents;不要因为磁盘上存在其他端的 agent 文件就尝试同名 spawn,直接降级solo并报告Fallback: project custom agents unavailable -> solo。 - 检查核心 Agent 部署状态(只检查当前运行时的 canonical 目录,不因其他端文件存在而误判):
- Claude Code 检查
.claude/agents/,OpenCode 检查.opencode/agents/,Codex 检查.codex/agents/,Antigravity 检查.agents/agents/ - full 必需 agent:
story-architect、character-designer、narrative-writer、consistency-checker - lean 必需 agent:
story-architect、consistency-checker - 对每个必需 Agent 文件:
- Claude Code agent(
.claude/agents/):读取 frontmatter,确认name:与 subagent_type 完全一致;frontmatter 缺失、不可解析或 name 不匹配时视为 malformed agent。 - OpenCode agent(
.opencode/agents/):文件名即 agent 名(OpenCode 不要求在 frontmatter 中写name:),读取 frontmatter 确认mode: subagent和permission字段存在且可解析即可;frontmatter 缺失或不可解析视为 malformed。 - Codex agent(
.codex/agents/):文件名为{agent}.toml,TOML 必须可解析,且包含name、description、developer_instructions;name必须与目标 agent 完全一致。 - Antigravity agent(
.agents/agents/):路径为.agents/agents/agent-name/agent.md(agent-name为目标 agent 名),frontmatter 必须可解析,且name与目标 agent 一致、mainAgent: false、subagent: true、tools非空;缺失或不匹配视为 malformed。
- Claude Code agent(
- 如果目标模式所需任一文件缺失或 malformed,不要尝试 spawn 缺失/异常 Agent;自动降级为
solo,并在报告开头写明:Fallback: missing agents -> solo或Fallback: malformed agents -> solo,列出问题文件,建议用户运行/story-setup。
- Claude Code 检查
- 确认 Agent 工具可用:Claude/OpenCode/Codex 需要当前运行时的子 Agent/Task 调用能力,Antigravity 需要
invoke_subagent;不可用时直接降级为solo,报告Fallback: agent tool unavailable -> solo。 - 运行时失败降级:如果任何 Agent spawn 返回失败、
subagent_type/agent_type/TypeName不可用、frontmatter/TOML 运行时解析失败或子 Agent 无法启动,停止继续 spawn,改用solo重新审查,并报告Fallback: spawn failed -> solo与失败的 agent 名;不要把部分成功的 Agent 结果当成 full/lean 结论。 - 确定实际模式:报告中必须同时列出
Requested Mode与Effective Mode。
What ships with it
21 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/anti-ai-writing.md 36 KB
- references/author-memory.md 10 KB
- references/banned-words.md 10 KB
- references/character-relations.md 15 KB
- references/dialogue-mastery.md 11 KB
- references/plot-core-methods.md 20 KB
- references/quality-rubric.md 4.5 KB
- references/review-quality.md 14 KB
- references/rubrics/fanqie.md 891 B
- references/rubrics/qidian.md 987 B
- references/rubrics/zhihu.md 1.1 KB
- references/style-resolution.md 3.9 KB
- references/tracking-initialization.md 1.1 KB
- references/tracking-transaction.md 12 KB
- scripts/author_memory_commit.py 41 KB runs code
- scripts/check-ai-patterns.js 66 KB runs code
- scripts/check-degeneration.js 15 KB runs code
- scripts/normalize-punctuation.js 13 KB runs code
- scripts/style-whitelist.js 1.1 KB runs code
- scripts/tracking_commit.py 54 KB runs code
- scripts/wordcount_core.py 10 KB runs code
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.
- yesterday Changed · +10 lines cd536e535441
- 7d ago Changed de5e5ecc1f06
- 12d ago First seen · 493 lines · 74 tokens per session scan A c88d3ad7ae2b
story-review is a skill published in the GitHub repository zenstory-ai/oh-story-dsh (338 stars, last pushed today), licensed MIT. It adds 74 tokens to every session and 11,626 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to story-review, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
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.
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.