Skip to content
Writing
Skill

/story-publish

小说发布准备:为发布平台整理并核对书名、简介、主角名、分类和标签,定稿后保存发布资料。触发方式:/story-publish、/发布资料、「填写平台建书资料」「建书表单」「起书名/写简介/选标签用于发布」;正文累计约 2 万字、准备上架时也适用。当前仅适配番茄(长篇与短故事),不代替后台填表或实际发布。

From plugin
zenstory-ai-oh-story-claudecode
8.2k14 skills

Claude Code

$ npx -y skills add zenstory-ai/oh-story-claudecode --skill story-publish --agent claude-code

SKILL.md

story-publish.SKILL.md
name: story-publish
description: "小说发布准备:为发布平台整理并核对书名、简介、主角名、分类和标签,定稿后保存发布资料。触发方式:/story-publish、/发布资料、「填写平台建书资料」「建书表单」「起书名/写简介/选标签用于发布」;正文累计约 2 万字、准备上架时也适用。当前仅适配番茄(长篇与短故事),不代替后台填表或实际发布。"
metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudecode"}}

story-publish:发布资料准备

把作品已有的设定、大纲和作者的决定,整理成发布平台建书表单要填的资料,按平台规则核对后存成 `发布资料-<平台>.md`。剧情规划和正文写作归 `story-long-write` 等写作 skill,作者只说“开书”时也走那边;本 skill 也不替作者登录后台、填表或发布。

原则

  • **只有作者确认的才是定稿。** 每个字段标一种状态:`已确认`(作者明确指定或接受)、`建议`(从作品材料推导或新拟)、`待确认`(缺失、含糊、矛盾)、`待平台核实`(平台规则不明或与界面不符)。沉默不算确认;作者接受整套候选方案,算确认其中列出的每一项。作者给的故事简介、大纲是素材,不自动当成平台“作品简介”。
  • **作者已定的值不擅自改。** 书名、简介、笔名有问题时指出并给建议,保留原值。
  • **平台候选只取自本 skill 的平台参考文件。** 不凭记忆,不从扫榜、拆文、选题材料里挪用,平台之间不共享。没有故事事实时先问,不编人物、情节或卖点。
  • **准备完成不等于已发布。** 资料齐了只说“发布资料准备完成”,不说“已提交”“审核中”“已发布”。

读取作品材料

书目录:作者指定的优先,其次 `.active-book`;指向不明或多本书分不清时问作者,不从目录名猜。只读,不改设定、不启动写作阶段。

  • 长篇:`设定/题材定位.md` 的基本信息和“作者已定”;需要核对主角时读 `设定/角色/` 的角色卡;简介需要剧情支撑时读 `大纲/大纲.md` 及相关卷纲、细纲。
  • 短篇:`设定.md` 与 `小节大纲.md`。投稿导语是正文开头,不当平台简介。
  • `选题决策.md`、拆文、扫榜材料只能支撑建议;暂定书名、角色卡姓名不自动成为定稿。设定里没写书名时,以书目录名为现用书名。

平台

当前支持番茄小说,读 `references/fanqie.md`,候选文件按它的指引按需读。

其他平台:明确说“当前未适配”,请作者提供带日期的建书表单截图或官方说明;拿到前只给不针对平台的书名、简介草案,不套用番茄规则。新增平台时照 `fanqie.md` 的结构写参考文件,注明核验日期和范围。

工作流程

1. 确认目标平台和作品类型(长篇/短故事),在回复开头写明平台、适配状态,以及平台参考里的核验日期与范围。 2. 读作品材料,记下作者已定的值,只为作者要求的字段生成候选;候选书名先按平台参考的书名规则自查字数和符号,并标出字数。 3. 按平台参考逐字段核对允许值、数量上限和长度;参考没写的限制标“资料未说明”。 4. 书名和简介确认后,按「封面」一节处理。 5. 本轮要的字段都有了结论(已确认,或作者决定不填)时保存文件;还没保存时,在回复里给出完整草案。保存后的回复只说这次写进了什么、还差什么,并给出文件路径,不重贴全文。 6. 发布资料是平台填写值的依据。确认的书名与 `设定/题材定位.md`(短篇为 `设定.md`)里的不一致时,保存后告诉作者;改设定和书目录交给写作 skill,本 skill 不改。

封面

先看当前会话实际能调用的生图工具(不凭模型名判断),再请作者选“直接生成”“仅提示词”或“暂缓”;作者已经选过且仍可执行的不再问。不因缺工具自动改用付费 API。

