WO

worldwonderer/oh-story-claudecode

Developer tools
3.9천 stars 품질 70 트렌드 70

网文/小说写作 skill 包,覆盖长篇与短篇网络小说的扫榜、拆文、写作、去AI味、封面图全流程 | An all-in-one skill pack for long- and short-form web fiction.

개요

网文写作 skill 包,覆盖长篇与短篇网络小说的扫榜、拆文、写作、去AI味、封面图全流程。内置适配 Claude Code、OpenCode、OpenClaw、Codex CLI、workbuddy;能读取项目文件的 Web AI / Agent 环境也可按通用 skills 路径使用。 1. :分析热门榜单,洞察题材、人设、切入点。 2. :拆解大纲节奏与剧情素材,建立个人模块库。 3. :学习并运用钩子、爽感、期待感等核心技巧。 围绕四条线展开:爆款逆向 · 剧情模块化重组 · 上下文状态分层管理 · 人机协同。 v0.6.22 起:长篇正文接入「题材正文提示卡」——32 个番茄题材的腔调卡在写作时按题材召回进写手(卡内容绝不入正文),并配套大纲边界与逐章写法公式防越界注水;短篇新增投稿层 submission-craft(知乎盐选/小程序/番茄三路平台基调、导语门面打磨、付费点断点设计);全套件 skill 文档去重瘦身约 33KB;story-setup 支持 generic Web AI 部署。已部署项目需重新运行 /story-setup 并新开会话。 v0.6.21 起:短篇写作参考栈瘦身——story-short-write 删除长篇继承残留 references,改由 short-format / short-craft / short-deslop + 四个题材包(追妻火葬场、复仇打脸、总裁豪门、宅斗宫斗)承接短篇格式、情绪直给、节奏密度和去 AI 味;已部署项目建议重新运行 /story-setup 并新开会话,获取新版 narrative-writer 短篇例外。 v0.6.20 起:长篇大纲补强——对标节奏迁移(把爆款拆解的剧情节奏按关键点回流进卷纲,缺节奏文件走章节摘要降级)+ 章节定位与张弛(破「每章像短篇」:按章在一级结构里的位置分高压/推进/关系/低压等定位,低压/关系/过场章不再被迫塞钩子爽点、但保留追读拉力,并加「禁情绪母题扎堆」底线;定位可留空、非硬配额)。 更早版本变更见 CHANGELOG.md。

README

English | 中文

oh-story-claudecode

网文写作 skill 包,覆盖长篇与短篇网络小说的扫榜、拆文、写作、去AI味、封面图全流程。内置适配 Claude Code、OpenCode、OpenClaw、Codex CLI、workbuddy;能读取项目文件的 Web AI / Agent 环境也可按通用 skills 路径使用。

核心思路

套路 = 确定性的情绪满足

专业作者的方法论三步走:

  1. 扫榜:分析热门榜单,洞察题材、人设、切入点。
  2. 拆文:拆解大纲节奏与剧情素材,建立个人模块库。
  3. 商业化写作:学习并运用钩子、爽感、期待感等核心技巧。

围绕四条线展开:爆款逆向 · 剧情模块化重组 · 上下文状态分层管理 · 人机协同。

v0.6.22 起:长篇正文接入「题材正文提示卡」——32 个番茄题材的腔调卡在写作时按题材召回进写手(卡内容绝不入正文),并配套大纲边界与逐章写法公式防越界注水;短篇新增投稿层 submission-craft(知乎盐选/小程序/番茄三路平台基调、导语门面打磨、付费点断点设计);全套件 skill 文档去重瘦身约 33KB;story-setup 支持 generic Web AI 部署。已部署项目需重新运行 /story-setup 并新开会话。

v0.6.21 起:短篇写作参考栈瘦身——story-short-write 删除长篇继承残留 references,改由 short-format / short-craft / short-deslop + 四个题材包(追妻火葬场、复仇打脸、总裁豪门、宅斗宫斗)承接短篇格式、情绪直给、节奏密度和去 AI 味;已部署项目建议重新运行 /story-setup 并新开会话,获取新版 narrative-writer 短篇例外。

v0.6.20 起:长篇大纲补强——对标节奏迁移(把爆款拆解的剧情节奏按关键点回流进卷纲,缺节奏文件走章节摘要降级)+ 章节定位与张弛(破「每章像短篇」:按章在一级结构里的位置分高压/推进/关系/低压等定位,低压/关系/过场章不再被迫塞钩子爽点、但保留追读拉力,并加「禁情绪母题扎堆」底线;定位可留空、非硬配额)。

