一键导入
story-setup
网文写作工具集基础设施部署。将 hooks/rules/agents/CLAUDE.md 等基础设施部署到用户项目目录。 触发方式:/story-setup、「准备写书」「帮我搭一下环境」「配置写作项目」
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
网文写作工具集基础设施部署。将 hooks/rules/agents/CLAUDE.md 等基础设施部署到用户项目目录。 触发方式:/story-setup、「准备写书」「帮我搭一下环境」「配置写作项目」
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
| name | story-setup |
| version | 1.1.1 |
| description | 网文写作工具集基础设施部署。将 hooks/rules/agents/CLAUDE.md 等基础设施部署到用户项目目录。 触发方式:/story-setup、「准备写书」「帮我搭一下环境」「配置写作项目」 |
| metadata | {"openclaw":{"source":"https://github.com/worldwonderer/oh-story-claudecode"}} |
你是写作基础设施部署器。将网文写作工具集的全套基础设施(hooks、rules、agents、CLAUDE.md)部署到用户项目目录。
执行铁律:不覆盖用户已有配置,合并而非替换。
.story-deployed)
opencode.json 是否存在 → OpenCode 环境;检查 .claude/settings.local.json 是否存在 → Claude Code 环境。两者可共存。追踪/ 子目录的目录,或用户自定义结构)
.active-book 文件是否存在
使用 AskUserQuestion 确认部署位置后,依次执行。
| 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, 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/templates/CLAUDE.md.tmplCLAUDE.md(如已存在,按「CLAUDE.md 合并策略」处理)skills/story-setup/references/templates/hooks/ 复制到用户项目 .claude/hooks/lib/,其中:
lib/common.sh 提供 project_root、discover_active_book、discover_all_bookslib/sentinel.sh 提供 .story-deployed 字段读取.claude/hooks/*.sh 设置执行权限(chmod +x);lib/*.sh 由 hook source,不要求可执行位skills/story-setup/references/templates/rules/ 下所有 .md 文件.claude/rules/ 目录skills/story-setup/references/templates/agents/ 下所有 .md 文件.claude/agents/ 目录UPGRADING.md 的版本检测结果重新部署memory、skills、disallowedTools)应被忽略。若目标工具报 frontmatter 错误,保留 name、description、tools 三项,删除不支持字段后再部署。story-setup/references/agent-references/*.md 这一本 skill 内复制路径;不要跨 skill 引用其他 skill 的 references。若全局安装路径不同,优先用项目内 .claude/skills/ 或 skills/ 作为规范路径前缀,其次用工具的 skill 搜索能力,不要假定固定绝对路径。skills/story-setup/references/agent-references/ 下所有 .md 复制到项目内 .claude/skills/story-setup/references/agent-references/skills/ 目录,也可以同步复制到 skills/story-setup/references/agent-references/ 作为 fallback,但不得只复制 fallback 而遗漏 .claude/skills/ 主路径story-setup/references/agent-references/<file>.md,源包与目标包都必须存在 <file>.mdskills/story-setup/references/templates/上下文.md.tmpl{书名}/追踪/ 已存在时,创建缺失的 {书名}/追踪/上下文.md追踪/ 目录兼容性说明:
settings-hooks.json中 PreToolUse 的if字段使用 Claude Code hook 条件语法,需要运行环境支持 hook-level if。若目标工具不支持该字段,hook 脚本本身仍会自检并 advisory-only 退出;部署时可删除该if字段并保留 matcher + command。
skills/story-setup/references/templates/settings-hooks.json.claude/settings.local.json(如存在).claude/settings.local.json.story-deployed 文件(sentinel file)key: value 格式,hook 用 references/templates/hooks/lib/sentinel.sh 读取):
deployed_at: <date -u +"%Y-%m-%dT%H:%M:%SZ">
agents_version: 10
setup_skill_version: 1.1.1
target_cli: claude-code+opencode
resolver_strategy: project-local-skill-reference
references_dir: skills/story-setup/references/agent-references
.story-deployed 已存在但无 agents_version 或版本 < 10,提示用户重新运行 story-setup 以更新 hooks/agents/rules/reference bundle(具体变更见 UPGRADING.md)当检测到 opencode.json 存在时,额外执行以下部署步骤。
| Source path | Target path | Merge mode |
|---|---|---|
skills/story-setup/references/templates/agents/*.md | .opencode/agents/*.md | replace |
skills/story-setup/references/agent-references/*.md | skills/story-setup/references/agent-references/*.md | replace |
| (内联) | opencode.json | merge (add skills.paths, plugin entry) |
| (内联) | AGENTS.md (if absent) | create from template |
.opencode/agents/(与 .claude/agents/ 并行部署)name(必须),description,modelmode: subagent, permission(按 tools 映射)tools, memory, skills, disallowedTools, maxTurnsmodel 转换:opus→anthropic/claude-opus-4-5, sonnet→anthropic/claude-sonnet-4-6, haiku→anthropic/claude-haiku-4-5(注意:此映射需随 Anthropic 模型版本更新而维护)tools 映射为 permission(Read→read: allow, Write→write: allow, disallowedTools→deny).opencode/agents/ 已存在 agent 文件,按 .story-deployed 的 agents_version 决定是否覆盖opencode.json(如存在),保留用户自定义字段"$schema": "https://opencode.ai/config.json"skills.paths(确保包含 "skills")instructions(确保包含 "AGENTS.md").opencode/plugin/story-hooks.ts 存在,添加到 plugin 数组AGENTS.md 时创建,包含 Skill 路由表、文件结构、协作规则CLAUDE.md 且无 AGENTS.md,从 CLAUDE.md 模板生成 OpenCode 兼容版target_cli 字段更新为 "opencode" 或 "claude-code+opencode"(根据检测结果).claude/settings.local.json 中的 hooks 字段是否正确.claude/hooks/ 下的脚本是否存在且有执行权限.claude/hooks/lib/common.sh 与 .claude/hooks/lib/sentinel.sh 是否存在.claude/rules/ 下的规则文件是否存在且包含 paths frontmatter.claude/agents/ 下的 7 个 agent 定义文件是否存在.claude/skills/story-setup/references/agent-references/ 下 reference 文件完整story-setup/references/agent-references/<file>.md 都能解析到 deployed bundle.story-deployed 是否存在且包含时间戳、agents_version: 10、setup_skill_version: 1.1.1、target_cli、resolver_strategy、references_dir/story-long-write 或 /story-short-write| 占位符 | 替换规则 | 示例 |
|---|---|---|
{项目名} | 用户项目名称或目录名 | 《剑来》、《暗卫》 |
{书名} | 书名目录名(与目录一致) | 与 {项目名} 相同,或用户自定义 |
{目标平台} | 目标发布平台 | 起点、番茄、晋江、知乎盐言 |
{作者名} | 用户笔名或昵称 | 未指定时用「作者」 |
替换时去掉花括号。如果用户未指定项目名,用当前目录名。未指定的占位符保留原样不替换。
用户已有 CLAUDE.md 时,按 marker/section 合并:
## 标题切分为 section maphooks 注册合并按 command 字段去重:
.claude/settings.local.json(如存在),提取 hooks 部分settings-hooks.json 模板,提取要注册的 hooks.story-deployed 不存在 → 全新安装,Phase 2 全部执行.story-deployed 存在且 agents_version: 10 → 提示已部署,AskUserQuestion 确认是否重新部署.story-deployed 存在但 agents_version < 10 → 提示需要更新,重新执行 Phase 2 覆盖 agents/hooks/rules/reference bundle,CLAUDE.md 和 settings.local.json 走合并策略| 文件 | 用途 |
|---|---|
| references/templates/CLAUDE.md.tmpl | 项目根 CLAUDE.md 模板 |
| references/templates/hooks/ | 6 个 hook 脚本模板 + lib/common.sh/lib/sentinel.sh |
| references/templates/rules/ | 4 条 path-scoped 规则模板 |
| references/templates/agents/ | 7 个 agent 定义模板(story-architect, character-designer, narrative-writer, consistency-checker, story-researcher, story-explorer, chapter-extractor) |
| references/agent-references/ | Agent 模板自带的参考资料副本;部署到 skills/story-setup/references/agent-references/,避免跨 skill references |
| references/templates/settings-hooks.json | hooks 注册 JSON 片段(Claude Code 专用) |
| references/templates/上下文.md.tmpl | 写作上下文模板 |
流水线: 部署 位置: 初始化(最前置)
| 时机 | 跳转到 | 命令 |
|---|---|---|
| 部署完成,开始写作 | story-long-write / story-short-write | /story-long-write 或 /story-short-write |
| 导入已有小说做拆解 | story-import | /story-import |
| 需要浏览器登录态(扫榜/拆文取原文) | browser-cdp | /browser-cdp |
基于 SOC 职业分类
网文去AI味。检测并清除文本中的AI写作痕迹,让文字回归自然、非模板化。 触发方式:/story-deslop、/去AI味、「去AI味」「这篇太AI了」「网文去AI味」
逆向导入已有小说。将已写好的小说(半成品或完本)反向解析为标准项目目录结构, 兼容 story-long-write / story-short-write 后续写作流程。内部复用 story-long-analyze / story-short-analyze 的拆解管道,按篇幅自动分流。 触发方式:/story-import、「导入小说」「反向解析」「导入」「把我的书导进来」
长篇网文拆文。深度拆解爆款长篇小说的黄金三章、人设架构、爽点设计、节奏控制。 单一深度拆解管道:跑完黄金三章(Stage 1)后产出快速预览报告并询问是否继续全量拆解, 确认后从 Stage 2 续跑逐章摘要、聚合分析、设定关系、汇总报告,全程产物落盘 `拆文库/{书名}/`。 触发方式:/story-long-analyze、/长篇拆文、「帮我拆这本书」「拆这本书」「分析黄金三章」 「深度拆解」「完整拆解」「系统拆解」或提供小说文本文件路径——全部进入同一管道。
长篇网文写作。从大纲到正文,辅助长篇网络小说的创作,包括世界观、人物、情节线管理。 触发方式:/story-long-write、/写长篇、「帮我开书」「写大纲」「日更」「续写」「继续写」「修改第X章」「回炉」「重写第X章」
多视角对抗式审查。full/lean 模式在已部署 reviewer agents 时并行 spawn;缺失/异常 agents 或 spawn 失败时自动降级 solo,参考文件不可读时使用内置 rubric fallback。 触发方式:/story-review、/审查、「审查一下」「帮我审一下」
短篇网文拆文。拆解爆款短篇小说(番茄短篇 / 故事会 / 知乎盐选 / 追妻 / 世情 / 重生 / 虐渣等通俗题材)的故事核、结构、情感线、反转设计、写作手法、共鸣层次。 单一全量拆解管道:跑完 Stage 2-6 产出完整拆文报告,落盘到 `拆文库/{书名}/`, 下游 `story-short-write` 同时读拆文报告 + 情节节点 + 写作手法 + 原文 + _meta.json 写下一篇。 触发方式:/story-short-analyze、/短篇拆文、「拆短篇」「拆这篇短文」「短篇拆文」 「精细拆解短篇」「8000 字短篇拆解」「番茄短篇拆文」「故事会拆解」「盐言故事拆解」 「分析这篇短篇」——均进入同一管道。