把已确认的书名、简介、笔名、平台、题材和角色/场景事实交给 `story-cover`,缺笔名时补问:直接生成走它的完整流程,仅提示词走它的 Step 1-3。两种都把完整提示词原文写进「封面」小节,生图成功另记图片路径。`story-cover` 不可用(如 OpenClaw 缺 Key 时发现不到)、失败或作者暂缓时,把原因写进「待作者确认」,不阻塞其他字段;生图失败后改仅提示词要作者同意。只有提示词或未保存的图片,不说“封面已备妥”。`story-cover` 的风格、尺寸建议不替代平台规格。

发布资料文件

文件名是 `发布资料-<目标平台>.md`,目标平台用平台参考元信息里的 `platform` 原文(如 `发布资料-番茄小说.md`)。放在书目录:长篇是 `正文/` 的上一级,短篇是 `正文.md` 所在目录;还没有正文时直接放书目录下。已有同名文件时先读,和作者手改的内容冲突就先问,不覆盖;旧文件按下面的格式重排,保留作者手写内容。

这份文件以后会被程序读来填后台表单,格式是固定契约:

  • 开头每行一项元信息,依次为 `> 格式版本:1`、`> 目标平台:<platform>`、`> 作品类型:长篇` 或 `短故事`、`> 核验:<核验日期与范围>`。
  • 元信息后紧接 `# 书本名称:<书名>`,然后是基础字段、`## 封面`、平台的标签或分类小节、`## 作品简介`、`## 待作者确认`、`## 待平台核实`、`## 来源说明`。基础字段和标签小节以平台参考元信息里该作品类型的 `basics`、`tag_sections` 为准,每个字段一行 `- 字段:值`,同一字段多个值用顿号分隔。
  • 字段值只有三种:已确认的值;`(不填)`,表示作者决定不填;留空,表示还没定,并在「待作者确认」里列出。书名未定时标题写成 `# 书本名称:`,简介未定时小节留空。建议、说明、占位词一律不写进字段值。
  • 候选书名、简介、标签等建议草案,以及要作者到后台界面上看的事项,都放「待作者确认」;规则缺失或适用范围不明的放「待平台核实」;两节没有事项写“无”。来源和核验依据放最后的「来源说明」。

长篇示例(番茄):

> 格式版本:1
> 目标平台:番茄小说
> 作品类型:长篇
> 核验:2026-10-29;标签对照 Web 创建作品弹窗,App 与提交结果未核验

# 书本名称:<书名>

- 作者/笔名:
- 签约模式:
- 目标读者:
- 主角1:
- 主角2:

## 封面

- 模式:<直接生成/仅提示词/暂缓;未选时留空>
- 状态:<提示词与图片的状态分开写>
- 提示词:<完整提示词原文>
- 图片:<已保存的图片路径>

## 阅读标签

- 主分类:
- 主题:
- 角色:
- 情节:

## 内容标签

- 情节:
- 情感:
- 人设:
- 世界观:

## 作品简介

## 待作者确认

## 待平台核实

## 来源说明

长提示词可以放进代码块。不列完整候选清单,除非作者要。

格式检查

保存后依次探测 `python3`、`python`、`py`,运行本 skill 根目录下的 `scripts/check-publish-format.py <发布资料文件>`。脚本只读:FAIL 是文件不合契约,或填了平台没有的选项和标签,要修正后重跑;WARN 是已确认的值可能被平台拒收(如书名、长度),转告作者,不替作者改。环境不能运行脚本时,重读文件逐项核对,并告诉作者没跑自动检查。

Read more
@zenstory-ai
Ships withzenstory-ai-oh-story-claudecode

Claude Code / Codex / OpenCode agent skills for writing Chinese web novels (网文): 扫榜、拆文、写作、去AI味、封面全流程,长篇短篇都支持 | 14 skills for novel writing and long-form fiction with file-based continuity tracking. MIT.

Stars on GitHub

Momentum

stars in total
8.2k
Star history of zenstory-ai/oh-story-claudecode on GitHub, a chart by star-history.com
story-long-analyze
Skill

story-long-analyze

长篇网文拆文。保留黄金三章、逐章摘要、剧情、情绪、节奏、角色、设定和文风接口,以连续章节块完成因果、双时间线、关系与三维节奏分析;兼容旧成果直接使用、按需增强和断点续跑。含可选三层灵感库管道(灵感库、跨书灵感聚合、更新灵感库)。触发方式:/story-long…

story-long-scan
Skill

story-long-scan

长篇网文扫榜。分析起点、番茄、晋江、七猫等平台排行榜与新书数据,提炼市场趋势与热门题材。触发方式:/story-long-scan、/长篇扫榜、「长篇什么火」「起点排行」「扫七猫新书」。

More skills from other plugins.

Questions about story-publish.

Which coding agents can use story-publish?
story-publish installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.