oh-story-claudecode-writing
oh-story-claudecode Writing Skill
Skill by ara.so — Daily 2026 Skills collection.
A comprehensive Chinese web novel (网文) writing skill pack for AI coding agents, covering the full pipeline: market scanning (扫榜), novel analysis (拆文), writing (写作), and AI-style removal (去AI味) for both long-form and short-form fiction.
What This Project Does
oh-story-claudecode provides structured Claude Code / OpenClaw skills that guide AI agents through every stage of professional web novel production:
- 扫榜 (Market Scan) — Analyze trending titles on 起点, 番茄, 晋江, 知乎盐言
- 拆文 (Novel Analysis) — Deconstruct golden chapters, pacing, hooks, emotional arcs
- 写作 (Writing) — Generate outlines, character sheets, chapter drafts with platform-specific style
- 去AI味 (De-slop) — Detect and remove AI writing artifacts, banned word lists, rewrite examples
Installation
Via Claude Code / OpenClaw
Feed the repo URL to Claude Code or OpenClaw and say "安装这个 skill":
https://github.com/worldwonderer/oh-story-claudecode
Via CLI
npx skills add worldwonderer/oh-story-claudecode -y
To update, re-run the same command.
Available Skills & Triggers
| Skill | Slash Command | Natural Language Triggers |
|---|---|---|
story-long-write |
/story-long-write, /story, /网文 |
"帮我开书", "写长篇", "搭大纲" |
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感" |
browser-cdp |
/browser-cdp |
"抓取榜单数据", "登录后爬取" |
Project File Structure
Writing content is managed on the filesystem, not accumulated in conversation context.
Long-form Novel (长篇)
{书名}/
├── 设定/
│ ├── 世界观/ # 背景设定、力量体系(按主题拆文件)
│ ├── 角色/ # 每个人物一个文件(沈栀.md、陆衍止.md)
│ └── 势力/ # 每个势力/组织一个文件(天机阁.md)
├── 大纲/
│ ├── 大纲.md # 全书卷级结构
│ ├── 细纲_第001章.md # 每章一个章纲,与正文一一对应
│ └── ...
├── 正文/
│ ├── 第001章_章名.md
│ └── ...
└── 笔记.md
Short-form Story (短篇)
{标题}/
├── 设定.md
├── 正文.md
└── 笔记.md
Key Workflows
Workflow 1: Start a Long-form Novel from Scratch
# 1. Scan the market for trending topics
/story-long-scan
# 2. Analyze a top-performing novel
/story-long-analyze
# 3. Begin writing with outline scaffolding
/story-long-write
Example agent interaction:
User: 帮我开书,都市赘婿题材,起点男频
Agent triggers: story-long-write
→ Generates: 书名/设定/世界观/都市背景.md
→ Generates: 书名/设定/角色/主角.md
→ Generates: 书名/大纲/大纲.md (五步大纲法, 卷级结构)
→ Generates: 书名/大纲/细纲_第001章.md
→ Generates: 书名/正文/第001章_重生归来.md
Workflow 2: Analyze an Existing Novel
/story-long-analyze
# Paste chapter text or provide file path
# Agent returns: 黄金三章分析, 爽点密度, 钩子类型, 节奏评分
Workflow 3: Write and Polish a Short Story
# Write
/story-short-write
# Input: genre, emotional arc template, word count target
# Remove AI artifacts
/story-deslop
# Input: draft text file path
# Output: rewritten version with AI-style markers removed
Workflow 4: Scrape Market Data with Browser CDP
/browser-cdp
# Reuses existing browser login session via CDP protocol
# Scrapes 起点/番茄/晋江/知乎盐言 ranking pages without re-login
Shell Script Examples
Initialize a novel project directory
#!/bin/bash
# init_novel.sh - Bootstrap long-form novel file structure
BOOK_NAME="${1:-我的新书}"
mkdir -p "${BOOK_NAME}/设定/世界观"
mkdir -p "${BOOK_NAME}/设定/角色"
mkdir -p "${BOOK_NAME}/设定/势力"
mkdir -p "${BOOK_NAME}/大纲"
mkdir -p "${BOOK_NAME}/正文"
# Create starter files
cat > "${BOOK_NAME}/笔记.md" << 'EOF'
# 创作笔记
## 核心爽点
-
## 读者画像
-
## 竞品参考
-
## 待办
- [ ] 完成世界观设定
- [ ] 完成主角角色卡
- [ ] 完成第一卷大纲
EOF
cat > "${BOOK_NAME}/大纲/大纲.md" << 'EOF'
# 全书大纲
## 核心矛盾
## 第一卷:(卷名)
- 起:
- 承:
- 转:
- 合:
## 第二卷:(卷名)
## 结局方向
EOF
echo "✅ 项目目录已创建: ${BOOK_NAME}/"
echo "📁 结构:"
find "${BOOK_NAME}" -type f | sort
Batch process chapters for de-slop
#!/bin/bash
# deslop_batch.sh - Run de-slop on all chapter files
BOOK_DIR="${1:-.}"
OUTPUT_DIR="${BOOK_DIR}/精修"
mkdir -p "${OUTPUT_DIR}"
for chapter in "${BOOK_DIR}/正文"/*.md; do
filename=$(basename "${chapter}")
echo "🔍 处理: ${filename}"
# Invoke story-deslop skill on each file
# Agent reads chapter, applies three-pass de-slop method, writes output
cp "${chapter}" "${OUTPUT_DIR}/${filename}"
echo " → 输出: ${OUTPUT_DIR}/${filename}"
done
echo "✅ 批量去AI味完成,共处理 $(ls ${BOOK_DIR}/正文/*.md | wc -l) 章"
Check chapter word count targets
#!/bin/bash
# wordcount.sh - Report word counts for all chapters
BOOK_DIR="${1:-.}"
TARGET="${2:-3000}" # Default target: 3000 chars per chapter
echo "📊 章节字数统计 (目标: ${TARGET} 字)"
echo "================================"
total=0
for chapter in "${BOOK_DIR}/正文"/*.md; do
filename=$(basename "${chapter}")
count=$(wc -m < "${chapter}")
total=$((total + count))
if [ "${count}" -lt "${TARGET}" ]; then
echo "⚠️ ${filename}: ${count} 字 (不足目标)"
else
echo "✅ ${filename}: ${count} 字"
fi
done
echo "================================"
echo "📖 总计: ${total} 字 | 平均: $((total / $(ls ${BOOK_DIR}/正文/*.md | wc -l))) 字/章"
Knowledge Base (References)
Each skill auto-loads relevant knowledge from references/ — only what's needed for the current task:
| Topic | Content | Skill |
|---|---|---|
| 大纲排布 | 五步大纲法, 故事结构分级, 节点设计法, 升级感设计 | long-write |
| 人物设计 | 角色设定, 人物提取, 关系映射, 动机链, 群像 | long-write |
| 钩子技法 | 章尾钩子13式, 章首钩子7式, 段落级钩子, 悬念编排 | long-write |
| 情绪设计 | 6种弧形模板, 期待感管理, 题材赛道策略 | long-write |
| 去AI味 | 预防, 三遍去AI法, 改写范例库, 禁用词表 | deslop |
| 写作公式 | 21大题材写作公式, 三翻四震, 感情线四阶段 | short-write |
| 女频写作 | 女读者偏好, 情感描写, 感情线模式, 对标拆书 | short-write |
| 市场数据 | 题材趋势, 平台特性, 投稿审核, 推荐安排 | long-scan / short-scan |
| 高级技法 | 小纲四步法, 高潮逆推, 双线结构, AB交织法 | long-write |
| 风格模块 | 对话, 打斗, 智斗, 镜头式写作, 装逼打脸, 白描 | long-write |
Supported Platforms
| Type | Platforms |
|---|---|
| 长篇 | 起点中文网, 番茄小说, 晋江文学城, 七猫小说, 刺猬猫 |
| 短篇 | 知乎盐言故事, 番茄短篇, 七猫短篇 |
Common Patterns
Pattern 1: Market-to-Draft Pipeline
/story-long-scan → identify trending genre + tropes
/story-long-analyze → paste top 3 chapters of a competitor novel
/story-long-write → generate outline aligned with market gaps
Pattern 2: Revision Loop
Draft chapter → /story-deslop → human review → /story-deslop (second pass)
Pattern 3: Skip Prep, Jump to Writing
If you already have a direction, skip scanning and analysis:
User: 我已经有设定了,帮我直接写第一章
Agent: triggers story-long-write with --skip-prep flag
→ Reads existing 设定/ files
→ Generates 大纲/细纲_第001章.md
→ Generates 正文/第001章_*.md
Pattern 4: Short Story with Emotional Arc
/story-short-write
→ Select arc template (e.g., "跌入深谷后反弹" / "平稳中突转")
→ Agent scaffolds: 设定.md → 正文.md (with embedded hook + reversal)
→ /story-deslop on 正文.md
Troubleshooting
Skill not triggering
- Ensure install completed:
npx skills add worldwonderer/oh-story-claudecode -y - Try explicit slash command:
/story-long-writeinstead of natural language - Re-run install to pull latest version
Browser CDP not connecting
- Ensure Chrome/Chromium is running with remote debugging enabled:
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug - Check CDP endpoint:
curl http://localhost:9222/json/version - The skill reuses your existing login session — log into the platform manually first
Output files not being created
- Verify the agent has write permissions to the working directory
- Check that the book name doesn't contain special characters that break directory creation
- Use the init script to pre-create the directory structure
AI artifacts still present after de-slop
- Run
/story-deslopa second time (三遍去AI法 = three-pass method) - Provide specific examples of AI-sounding phrases for the agent to target
- Check
references/禁用词表is loaded — mention it explicitly if needed
Chapter too short / pacing issues
- Use
/story-long-analyzeon your own draft to get density scores - Request "扩写" (expand) with specific scene types: "扩写打斗场景至3000字"
- Reference the 节奏分析 knowledge module explicitly
Full Pipeline Example
# Step 1: Initialize project
bash init_novel.sh "天机阁传说"
cd "天机阁传说"
# Step 2: Market research (agent scans 起点 male fantasy rankings)
# /story-long-scan → saves market notes to 笔记.md
# Step 3: Analyze a competitor (paste 3 chapters into agent)
# /story-long-analyze → appends findings to 笔记.md
# Step 4: Generate full outline + first chapter
# /story-long-write → creates 设定/, 大纲/, 正文/第001章.md
# Step 5: Continue chapter by chapter
# /story-long-write → reads existing files, generates next chapter
# Step 6: Polish
# /story-deslop → rewrites 正文/*.md removing AI artifacts
# Step 7: Word count check
bash wordcount.sh . 3000