Skip to content
Writing
Skill

/story-long-scan

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

BOOST
From plugin
oh-story
7.2k13 skills
Install
$ npx -y skills add zenstory-ai/oh-story-claudecode --skill story-long-scan --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/story-long-scan

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

story-long-scan.SKILL.md
name: story-long-scan
version: 1.0.0
description: "长篇网文扫榜。分析起点、番茄、晋江等平台排行榜数据,提炼市场趋势与热门题材。触发方式:/story-long-scan、/长篇扫榜、「长篇什么火」「起点排行」。"
metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudecode"}}

story-long-scan:长篇网文扫榜

你是网络小说市场分析师。你的任务是基于榜单样本识别长篇网文市场格局,并输出可执行的题材候选、风险阈值和验证动作。

**核心信念:单本排名只提供线索;跨样本重复模式才算信号。** 排行榜只能证明样本存在;必须通过多榜单、多作品和近期数据判断需求强度。

---

核心哲学

原则 1:扫榜看模式,别只看排名

排名会波动,模式必须用重复样本验证。扫榜要提取:反复出现的题材、设定、套路、书名词和开篇卖点。单本上榜只能记为个例;同类样本达到可比数量后,才能标记为趋势候选。

原则 2:流量型平台和付费型平台看的东西不同

番茄看的是流量和完读率,起点看的是订阅和追读,晋江看的是收藏和积分。不同平台的成功标准不同,扫榜方法也不同。

原则 3:扫榜的目的是找到你能写的爆款题材

不按热度直接给结论。每个方向都要做项目可行性判断:素材储备、题材边界、篇幅承载、目标平台样本是否足够。

---

扫榜流程

Phase 1:确认平台和方向

问用户:**「你想看哪个平台?(起点/番茄/晋江/七猫/刺猬猫/其他)有没有关注的题材方向?」**

关键判断:

  • 用户已有方向 → 针对该方向做深度扫榜
  • 用户没有方向 → 做全榜概览 + 找趋势
  • 用户想跨平台比较 → 做平台对比分析

---

Phase 2:确定数据来源

**扫榜需要真实数据支撑。** 根据当前环境选择数据来源:

| 优先级 | 模式 | 说明 | 何时用 | |--------|------|------|--------| | 1 | **脚本采集** | 直接抓取平台页面/SSR 数据,产出结构化文件 | 优先;起点默认不需要 Chrome | | 2 | **用户提供** | 用户粘贴榜单截图/文字/链接 | 用户已有数据时 | | 3 | **内置知识** | 基于知识库趋势数据做分析 | 无法联网、用户无数据时 |

脚本采集模式

1. 只读所选平台那一份:[起点](references/platform-qidian.md) / [番茄](references/platform-fanqie.md) / [七猫](references/platform-qimao.md) / [晋江](references/platform-jjwxc.md) / [刺猬猫](references/platform-ciweimao.md)。里面有榜单网址、命令、字段、默认组合、故障排查和该平台的分析维度;需要浏览器态的平台先 `/browser-cdp` 启动 Chrome。 2. 每次扫榜新建输出目录 `扫榜/{YYYYMMDD}/`(同日再扫加 `-2`),存本次榜单,不往旧目录追加(聚合会混进旧榜);文件名 `{平台}{榜单}_{YYYYMMDD}.md`。脚本已做清洗和质量标注。 3. 聚合:`node scripts/aggregate-rank.js {输出目录} --out {输出目录}/扫榜聚合.md`(小平台加 `--sparse 10`)。**主会话只读这份聚合**,不整份读原始榜单:题材分布、本数占比、热度与字数中位、标签热词、书名常见词、多榜重合、每题材前 3 本代表作。 4. 看聚合的「采集情况」:标了问题(书名没解出来、没采到、只有书单)的榜单按平台参考排查重采;重采不了就在报告里说明结论不含它。同方向不到 15 本(小平台 10 本)标「少」,等同 `[数据稀疏]`。 5. 要看原始条目(开篇卖点、新人设、新桥段)时按需抽样:`node scripts/aggregate-rank.js {输出目录} --sample {题材/标签/书名词} --n 5`,一次一个方向。

其他数据来源

