skillZs
LIVE SKILL TAGS
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
REAL INSTALL DATA
← back to all skills
worldwonderer/oh-story-claudecode8.3k installs

story-long-scan

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

How do I install this agent skill?

npx skills add https://github.com/worldwonderer/oh-story-claudecode --skill story-long-scan
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill provides a comprehensive market analysis toolkit designed to scrape and evaluate web novel rankings from major Chinese platforms. It utilizes browser automation to collect data and generate structured reports. The audit found no malicious patterns, with all identified capabilities being consistent with the skill's stated purpose.

  • Socketpass

    No alerts

  • Snykwarn

    Risk: MEDIUM · 1 issue

What does this agent skill do?

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

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

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


核心哲学

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

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

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

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

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

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


扫榜流程

Phase 1:确认平台和方向

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

关键判断:

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

Phase 1.5:确定数据来源

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

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

脚本采集模式

优先运行对应平台脚本直接采集结构化数据。起点使用移动端 SSR pageContext,默认不需要 Chrome/CDP;番茄等需要浏览器态的平台再使用 /browser-cdp 启动 Chrome。

采集流程

  1. 选择平台脚本;起点直接运行 scripts/qidian-rank-scraper.js,番茄/七猫/晋江等按需启动 browser-cdp
  2. 等待列表元素或 SSR 数据加载,逐条提取字段(排名、书名、作者、题材、字数、推荐/在读数等),判断翻页(起点通常单页50-100条,番茄按题材逐页cap≈20)
  3. 需要补充数据时(标签、简介、最新更新),进入详情页提取
  4. 按规范格式写入 Markdown 文件
  5. 多榜单/多题材时,逐组采集并保存

输出规范:详见 references/scan-output-format.md,包含各平台字段定义、输出模板。

起点采集目标(优先运行 node scripts/qidian-rank-scraper.js --type {榜单} --outdir {输出目录};默认 --mode auto 会先用 https://m.qidian.com 移动端 SSR,PC/CDP 只作回退):

榜单URL核心字段
新人签约新书榜qidian.com/rank/newsign/作者·题材·签约·免费/VIP·字数·总推荐·标签·简介
签约作者新书榜qidian.com/rank/signnewbook/已签约作者新书,新风向信号
公众作者新书榜qidian.com/rank/pubnewbook/公众作者新书,发现潜力作者
新人作者新书榜qidian.com/rank/newauthor/新人作品,新人赛道风向
三江推荐qidian.com/sanjiang/编辑推荐,按周分组(注意:非 /rank/ 路径)
月票榜qidian.com/rank/yuepiao/付费认可度最高指标
畅销榜qidian.com/rank/hotsales/真金白银投票
阅读指数榜qidian.com/rank/readindex/阅读量综合指标
收藏榜qidian.com/rank/collect/读者关注热度
原创推荐榜qidian.com/rank/recom/

番茄采集目标

榜单URL格式核心字段
男频阅读榜fanqienovel.com/rank/1_2_{cat_id}按题材逐页采集,在读数为核心指标
女频阅读榜fanqienovel.com/rank/0_2_{cat_id}按题材逐页采集
男频新书榜fanqienovel.com/rank/1_1_{cat_id}新风向信号
女频新书榜fanqienovel.com/rank/0_1_{cat_id}新风向信号

URL 参数:/rank/{channel}_{type}_{cat_id},channel 0=女频/1=男频,type 1=新书榜/2=阅读榜。番茄列表页有字体反爬,须用 scripts/fanqie-rank-scraper.js 从详情页多策略解码书名/作者/题材/评分/标签/简介,配合 browser-cdp 使用:

node scripts/fanqie-rank-scraper.js --channel 1 --type 2 --outdir {输出目录}   # 男频阅读榜
node scripts/fanqie-rank-scraper.js --channel all --top 15 --outdir {输出目录}   # 男女频,每题材前 15 本

番茄采集后必查文件头 数据质量,异常排查步骤见 references/scan-output-format.md

七猫采集目标

榜单URL核心字段
排行榜总入口qimao.com/paihang大热榜/新书榜/完结榜,热度为核心指标

榜单类型:大热榜(日榜/月榜)、新书榜、完结榜、收藏榜、更新榜,支持男生榜/女生榜切换。

晋江采集目标scripts/jjwxc-rank-scraper.js,默认列表 + 详情两步走):

