Sep 23, 2026
oh-story Turns Claude Code into a Chinese Web-Novel Writing Studio
A 7k-star pack of 13 skills for writing Chinese web fiction — chart scanning, bestseller teardown, outline-gated drafting, AI-flavor removal, and cover generation — with the file system, not the chat window, as memory.
Long-form web fiction is where coding agents fall apart: hundreds of chapters, planted foreshadowing, and a chat context that resets every session. oh-story (oh-story-claudecode) is a 7k-star, MIT-licensed skill pack from ZenStory AI that moves the state into your project's file system and lets Claude Code, Codex CLI, Google Antigravity, OpenCode, ZCode, OpenClaw, or Reasonix run the full pipeline: scan the charts, tear down bestsellers, draft with outline gates, strip the AI flavor, and generate covers.
Why This Skill Matters
The pack installs 13 skills covering both long-form and short-form lines. The long-form route runs scan → analyze → write (/story-long-scan → /story-long-analyze → /story-long-write); the short-form route mirrors it; both share /story-setup, /story-deslop, /story-review, and /story-cover. Under the hood sit 7 specialist agents — story-architect, narrative-writer, consistency-checker, character-designer, story-researcher, story-explorer, and chapter-extractor — plus 8 automated hooks and 100+ methodology documents loaded on demand.
Two mechanisms do the heavy lifting. First, memory lives in files: settings, outlines, prose, and tracking are separate directories, and 追踪/_tracking-state.json is the single structured authority from which context cards, foreshadowing views, and character states are regenerated — hand-edit the derived files and check rejects them. Second, quality gates are deterministic: only one of the 8 hooks blocks. guard-outline-before-prose.sh stops you creating prose for a chapter that has no outline; the rest warn without interrupting.
Installation
Install globally so every directory can use it:
npx skills add zenstory-ai/oh-story-claudecode -y -g
Drop -g to install into the current directory only. Then deploy the project scaffolding and start a fresh session:
/story-setup
The agents are written into your project directory by /story-setup and only take effect after a new session — the README repeats this point, including after upgrades. On Windows, if the install logs ENOENT ... mkdir but still ends with Done, rerun the same command; that means some skills did not install.
Real Workflow: Start a New Book with the Gate Intact
- From your writing project root, send a scoped opening request. The README ships three copy-paste first-request templates; the new-book one reads:
我想开一部〈类型/题材〉新书。先从我提供的材料中分开已确定事实与待决问题;只规划一个有边界的开篇,交付核心冲突、视角/信息释放限制、前三章变化和待决项。不要自动写正文;题材取舍、角色动机和长期方向留给我确认。
- Confirm the open questions it hands back — genre trade-offs, character motives, long-term direction stay yours by design.
- For each chapter,
/story-long-write 写第N章first checks the outline gate: no detailed outline for that chapter, no prose. Once the outline passes structural acceptance, narrative-writer drafts, consistency-checker verifies facts and foreshadowing against the tracking state, and a chapter check scans for AI patterns, degeneration, punctuation, and word-count debt. - Polish with
/story-deslop— a writing lint that matches known AI sentence patterns line by line and reports line numbers, matched fragments, and rewrite directions. The README is explicit that it targets reading feel, not detector evasion; external detectors are for self-testing only. - Optional:
/story dashboardopens a local workbench on 127.0.0.1 to browse the teardown library and project tree — your novel content never leaves the machine.
Tips
- The tracking card separates author truth from reader-known — the main source of characters magically knowing answers and foreshadowing that flies off course.
- Word count runs on one machine-counted standard since v0.7.7: every chapter outline must declare a legal target, deficits are not auto-padded, and overruns get at most one compression pass.
- Target platforms differ by line: long-form covers Qidian, Fanqie, Jinjiang, Qimao, and Ciweimao; short-form covers Zhihu Yanyan, Fanqie short, and Qimao short.
/story-importreverse-builds an existing published book into a resumable project — the README's own demo reconstructed 20 chapters before writing chapter 21.- Cover generation via
/story-coveris the one piece that calls an image model (GPT-Image-2); everything else runs on the agent you already have, no GPU.
When Not to Use This
The methodology, chart scanning, and platform conventions are Chinese web-novel specific — writing English-language fiction means the workflow shape transfers but the knowledge base does not. If you write by pure discovery without outlines, the blocking gate will fight you. And it needs a coding agent host; there is no standalone app.
See the leaderboard for more skills.