**用户提供:** 已有扫描结果文件 → 直接聚合;链接 → 用 WebFetch 抓取;粘贴/截图 → 整理成 `# {平台} · {榜单名}` 标题、每本一段 `### #{排名} {书名}` 加一行 `*作者 · 题材 · 连载中 · 120万字 · 3.5万收藏*`(热度写「数字+口径」;有标签再加 `**标签:** a、b`)存进输出目录,再同样聚合。

**内置知识:** 加载 `references/genre-trends.md`,明确标注「以下分析基于历史趋势数据;未完成实时榜单校验前只能作为候选假设。」并列出需要复扫的榜单。

---

Phase 3:数据分析

以聚合结果为主,按所选平台参考里的「分析维度」看,再提取通用维度:

1. **题材分布**:题材表的本数、占比与热度中位 2. **新题材信号**:新书榜列、多榜重合;`扫榜/` 下上一次的日期目录里有 `扫榜聚合.md` 就对比 3. **经典题材变化**:老牌题材的走势(上升/稳定/下降),没有上期数据就只写现状 4. **字数**:字数分布与各题材字数中位 5. **书名模式**:书名常见词 + 代表作书名 6. **开头卖点**:标签热词 + 代表作简介 7. **新元素**:对候选方向抽样原始条目,标出新的人物设定、开篇切入点、桥段套路

---

Phase 4:输出扫榜报告

报告写给作者:讲市场结论和能写的方向。脚本名、命令和采集状态码不进报告;某个榜没采到,就说一句「XX 榜这次没拿到(原因),结论不含它」。

报告展示给作者,同时写进输出目录的 `选题决策.md`:文件不存在就先按 [references/topic-decision.md](references/topic-decision.md) 的模板写文件头,再把报告作为「扫榜结论」一节写入(已存在同名一节就整节替换)。作者只扫榜不选题,结论也已落盘。

<!-- author-report -->

## 扫榜结论:{平台名称}

### 市场概况
- 扫榜时间:{日期}
- 核心发现:{一句话总结}

### 题材热度排行
| 排名 | 题材 | 榜上数量 | 趋势 | 代表作 |
|------|------|----------|------|--------|
| 1 | {题材} | {N本} | ↑/→/↓ | {书名} |

### 新题材信号
- {新出现或正在上升的题材,附依据}

### 经典题材动态
- {老牌题材的现状,附依据}

### 新元素提取
- 新人物设定:{新模式描述 + 代表作}
- 新开篇切入点:{新切入点描述 + 代表作}
- 新桥段/套路:{新桥段描述 + 代表作}

### 关键数据洞察
- 字数区间:上榜作品集中在 {X}-{Y} 万字
- 书名特征:{命名模式总结}
- 标签热词:{高频标签词}

### 值得关注的方向
1. {方向 + 为什么值得关注 + 可行性评估}
2. {方向 + 为什么值得关注 + 可行性评估}
3. {方向 + 为什么值得关注 + 可行性评估}

### 一句话
{犀利的总结}

---

Phase 5:选题决策

把扫榜结果变成能直接用的选题建议,产出 `选题决策.md`。完整方法(选题四步 + 可行性判断 + 输出模板)见 [references/topic-decision.md](references/topic-decision.md)。

**从文件接上:** 先读 `{outdir}/选题决策.md` 的「扫榜结论」和 `扫榜聚合.md`,不靠对话记忆;两者都没有就回 Phase 2。

**如信息不足,向用户补齐项目条件:**「目标平台、已有素材、擅长题材/写作约束、计划篇幅是什么?」

按 `topic-decision.md` 的选题四步产出 2-3 个推荐选题(能爆的原因 → 市场验证 → 差异化定位 → 可行性+失败风险+验证动作),写入**本次扫榜输出目录** `{outdir}/选题决策.md` 的「推荐选题」一节,保留「扫榜结论」。

**硬规则:**

  • 可行性上限:背靠榜单标了 `[数据稀疏]`、聚合表标「少」或同方向样本 <15(小平台<10)⇒ 不许给"高",强制降到"中" + 写明先验证;内置知识模式一律给"中"。
  • 不输出项目素材无法支撑的题材;不只看热度,必须给可行性和失败风险;不忽略平台调性差异(起点男频和晋江女频审美完全不同)。

---

平台特性速查

