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.5 | $0.00032 | $0.03650 |
| Sonnet 5.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 2mo 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.
- 2mo 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 (159 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 81 tokens to every session and 9,124 once invoked, about $0.0003 per session on Opus 5.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.
story-setup compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| story-setupXiaoyangy/novel-studio | Skill | 159 | 1mo ago | Apache-2.0 | A | 81 | Claude Code |
| golang-patternsdeepelementlab/clawcode | Skill | 126 | 5mo ago | GPL-3.0 | A | 27 | Claude Code, Codex |
| golang-testingaffaan-m/ECC | Skill | 302k | 5d ago | MIT | A | 37 | Claude Code, Kiro |
| golang-patternsaffaan-m/ECC | Skill | 302k | 5d ago | MIT | A | 45 | Claude Code, Kiro |
| story-deslopzenstory-ai/oh-story-claudecode | Skill | 8.6k | yesterday | MIT | A | 70 | Claude Code |
| storyzenstory-ai/oh-story-claudecode | Skill | 8.6k | yesterday | MIT | A | 63 | Claude Code |
| ax-go-agent-optimizeax-llm/ax | Skill | 3.0k | yesterday | Apache-2.0 | A | 51 | Claude Code, Codex |