榜单URL核心字段
收入金榜jjwxc.net/topten.php?orderstr=12&t=0收藏数、营养液、积分、字数、状态(详情页 onebook.php 补采)
node scripts/jjwxc-rank-scraper.js --type 12 --outdir {输出目录}        # 列表+详情(默认每频道前10,详情上限100)
node scripts/jjwxc-rank-scraper.js --type 12 --top 15 --detail-limit 60  # 调整每频道本数/详情总量
node scripts/jjwxc-rank-scraper.js --type 12 --list-only                 # 只采列表(快,无核心指标)

晋江硬性要求:必须有详情页核心指标(收藏数/营养液/积分/字数),脚本默认已补采;采集要点见 references/scan-output-format.md

文件命名{平台}{榜单名称}_{YYYYMMDD}.md,例:起点新人签约新书榜_20260425.md

采集质量检查(Phase 1.5 完成后必须执行)

每完成一个榜单的采集,立即执行以下检查。发现问题当场修复,不留给后续分析。详细规则见 references/scan-output-format.md「数据清洗与字段约束」。

1. 数据完整性

检查项标准处理
条目数量>= 15 条有效数据(小平台 >= 10)不足则在文件头注明 [数据稀疏] 实际采集 N 条
必填字段排名、书名、作者(缺任一项视为无效)无效条目移除,条目数重新计算
字段一致性同一榜单内所有条目字段集必须一致不一致条目标记 [字段缺失: {字段名}]

2. 数据清洗