更早版本变更见 CHANGELOG.md

流程总览

flowchart LR
    classDef entry fill:#f0f0f0,color:#333,stroke:#999,stroke-width:1px
    classDef phase fill:#e8f4fd,color:#1a1a2e,stroke:#4a9be8,stroke-width:1px
    classDef final fill:#fce4ec,color:#333,stroke:#e57373,stroke-width:1px

    entry_l{{"长篇作者"}}:::entry
    entry_s{{"短篇作者"}}:::entry
    entry_r{{"已有方向"}}:::entry
    entry_i{{"已有小说"}}:::entry

    subgraph S0 ["  环境部署"]
        setup["/story-setup"]:::phase
    end

    subgraph S1 ["  扫榜选材"]
        direction TB
        scan_l["长篇扫榜"]:::phase
        scan_s["短篇扫榜"]:::phase
    end

    subgraph S2 ["  拆文学习"]
        direction TB
        analyze_l["长篇拆文"]:::phase
        analyze_s["短篇拆文"]:::phase
        import_l["已有小说导入"]:::phase
    end

    subgraph S3 ["  落笔创作"]
        direction TB
        write_l["长篇写作"]:::phase
        write_s["短篇写作"]:::phase
    end

    subgraph S4 ["  精修定稿"]
        deslop["去 AI 味"]:::final
    end

    entry_l --> setup
    entry_s --> setup
    setup --> scan_l
    setup --> scan_s
    scan_l --> analyze_l
    scan_s --> analyze_s
    analyze_l --> write_l
    analyze_s --> write_s
    entry_r -.->|跳过准备| write_l
    entry_r -.->|跳过准备| write_s
    entry_i -.->|推荐先部署| setup
    setup -.->|逆向导入| import_l
    import_l -.->|续写| write_l
    write_l --> deslop
    write_s --> deslop

安装

方式一 直接告诉 Claude Code / OpenCode / OpenClaw / Codex,或其他支持导入 GitHub 仓库/skill 的 Web AI / Agent 平台:

安装这个 skill https://github.com/worldwonderer/oh-story-claudecode

方式二 命令行:

npx skills add worldwonderer/oh-story-claudecode -y -g

-g 全局安装,所有目录可用;去掉 -g 则只装到当前目录。更新时重新执行同一条命令即可。

Codex 用户: repo 内直接使用:Codex 会扫描 $REPO_ROOT/.agents/skills(指向 skills/ 的 symlink)发现 13 个 skill;用 $story$story-setup/skills 调用。Windows 上 git 需开 core.symlinks=true,否则 symlink 失效,改走下方 $story-setup 部署。 跑 $story-setup 部署到写作项目后,会写入 .codex/agents/*.toml.codex/hooks.json.codex/hooks/story_codex_hook.py.codex/skills/story-setup/references/agent-references/;请信任项目 .codex/ 配置层并在 /hooks review/trust hooks、新开 Codex 会话,让 custom agents 生效。

OpenCode 用户: 全局安装后 opencode 自动从 ~/.claude/skills/ 发现 skills;首次用自然语言触发 story-setup(如「用 story-setup 部署网文写作环境」),部署后退出重进 opencode -c 才能用 slash command。部分 hook 行为与 Claude Code 有差异(session-start / session-end / compact 等),详见 CONTRIBUTING.md 的 OpenCode 章节。

OpenClaw 用户: 当前支持 skills-only:OpenClaw 可从 workspace skills/.agents/skills~/.agents/skills~/.openclaw/skills 等 skill root 发现本项目 13 个 skill;SKILL.md 已按 OpenClaw 要求使用单行 name / description 与单行 JSON metadata.openclawstory-setup 选择 target_cli=openclaw 时会把 skills 复制到项目 skills/ 并写入 OpenClaw 版 AGENTS.md;agents/hooks 暂不部署,写正文前大纲守卫在 OpenClaw 下是 skill 内软约束。部署后如未显示新 skills,请新开 OpenClaw session 或等待 watcher 刷新。

Web AI / 通用 Agent 用户: 平台能读取 GitHub 仓库或项目文件时,可让 Agent 读取 skills/*/SKILL.md 与对应 references/;需要本地副本时,story-setup 可选 target_cli=generic,只写通用 AGENTS.mdskills/。无本项目 hooks/custom agents 的环境按 skill 内软约束或 solo/direct fallback 执行。