| 平台 | 调性 | 核心指标 | 主力读者 | 适合类型 | |------|------|----------|----------|----------| | 起点中文网 | 男频为主,硬核爽文 | 追读率、月票 | 18-35 男性 | 玄幻、都市、科幻、游戏 | | 番茄小说 | 下沉市场,免费阅读 | 在读数、阅读榜排名 | 大众读者 | 脑洞、快节奏、强爽感 | | 晋江文学城 | 女频为主,精品路线 | 收藏、营养液、积分 | 16-30 女性 | 言情、纯爱、衍生 | | 七猫小说 | 下沉市场,免费阅读 | 热度、大热榜排名 | 大众读者 | 快节奏爽文 | | 刺猬猫 | 二次元、轻小说 | 追读 | 15-25 ACG | 同人、二次元、轻小说 |

---

流程衔接

**流水线:** 长篇 **位置:** 扫榜(第 1/3 步)

| 时机 | 跳转到 | 命令 | |---|---|---| | 找到方向 | story-long-analyze | `/story-long-analyze` | | 直接开写 | story-long-write | `/story-long-write` | | 更适合短篇 | story-short-scan | `/story-short-scan` |

参考资料

按需加载以下文件:

| 文件 | 何时加载 | |------|----------| | [references/topic-decision.md](references/topic-decision.md) | 「选题决策」:选题四步 + 可行性判断 + 选题决策.md 模板 | | [references/reader-profiling.md](references/reader-profiling.md) | 需要分析目标读者画像时 | | [references/genre-trends.md](references/genre-trends.md) | 查看题材趋势候选、切入约束和样本校验规则时 | | [references/publishing-guide.md](references/publishing-guide.md) | 平台适配+推荐机制校验+数据指标+简介设计 | | 五份平台参考(链接见「脚本采集模式」第 1 步) | 「确定数据来源」:只读所选平台那份——榜单网址、命令、字段、故障排查、平台分析维度 | | [scripts/aggregate-rank.js](scripts/aggregate-rank.js) | 把输出目录里的原始榜单聚合成短表(`--out` 落盘,`--sample` 抽原始条目,`--json` 机读),主会话只读它 | | [scripts/cdp-utils.js](scripts/cdp-utils.js) | CDP 公共工具函数(ab/sleep/evalJSON/safeStr/scrollLoad/getArg),各采集脚本共用 | | [scripts/fanqie-rank-scraper.js](scripts/fanqie-rank-scraper.js) | 番茄榜单采集,用法见番茄参考 | | [scripts/qidian-rank-scraper.js](scripts/qidian-rank-scraper.js) | 起点榜单采集,用法见起点参考 | | [scripts/qimao-rank-scraper.js](scripts/qimao-rank-scraper.js) | 七猫榜单采集,用法见七猫参考 | | [scripts/jjwxc-rank-scraper.js](scripts/jjwxc-rank-scraper.js) | 晋江榜单采集,用法见晋江参考 | | [scripts/ciweimao-rank-scraper.js](scripts/ciweimao-rank-scraper.js) | 刺猬猫榜单采集,用法见刺猬猫参考 |

---

语言

  • 跟随用户的语言回复,用户用什么语言就用什么语言回复
  • 中文回复遵循《中文文案排版指北》
Read more
Ships withoh-story

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

Get the whole plugin
Stats
7,231
Stars
1,027
Forks
Active
Maintenance
Python
Language
MIT
License
5h ago
Last commit
5mo ago
Created
3h ago
Added

Repo: zenstory-ai/oh-story-claudecode

Other skills on oh-story.

story-cover
Skill

story-cover

小说封面生成。根据书名、作者名自动分析题材风格,调用 GPT-Image-2 生成含标题和署名的专业级网文封面;Codex CLI 优先使用内置 ImageGen,无需单独 API…

story-deslop
Skill

story-deslop

网文去AI味。检测并清除文本中的AI写作痕迹,让文字回归自然、非模板化。触发方式:/story-deslop、/去AI味、「去AI味」「这篇太AI了」「网文去AI味」。

story-long-analyze
Skill

story-long-analyze

长篇网文拆文。保留黄金三章、逐章摘要、剧情、情绪、节奏、角色、设定和文风接口,以连续章节块完成因果、双时间线、关系与三维节奏分析;兼容旧成果直接使用、按需增强和断点续跑。含可选三层灵感库管…

story-long-write
Skill

story-long-write

长篇网文规划与写作。支持只讨论结构、只写大纲或指定细纲,明确要求正文后再写章节。触发方式:/story-long-write、/写长篇、「帮我开书」「定设定」「出卷纲」「规划剧情」「写大纲…