污染类型处理
平台模板文本(番茄「提供XXX完整版在线免费阅读」、七猫「上一页」等)删除模板文本,保留正文
解析串行(同一条目出现两个不同作品的数据)标记 [解析异常],删除并重新采集
空字段(空白、--未知标记 [待补],优先通过详情页补采

3. 简介截断

  • 清洗后超过 100 字的简介,在最近的句号/问号/感叹号处截断,加 ...
  • 平台模板文本不计入 100 字限制(先删除模板,再截断)

4. 文件头质量状态

每个采集文件头部必须包含:

- 数据质量:[OK / 存在问题]
- 有效条目:{N} / {总数}
- 问题摘要:{无 / 具体问题描述}

其他数据来源

用户提供操作指引:

  • 用户提供已有的扫描结果文件路径 → 直接加载进入 Phase 2 分析
  • 用户提供链接 → 用 WebFetch 抓取
  • 用户粘贴/截图 → 手动解析进入分析

内置知识操作指引:

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

Phase 2:数据分析

根据用户选择的平台,结合已获取的数据做以下分析:

起点中文网分析维度

维度看什么
月票榜/推荐票榜付费用户认可度高、持续追读强
畅销榜真金白银投票,最硬核的指标
签约作者新书榜已签约作者的新作风向
公众作者新书榜公众作者的新作,发现潜力股
新人作者新书榜新作者作品与新题材信号
三江推荐编辑精选推荐,按周分组,发现平台力推作品
分类榜单各垂直题材的竞争格局
追读率核心指标,决定推荐位分配

番茄小说分析维度

维度看什么
阅读榜流量与读者规模,在读数为核心指标
新书榜新题材、新风向的早期信号
题材分布各品类在读数集中度
在读数趋势同题材不同作品的流量差距
标签热词简介开头【】内的标签组合,揭示题材细分卖点(如「种田+慢热+西幻」)

七猫小说分析维度

维度看什么
大热榜热度排名,反映流量集中度
新书榜新流量风口
完结榜长尾价值作品
热度指标七猫核心指标,反映读者活跃度

晋江文学城分析维度

采集硬性要求:必须有详情页核心指标(收藏数/营养液/积分/字数)。jjwxc-rank-scraper.js 默认已补采(top 本);若用了 --list-only 或文件头标 [仅列表-无核心指标],则该数据不足以支撑以下分析维度,视为不合格。

维度看什么
金榜综合热度最高
季度榜中期趋势
红字/黑字积分与负面评价
收藏/营养液女频市场的核心指标

通用分析维度

对每个平台的榜单数据,提取:

  1. 题材分布:当前榜上哪些题材最多
  2. 新题材信号:最近新出现的题材类型
  3. 经典题材变化:老牌题材的走势(上升/稳定/下降)
  4. 字数与更新:上榜作品的字数区间和更新频率
  5. 书名模式:上榜作品的命名规律
  6. 开头卖点:简介/标签中反复出现的关键词
  7. 新元素对比:与上期/同类榜单对比,标注新出现的人物设定、开篇切入点、桥段套路

Phase 3:输出扫榜报告

# 长篇网文扫榜报告:{平台名称}

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

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

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

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

## 新元素提取
### 新人物设定模式
- {新模式描述 + 代表作}

### 新开篇切入点
- {新切入点描述 + 代表作}

### 新桥段/套路
- {新桥段描述 + 代表作}

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

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

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

Phase 4:选题决策

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

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

topic-decision.md 的选题四步产出 2-3 个推荐选题(能爆的原因 → 市场验证 → 差异化定位 → 可行性+失败风险+验证动作),写入本次扫榜输出目录 {outdir}/选题决策.md,并告知用户路径与下一步:「开书时把 选题决策.md 放到小说项目根目录,写作会自动读取;想确认"能爆的原因"先 /story-long-analyze 拆对标书。」

硬规则:

  • 可行性上限:背靠榜单标了 [数据稀疏] 或同方向样本 <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.mdPhase 4 选题决策:选题四步 + 可行性判断 + 选题决策.md 模板
references/reader-profiling.md需要分析目标读者画像时
references/genre-trends.md查看题材趋势候选、切入约束和样本校验规则时
references/publishing-guide.md平台适配+推荐机制校验+数据指标+简介设计
references/scan-output-format.md脚本/CDP 采集字段定义+输出模板
scripts/cdp-utils.jsCDP 公共工具函数(ab/sleep/evalJSON/safeStr/scrollLoad/getArg),各采集脚本共用
scripts/fanqie-rank-scraper.js番茄榜单采集,详情页多策略解码(书名/作者/题材/评分/标签/简介)绕过字体反爬,分批请求防超时,带连通性自检+标题解析率质量标注,配合 browser-cdp 使用
scripts/qidian-rank-scraper.js起点榜单采集(畅销/月票/新书等),默认移动端 SSR 提取,PC/CDP 回退
scripts/qimao-rank-scraper.js七猫榜单采集(大热/新书/完结等),tab 切换(失败重试)+滚动加载,按 bookId 取书名回填作品页链接,带连通性自检+链接/热度命中率标注
scripts/jjwxc-rank-scraper.js晋江榜单采集(收入金榜/月榜等),按频道分组;列表取书名/作者/novelid,再进 onebook.php 详情页(gb18030 解码 itemprop)补采收藏/营养液/积分/字数/状态,受 --top/--detail-limit 约束,--list-only 可跳过
scripts/ciweimao-rank-scraper.js刺猬猫榜单采集(点击/收藏/月票等),单页 9 榜提取,按 bookId 归一书名回填作品页链接,带连通性自检+空结果重试+链接命中率标注

语言

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

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/worldwonderer/oh-story-claudecode/story-long-scan">View story-long-scan on skillZs</a>