升级后如果项目里已经跑过 /story-setup,建议在项目根重跑一次 /story-setup,同步 hooks / agents / references。每版变更见 CHANGELOG.mdReleases

多 agent 协作要先部署再新开会话:7 个专业 agent(story-architect、narrative-writer、consistency-checker 等)由 /story-setup 写入项目 .claude/agents/,或由 $story-setup 写入 .codex/agents/*.toml。Claude Code / Codex 都在会话启动时更稳定地注册 custom agent;OpenClaw Phase 1 与 generic 路径默认走 skills + solo fallback。判断是否生效:新会话里跑 /story-review,报告头是 Effective Mode: full/lean 即注册成功,是 Fallback: ... -> solo 说明还在旧会话或当前运行时未暴露该 agent。

导入续写顺序: 推荐先在写作项目根运行 /story-setup(部署 hooks/agents/AGENTS),新开/刷新会话后运行 /story-import 导入已有小说,再用 /story-long-write 日更/story-long-write 写第N章 续写。也可以直接运行 /story-import;它会先检测是否已 setup,未部署时让你选择先去 setup 或继续串行导入。

Skills

Skill 触发 说明
story-setup /story-setup $story-setup /准备写书 环境部署 · 内置 CLI 适配 + 通用 Web AI/generic skills 路径(已有配置安全合并)
story /story $story /网文 工具箱路由 · 模糊意图自动分发到对应 skill
story-long-write /story-long-write /写长篇 长篇写作 · 大纲搭建、人物设定、正文输出
story-long-analyze /story-long-analyze 长篇拆文 · 黄金三章、爽点设计、节奏分析
story-long-scan /story-long-scan 长篇扫榜 · 起点/番茄/晋江市场趋势
story-short-write /story-short-write 短篇写作 · 情绪设计、反转构思、精修出稿
story-short-analyze /story-short-analyze 短篇拆文 · 故事核、结构分析、情感线、反转设计、写作手法、共鸣分析
story-short-scan /story-short-scan 短篇扫榜 · 知乎盐言/番茄短篇风口数据
story-deslop /story-deslop /去AI味 去AI味 · 检测并清除 AI 写作痕迹
story-import /story-import /导入小说 逆向导入 · 将已有小说反向解析为标准项目结构
story-review /story-review /审查 多视角审查 · 4 Agent 多视角审稿 + 番茄/起点/知乎评分标准
story-cover /story-cover /封面 封面生成 · 书名题材分析 + GPT-Image-2 出图
browser-cdp /browser-cdp 浏览器操控 · CDP 协议复用登录态抓取数据

story-deslop 的本地检查是写作 lint:blocking 只限确定性句式/标点问题,其他提示按读感判断;朱雀等外部检测只作自测参考,不替代人工读感。

自然语言同样触发:

  • 「帮我开书」→ story-long-write
  • 「这篇太 AI 了」→ story-deslop
  • 「把我的书导进来」→ story-import
  • 「沈栀现在什么状态」→ 自动 spawn story-explorer agent

Agent 体系

写作 skill 内部通过 7 个专业 Agent 协作,各司其职:

Agent 模型 职责
story-architect Opus 故事架构 · 题材定位、大纲结构、钩子/反转设计、情绪弧线
character-designer Sonnet 角色设计 · 角色档案、语言风格、动机链、对话创作
narrative-writer Sonnet 叙事写手 · 正文写作、去AI味、格式合规
consistency-checker Haiku 一致性检查 · 事实冲突扫描、伏笔追踪、S1-S4 分级报告
story-researcher Sonnet 资料研究 · CDP 搜索+正文提取、多源交叉验证、结构化参考文件输出
story-explorer Haiku 故事查询 · 角色/伏笔/设定/进度只读查询,日更上下文快速加载
chapter-extractor Haiku 章节提取 · 摘要+情节点+角色提及,并行拆文核心单元

Agent 按需加载 references/ 中的写作理论(角色设计、对话技法、反转工具箱等 100+ 份方法论文件),不预占上下文。

自动化 Hooks

/story-setup 部署后自动生效的 7 个 hook:

Hook 触发时机 功能
session-start.sh 会话开始 显示分支、进度快照、拆文状态
session-end.sh 会话结束 记录会话日志到 追踪/session-log.txt
detect-story-gaps.sh 会话开始 检测设定缺口、大纲缺失、伏笔断线
pre-compact.sh 上下文压缩前 保存进度快照路径和行数摘要
post-compact.sh 上下文压缩后 提示读取进度快照恢复上下文
validate-story-commit.sh git commit 时 检查硬编码属性、设定必填字段(仅警告,不阻断)
guard-outline-before-prose.sh 写正文前(Write/Edit) 缺对应细纲/小节大纲时阻止首次创建正文(阻断),强制先搭大纲

项目文件结构

一部长篇动辄几十万字、几百章。设定冲突、伏笔断线、时间线对不上——写到最后全靠记忆硬撑,迟早翻车。

用文件系统把设定、大纲、正文、追踪拆开,每个维度独立维护。对话只负责创作,不负责记忆。

长篇:

{书名}/
├── 设定/
│   ├── 世界观/          # 背景、力量体系等,按主题拆文件
│   ├── 角色/            # 每个人物一个文件(沈栀.md、陆衍止.md)
│   ├── 势力/            # 每个势力/组织一个文件(天机阁.md)
│   ├── 关系.md          # 角色关系映射
│   └── 题材定位.md      # 题材核心梗+对标分析
├── 大纲/
│   ├── 大纲.md          # 全书卷级结构
│   ├── 卷纲_第一卷.md   # 每卷一个:爽点节奏+情绪弧线+人物弧线+伏笔+反转
│   ├── 细纲_第001章.md  # 每章一个:内容概括+多线情节+人物关系/出场顺序+钩子
│   └── ...
├── 正文/
│   ├── 第001章_章名.md
│   └── ...
├── 对标/                # 对标参考(结构化子目录从拆文库同步)
│   └── {对标书名}/
│       ├── 原文/            # 对标书原文章节
│       ├── 角色/            # 结构化角色卡(从 analyze 输出同步)
│       ├── 剧情/            # 结构化剧情线/节奏/情绪模块(从 analyze 输出同步)
│       ├── 设定/            # 结构化设定(从 analyze 输出同步)
│       ├── 文风.md          # 日更前读取,用来贴近对标书文风
│       └── 拆文报告.md      # analyze skill 输出的拆文报告
├── 追踪/                # 连续性管理(分层追踪)
│   ├── 上下文.md        # 写作上下文(compact 恢复用)
│   ├── 伏笔.md          # 伏笔埋设/回收状态表(跨卷级)
│   ├── 时间线.md        # 故事内时间线(全书级)
│   └── 角色状态.md      # 角色当前状态快照(章节级)
├── 参考资料/            # story-researcher 输出的研究资料
│   └── {topic}.md       # 按研究主题拆分

短篇:

短篇/{标题}/
├── 正文.md              # 完成稿
├── 小节大纲.md          # 8 节结构 + 情绪曲线
└── 拆文库/              # 如有参考小说(analyze 输出)
    └── {书名}/
        ├── 拆文报告.md
        ├── 情节节点.md
        └── 写作手法.md

拆文库: 拆文 skill 默认输出到项目根目录 拆文库/{书名}/,产出结构化目录(角色/剧情/设定/章节),其中长篇剧情目录包含 节奏.md情绪模块.md,是 analyze 的源数据(source of truth)。写作 skill 通过 对标/{书名}/剧情/ 等子目录消费这些资产(项目级引用视图),或自动回退读取 拆文库/

.active-book 项目根目录的文本文件,内容是当前活跃书目的相对路径(如 长篇/我的小说),hook 和写作 skill 据此定位当前项目。

知识体系

各 skill 自带 references/ 知识库,按需加载,不占上下文。

适用平台

长篇 起点中文网 · 番茄小说 · 晋江文学城 · 七猫小说 · 刺猬猫

短篇 知乎盐言故事 · 番茄短篇 · 七猫短篇

真实产出样例见 demo/:短篇拆文《曾将爱意私藏》· 长篇拆文《盘龙》· 长篇续写工程《让你管账号,你高燃混剪炸全网》· 封面《剑道独尊》示例图。

这套 skill 现在能让我度过找工作的过渡期 :joy:,希望也能帮到有需要的朋友。

Star History

贡献

欢迎贡献新 skill、补充知识库、更新市场数据。详见 CONTRIBUTING.md

交流

致谢

View this README on GitHub

추천 도구

다른 키워드를 입력하거나 필터를 제거해 보세요.

설치

npx skillfish add worldwonderer/oh-story-claudecode