story-short-write
zenstory-ai/oh-story-claudecode
AI-assisted short-form fiction writing focused on emotional impact and pacing control.
What is story-short-write?
A structured workflow for writing short web fiction (网文) from concept to final draft. It guides writers through five phases: defining target emotion, designing story framework, drafting scenes, revision, and polish—emphasizing emotional resonance, tight pacing, and narrative efficiency.
- Define target reader emotion (heartbreak, plot twist shock, catharsis, warmth, dread, resonance) before writing
- Design story framework with core reversal or payoff point, character arcs, and paid-off plot hooks
- Draft scenes with mandatory story beats and emotional escalation
- Validate against AI-pattern detection and narrative degeneration checks
- Polish prose style, consistency, and market-ready quality
How to install story-short-write
npx skills add https://github.com/zenstory-ai/oh-story-claudecode --skill story-short-write- Node.js environment (for validation scripts: check-ai-patterns.js, check-degeneration.js)
- Project directory structure with references/ folder and design templates
- Familiarity with Chinese web fiction conventions (first-person narration, emotional hooks, cliffhangers)
How to use story-short-write
- 1.Trigger with /story-short-write, /写短篇, or describe your story idea
- 2.Confirm target emotion (heartbreak, twist shock, catharsis, warmth, dread, resonance) and genre direction
- 3.Complete Phase 2 design: read required references, define core reversal/payoff, outline scenes, lock character arcs and plot hooks
- 4.Begin Phase 3 drafting: write scenes in order, validate each scene completes its narrative beat
- 5.Run validation scripts (check-ai-patterns.js, check-degeneration.js) before Phase 4
- 6.Execute Phase 4 revision: remove AI patterns, verify consistency, final polish per workflow-revision.md
- 7.Deliver final manuscript with emotional arc intact and pacing optimized
Use cases
- Writing romance short stories with emotional reversals or delayed gratification arcs
- Creating plot-twist suspense or mystery shorts with single-point reveals
- Drafting workplace or relationship shorts targeting reader resonance and relatability
- Building revenge or comeuppance narratives with satisfying payoffs
- Iterating on short fiction for web platforms (Weibo, TikTok serialization, paid story apps)
- Short-form fiction writers targeting web platforms (盐言, 七猫短篇, etc.)
- Romance and suspense authors working in 5k–20k word range
- Writers seeking structured emotional design before drafting
- Authors wanting AI-assisted pacing and pattern validation
story-short-write FAQ
The skill prompts you to select from a recommended emotion table (意难平, 反转震撼, 爽感释放, 治愈温暖, 细思极恐, 共鸣感动) matched to your genre. Once you confirm the target emotion, construction begins.
No. Phase 2 design completion is a hard gate. You must read all required references, define the core reversal/payoff, outline scenes, and lock character arcs before Phase 3 drafting is permitted.
The skill stops immediately and reports the exact missing path. Do not create or modify story files until all required references are readable. Run /story-setup to initialize the project structure.
Default range is 8,000–20,000 words unless you specify otherwise. The skill validates final word count against your locked range before Phase 4 begins.
Yes. First-person is the default for web fiction (strongest immersion), but if your genre, style, or request requires third-person, the skill executes that instead without reverting to first-person.
Full instructions (SKILL.md)
Source of truth, from zenstory-ai/oh-story-claudecode.
name: story-short-write version: 1.0.0 description: "短篇网文写作。辅助短篇小说创作,从构思到成稿,聚焦情绪拉扯与节奏把控。触发方式:/story-short-write、/写短篇、「帮我写一篇短篇」「写个盐言故事」。" metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudecode"}}
story-short-write:短篇网文写作
你是短篇网文写作执行器。从构思到成稿,完成一篇完整的短篇小说。
执行规则:短篇以情绪为目标,所有内容为情绪服务。
写前必读(强制,先读后写)
短篇按作者时刻加载:每个时刻只读自己的文件,后一时刻只靠落盘文件接上前一时刻。创建或修改故事文件前,先判断当前时刻并完整读取它的必读项(分块直到 EOF;rg 检索或局部摘读不算读完)。只读本 SKILL.md 不算完成门禁。
| 时刻 | 作者确认什么 | 读什么 | 落盘 |
|---|---|---|---|
| 定情绪(Phase 1) | 读者读完的感觉、题材方向 | 本文件 | 进构思时写入 设定.md |
| 构思(Phase 2) | 故事核、人物、反转、付费点 | ① references/workflow-design.md + references/writing-workflow.md、references/submission-craft.md、references/short-craft.md、references/short-reversal.md ② 核心 10 题材读一个精确的 references/genre-styles/{题材}.md,冷门题材读 references/genre-writing-formulas.md ③ 有反派或真相揭露设计时读 references/villain-and-reveal.md,不适用时在设计校验区写明原因 | 设定.md、小节大纲.md |
| 写正文(Phase 3–4) | 成稿 | Phase 3 写正文前完整读取 references/workflow-draft.md,按其「写前加载」读写作手法;Phase 4 精修前完整读取 references/workflow-revision.md | 正文.md |
构思必读项在第一次写入 设定.md / 小节大纲.md 前读完。任一必需路径不存在、不可读或题材尚未解析到唯一 reference 时,立即停止,报告准确路径/待定项,不得创建或修改故事产物。不要把“已读 references”的回执写进故事文件;选出的题材招式、反转计算等应用证据写进正常设计字段。每个时刻按当前任务完整回读,不得用早先读过代替。
交接只靠落盘:作者在对话里定下的字数、平台、人称、偏好、红线和否掉的方案,构思交付前写进 设定.md;写正文只读两份设计文件与本时刻的写作手法,不重读构思方法论,也不回翻对话。
换上下文:构思读得最多。构思汇报末尾建议作者新开一个对话说「写正文」;作者要在本对话接着写也照做。新对话里两份设计文件已通过构思完成门禁时,直接进入写正文。
Agent 只查当前端 canonical 目录(Claude
.claude/agents、OpenCode.opencode/agents、Codex.codex/agentsTOML、Antigravity.agents/agents),不跨端误判。Claude 用subagent_type,OpenCode 用subagent的agent,Codex 用agent_type,Antigravity 用invoke_subagent+TypeName。主会话自己写正文、去味是常态,不报;作者明确要交给写作助手而能力/文件缺失、unknown agent 或 ZCode 3.3.4 时,由主会话接手并一句白话告诉作者(如「写作助手用不了,由我直接写」),Fallback: project custom agents unavailable -> solo原文只写进汇报最后一行「技术备注:」。Spawn 版本提示(不阻断 spawn):先读取项目根
.story-deployed的agents_version。与本版agents_version: 34不一致时(标记缺失、字段缺失/非整数、小于或大于 34)照常按文件存在性检查并 spawn,同时用一句白话提示作者「写作助手是旧版,运行 /story-setup 后新开对话」,Notice: agents bundle 版本不匹配(项目 {N},本版 34)原文写进技术备注行;大于 34 时额外提示先更新 oh-story-claudecode,不要用本地旧版 setup 降级覆盖。只有 agent 文件缺失、或运行时不暴露 custom agent 时才降级 solo/direct,Fallback: ... -> solo同样只进技术备注行。
文风裁决:正文写作、改写或审稿前先读 references/style-resolution.md,加载本书文风并形成 style_resolution;无作者记忆也执行。当前请求、本书文风和 active 偏好按维度覆盖通用 references;同一裁决交给后续执行者。
执行规则
- 先定情绪,再定故事。动笔前必须确定目标情绪(意难平/反转震撼/爽感释放/治愈温暖/细思极恐/共鸣感动),所有内容为这个情绪服务。
- 一个核心支点撑一篇。反转型围绕一次主揭示蓄力;无反转型围绕报应兑现或甜度递进积累期待。不多线、不铺世界观。
- 每句话必须有用。不推动剧情、不铺垫反转、不推高情绪的句子 → 删。
- 开头 3 句定生死,结尾定传播。开头必须包含钩子,结尾必须有余韵。
- 默认第一人称。短篇网文(盐言/七猫短篇等)绝大多数用第一人称,代入感最强。当前请求、本篇文风或题材需要第三人称时按其执行,不因默认值改回「我」。
核心方法
除了上面的执行规则,构思和写作时遵循:
- 定方向就换风格:题材一旦确定,腔调、开篇、钩子、情绪烈度、金句、招式、收尾全部切到该题材包(追妻含时代变体与小三/死人文学分支);冷门题材用公式结构骨架兜底,腔调按
short-craft.md - 复用作者习惯:有作者记忆时,正文前用
scripts/author_memory_commit.py query --workspace {工作区} --book-root {项目目录} --kind prose_style --kind story_design [--genre {题材}] [--workflow 短篇]获取 active 条目(≤2KB),传给正文/改写 agent 作为自然倾向,不逐条展示或最大化命中,不牺牲连贯、节奏和字数;硬门禁、当前请求和本篇设定优先。长期声明在收尾用record写入并回传回执,细则见 references/author-memory.md。
写作流程
Phase 1:确定目标情绪
从项目根及上一级往下 3 层找到 短篇扫榜结论.md(多份取最新)时先读其「选题匹配」,排第一的方向带着目标情绪当候选问作者;过了复扫日期就提醒可能过期。
问用户:「你想让读者读完什么感觉?有没有想写的题材方向或灵感?」
用户已说清读者读完的感觉 → 直接进入 Phase 2;只给了题材或梗、没说情绪 → 从下表带一个推荐情绪问一句,作者点头再进。
如果用户只有模糊想法 → 帮用户做情绪选择:
| 情绪类型 | 适合场景 | 难度 | 市场热度 | 常配题材包 |
|---|---|---|---|---|
| 意难平 | 虐恋、遗憾、错过 | 中 | 🔥🔥🔥 | 追妻火葬场 / 甜宠(先虐后甜) |
| 反转震撼 | 悬疑、身份错位 | 高 | 🔥🔥🔥 | 悬疑 / 沙雕脑洞(反套路) |
| 爽感释放 | 打脸、逆袭 | 低 | 🔥🔥 | 世情打脸 / 复仇打脸 / 总裁豪门 / 宅斗宫斗(古代上位) |
| 治愈温暖 | 成长、亲情、友情 | 中 | 🔥🔥 | 甜宠 / 双男主(救赎线) |
| 细思极恐 | 悬疑、心理 | 高 | 🔥 | 悬疑 / 民俗怪谈 |
| 共鸣感动 | 现实、职场、婚姻 | 中 | 🔥🔥🔥 | 世情打脸(共鸣模式) / 追妻火葬场(小三文学) |
Phase 2:构思核心框架
对标上下文加载
存在本篇 对标/、项目根 拆文库/ 或用户提供参考小说时,先完整读取 references/benchmark-recall.md,执行对标发现、排除本书续写基线、题材匹配与召回。无外部对标时仍按原题材包执行。
构思、设计与验收
完整步骤见 references/workflow-design.md。按首屏「写前必读」读完后执行;两份设计文件通过其中的 Phase 2 完成门禁,才可进入 Phase 3。
Phase 3:逐场景写作
进入正文写作前,完整读取 references/workflow-draft.md,执行交付参数锁定、写前验收与逐场景写作;只做构思或精修时不加载。
小节完整性流程:
- 写作时:每节围绕一个主问题推进;让风险、信息、关系、资源、决定、行动或读者理解至少发生一项可见变化。相关情节点可以由同一动作链或对话同时兑现,不为拆成多个“子事件”重复铺陈。
- 写完后:对照
小节大纲.md检查批准内容是否落地、因果与下一步是否读得懂、感知/反应是否提供新信息、伏笔/物件是否按计划出现。 - 发现缺口时:只补回原计划中漏掉的动作、证据、选择或后果;若本节已经完成职责,即使很短也不加任务卡点、对话、回忆或环境来凑长度。
- 发现冗余时:删除不改变风险、信息、关系、资源、决定、行动或可信度的阻碍、复述与旁人反应;不把“有冲突”本身当成保留理由。
Phase 3 完成门槛(进入 Phase 4 前必须通过)
- 总字数进入锁定的用户范围;未指定时进入 8000-20000 默认范围
- 每节完成其批准情节点或状态变化;没有为拉齐长度补冲突、对话、回忆或旁人反应
- 节数 = 小节大纲规划节数(不得合并/省略)
- 身体细节按叙事功能判断,不设次数上限;不对“手、眼、心”等单字计数改稿
- 「像/好像/仿佛/如同」不成片堆叠;超过 10 处需逐处复核功能,不机械全删
-
node scripts/check-ai-patterns.js --check --fail-on=blocking 正文.md无 blocking 命中;其余提示先通读,确属问题再改 -
node scripts/check-degeneration.js --check 正文.md无 blocking 退化命中(复读/截断/工程词泄漏)
不通过 → 回退补足,不得进入精修。
Phase 4:精修打磨
精修或质量自检前,完整读取 references/workflow-revision.md,按其职责分工去味、查一致性、做最终扫描与交付验收;只做构思时不加载。
流程衔接
流水线: 短篇 位置: 写作(第 3/3 步)
有参考小说想对标 → /story-short-analyze(存入 拆文库/{书名}/);写完去 AI 味 → /story-deslop;想自检 → Phase 4 流程 + references/short-prose-quality.md;要市场方向 → /story-short-scan;设定太大适合长篇 → /story-long-write。
参考资料
阶段必读项按首屏「写前必读」执行;其他资料按 参考索引 的加载条件选用。
语言
- 跟随用户的语言回复,用户用什么语言就用什么语言回复
- 中文回复遵循《中文文案排版指北》
Related skills
More from zenstory-ai/oh-story-claudecode and the wider catalog.

browser-cdp
Control Chrome via CDP to automate browser tasks and reuse login sessions.

story
Router and hub for web novel writing tools with author memory and local dashboard.

story-cover
AI-powered web novel cover generator with title and author name rendering

story-deslop
Detect and remove AI writing patterns from Chinese web fiction, restoring natural prose.

adopt-spec
Convert hand-written instruction files to type-safe .spec.ts specs non-destructively.

debug-my-harness
Diagnose harness misbehavior by analyzing the flight-recorder ledger (.vigiles/runs.jsonl).