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-setupgit 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-setup)<a href="https://agentmods.dev/skills/xiaoyangy/novel-studio/story-setup"><img src="https://agentmods.dev/badge/skills/xiaoyangy/novel-studio/story-setup/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-setup"><img src="https://agentmods.dev/badge/skills/xiaoyangy/novel-studio/story-setup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00081 | $0.09124 |
| Opus 5 | $0.00041 | $0.04562 |
| Sonnet 5 | $0.00016 | $0.01825 |
| Haiku 4.5 | $0.00008 | $0.00912 |
Grade A, and why
story-setup 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 10d 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.
How it starts
The opening of the file, as written. The whole thing — 426 lines — stays where its author put it; the contents beside it link to each section on GitHub.
story-setup:网文写作工具集基础设施部署
你是写作基础设施部署器。将网文写作工具集的全套基础设施(hooks、rules、agents、CLAUDE.md、AGENTS.md、Codex/OpenClaw 配置)部署到用户项目目录。
执行铁律:不覆盖用户已有配置,合并而非替换。
Phase 1:检测项目状态
- 检查当前目录是否已部署过(存在
.story-deployed)- 如果已存在 → 使用 AskUserQuestion 确认是否重新部署
- 检查是否有书名目录(包含
追踪/子目录的目录,或用户自定义结构)- 有 → 识别为长篇项目,显示当前项目信息
- 无 → 识别为新项目或短篇项目
- 检查
.claude/settings.local.json是否存在- 存在 → 读取现有配置,后续合并
- 不存在 → 后续创建新文件
- 检查
.active-book文件是否存在- 存在 → 显示当前活跃书目
- 不存在 → 跳过
- 检查
opencode.json或.opencode/是否存在- 存在 → 识别为 opencode 项目,
target_cli = opencode - 不存在 → 跳过
- 存在 → 识别为 opencode 项目,
- 检查
.codex/、.codex/config.toml、.codex/agents/、.codex/hooks.json、AGENTS.md中的 Codex 段- 存在 → 识别为 Codex 项目,
target_cli = codex - 不存在 → 跳过
- 存在 → 识别为 Codex 项目,
- 检查
openclaw.json、.openclaw/、.agents/skills/、AGENTS.md中的 OpenClaw 段,或skills/*/SKILL.md中的metadata.openclaw- 存在 → 识别为 OpenClaw 项目,
target_cli = openclaw - 不存在 → 跳过
- 存在 → 识别为 OpenClaw 项目,
- 如
.claude/或CLAUDE.md、opencode 标记、Codex 标记、OpenClaw 标记同时存在 → 使用 AskUserQuestion 让用户选择目标 CLI(选项:仅 Claude Code / 仅 OpenCode / 仅 Codex / 仅 OpenClaw / 任意组合) - 如四者都不存在(全新项目)→ 使用 AskUserQuestion 让用户选择目标 CLI
- 用户选择 opencode →
target_cli = opencode,部署时创建opencode.json和.opencode/ - 用户选择 claude-code → 按现有逻辑处理
- 用户选择 codex →
target_cli = codex,部署时创建.codex/ - 用户选择 openclaw →
target_cli = openclaw,部署时复制 OpenClaw 兼容 skills 到项目skills/ - 用户选择多端 →
target_cli = claude-code,opencode,codex,openclaw(仅包含用户选择的端)
- 用户选择 opencode →
Phase 2:部署基础设施
使用 AskUserQuestion 确认部署位置后,依次执行。
2.0 部署清单(机械可检查)
| Source path | Target path | Owner class | Merge mode | Validation check |
|---|---|---|---|---|
skills/story-setup/references/templates/CLAUDE.md.tmpl |
CLAUDE.md |
user+managed | marker/section merge | contains story skill routing sections |
skills/story-setup/references/templates/hooks/ |
.claude/hooks/ |
story-setup managed | recursive replace | session-*.sh, detect-story-gaps.sh, validate-story-commit.sh, guard-outline-before-prose.sh, check-prose-after-write.sh, lib/common.sh, lib/sentinel.sh exist |
skills/story-setup/references/templates/rules/*.md |
.claude/rules/*.md |
story-setup managed | replace | every rule contains paths frontmatter |
skills/story-setup/references/templates/agents/*.md |
.claude/agents/*.md |
story-setup managed | replace | 7 agent files exist |
skills/story-setup/references/agent-references/*.md |
.claude/skills/story-setup/references/agent-references/*.md |
story-setup managed | replace | every story-setup/references/agent-references/*.md reference resolves |
skills/story-setup/references/templates/settings-hooks.json |
.claude/settings.local.json |
user+managed | merge by hook command | hook JSON valid and registered commands deduped |
skills/story-setup/references/templates/上下文.md.tmpl |
{书名}/追踪/上下文.md |
user state | create only if absent | never overwrite existing writing context |
| generated sentinel | .story-deployed |
story-setup managed | replace | contains agents_version, setup_skill_version, target_cli, resolver_strategy, references_dir |
skills/story-setup/references/opencode/AGENTS.md.tmpl |
AGENTS.md |
user+managed | marker/section merge | contains story skill routing sections |
skills/story-setup/references/opencode/agents/ |
.opencode/agents/ |
story-setup managed | replace | 7 agent files exist(replace 前按 2.4.4 Step 0 缓存现有 model:,避免覆盖用户已配模型) |
skills/story-setup/references/opencode/plugin.ts |
.opencode/plugins/story-hooks.ts |
story-setup managed | replace | TypeScript plugin file exists |
skills/story-setup/references/opencode/commands/ |
.opencode/commands/ |
story-setup managed | replace | 13 command files exist |
skills/story-setup/references/opencode/opencode.json.patch |
merge into opencode.json |
user+managed | merge by plugin/permission key | plugin entry registered |
skills/story-setup/references/agent-references/ |
skills/story-setup/references/agent-references/ |
story-setup managed | replace | every reference resolves |
skills/story-setup/references/opencode/pre-commit.sh |
.git/hooks/pre-commit |
user+managed | append or create | file exists and is executable;含 marker 块则替换块内容,不含则检测 exit 0 位置智能插入 |
skills/story-setup/references/codex/AGENTS.md.tmpl |
AGENTS.md |
user+managed | marker/section merge | contains Codex story skill routing sections |
skills/story-setup/references/codex/agents/ |
.codex/agents/ |
story-setup managed | replace | 7 TOML agent files parse and contain name/description/developer_instructions |
skills/story-setup/references/codex/hooks/hooks.json |
.codex/hooks.json |
user+managed | merge by event+command | hook JSON valid; commands deduped |
skills/story-setup/references/codex/hooks/story_codex_hook.py |
.codex/hooks/story_codex_hook.py |
story-setup managed | replace | Python syntax valid |
skills/story-setup/references/agent-references/ |
.codex/skills/story-setup/references/agent-references/ |
story-setup managed | replace | every reference resolves |
skills/story-setup/references/openclaw/AGENTS.md.tmpl |
AGENTS.md |
user+managed | marker/section merge | contains OpenClaw story skill routing sections |
repository skills/story*/ |
skills/story*/ |
story-setup managed for known skill names | replace known skill dirs only | 8 SKILL.md files exist; OpenClaw-compatible frontmatter |
skills/story-setup/references/agent-references/ |
skills/story-setup/references/agent-references/ |
story-setup managed | replace via full skill copy | every reference resolves |
What ships with it
60 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 5.1 KB
- CONTEXT.md 1.6 KB
- references/agent-references/anti-ai-writing.md 21 KB
- references/agent-references/banned-words.md 5.9 KB
- references/agent-references/character-basics.md 16 KB
- references/agent-references/character-design-methods.md 16 KB
- references/agent-references/character-relations.md 15 KB
- references/agent-references/dialogue-mastery.md 15 KB
- references/agent-references/emotional-arc-design.md 17 KB
- references/agent-references/emotional-methods.md 7.5 KB
- references/agent-references/format-and-structure.md 11 KB
- references/agent-references/genre-catalog.md 20 KB
- references/agent-references/genre-core-mechanics.md 17 KB
- references/agent-references/genre-readers.md 11 KB
- references/agent-references/genre-writing-formulas.md 21 KB
- references/agent-references/hooks-chapter.md 8.4 KB
- references/agent-references/hooks-suspense.md 15 KB
- references/agent-references/opening-design.md 12 KB
- references/agent-references/outline-conflict.md 17 KB
- references/agent-references/outline-methods.md 11 KB
- references/agent-references/outline-rhythm.md 13 KB
- references/agent-references/plot-core-methods.md 20 KB
- references/agent-references/quality-checklist.md 9.2 KB
- references/agent-references/reversal-toolkit.md 15 KB
- references/agent-references/style-combat-face.md 20 KB
- references/agent-references/style-genre-modules.md 20 KB
- references/agent-references/writing-craft.md 18 KB
- references/codex/AGENTS.md.tmpl 2.2 KB
- references/codex/agents/character-designer.toml 10.0 KB
- references/codex/agents/consistency-checker.toml 11 KB
- references/codex/agents/narrative-writer.toml 29 KB
- references/codex/agents/story-architect.toml 12 KB
- references/codex/agents/story-explorer.toml 19 KB
- references/codex/agents/story-researcher.toml 13 KB
- references/codex/hooks/hooks.json 6.5 KB
- references/codex/hooks/story_codex_hook.py 27 KB runs code
- references/openclaw/AGENTS.md.tmpl 2.6 KB
- references/opencode/AGENTS.md.tmpl 1.5 KB
- references/opencode/agents/character-designer.md 9.1 KB
- references/opencode/agents/consistency-checker.md 9.9 KB
- references/opencode/agents/narrative-writer.md 28 KB
- references/opencode/agents/story-architect.md 11 KB
- references/opencode/agents/story-explorer.md 18 KB
- references/opencode/agents/story-researcher.md 12 KB
- references/opencode/commands/story-deslop.md 195 B
- references/opencode/commands/story-long-write.md 173 B
- references/opencode/commands/story-review.md 185 B
- references/opencode/commands/story-setup.md 203 B
- references/opencode/commands/story-short-analyze.md 182 B
- references/opencode/commands/story-short-write.md 165 B
- references/opencode/commands/story.md 216 B
- references/opencode/opencode.json.patch 111 B
- references/opencode/plugin.ts 19 KB runs code
- references/opencode/pre-commit.sh 1.4 KB runs code
- references/templates/.gitkeep 0 B
- references/templates/agents/character-designer.md 9.3 KB
- references/templates/agents/consistency-checker.md 10 KB
- references/templates/agents/narrative-writer.md 29 KB
- references/templates/agents/story-architect.md 11 KB
- references/templates/agents/story-explorer.md 19 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.
- 10d ago First seen · 426 lines · 81 tokens per session scan A aec880ea36ca
story-setup is a skill published in the GitHub repository Xiaoyangy/novel-studio (105 stars, last pushed yesterday), licensed Apache-2.0. It adds 81 tokens to every session and 9,124 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
golang-patterns
Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.
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.
story
A Chinese-language routing tool for fiction writers that directs requests to tools for outlining, writing, analysis, reviews, covers, importing novels, browser control, and project management.