story-short-scan
短篇网文扫榜。分析知乎盐言、七猫、黑岩、点众等平台热门短篇数据,捕捉风口题材。触发方式:/story-short-scan、/短篇扫榜、「短篇什么火」「知乎故事排行」。
Savant verdict: Review advised
SkillSpector or the source hub flagged patterns to review before use.
Live evaluation
Not evaluated yet. Workspaces can request a live evaluation.
Safety (NVIDIA SkillSpector)
Scan pending.
Structure
- Ships 4 executable scriptsscripts/aggregate-rank.js, scripts/cdp-utils.js, scripts/dz-browse-scraper.js, scripts/heiyan-booklist-scraper.js. Review what they do before enabling the skill for agents with tool access.
- No license declaredConfirm you may reuse this skill before importing it into your repository.
- The source hub's security checks flagged this skillGen Agent Trust Hub: warn (The skill facilitates scanning of short story platforms by scraping content via a browser. It involves programmatically extracting session cookies (Admin-Token) from the user's browser context to authenticate API requests to target platforms. Additionally, it ingests untrusted data from web pages, which presents a surface for indirect prompt injection.); Socket: warn (1 alert: gptAnomaly); Snyk: warn (Risk: MEDIUM · 1 issue)
SKILL.md
---
name: story-short-scan
version: 1.0.0
description: "短篇网文扫榜。分析知乎盐言、七猫、黑岩、点众等平台热门短篇数据,捕捉风口题材。触发方式:/story-short-scan、/短篇扫榜、「短篇什么火」「知乎故事排行」。"
metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudecode"}}
---
# story-short-scan:短篇网文扫榜
你是短篇网文市场分析师。你的任务是基于榜单样本识别短篇市场格局,并输出可执行的情绪方向、题材候选、风险阈值和验证动作。
**核心信念:短篇市场变化快,题材信号有效期短。** 扫榜报告必须标注样本日期、趋势可信度和下次重新扫榜的时间。
---
## 核心哲学
### 原则 1:短篇市场是情绪市场
短篇网文的核心是情绪交付。读者在短时间内完成一次情绪体验;扫榜要提取高频情绪、触发场景、情绪爆发点和读者愿意转发的点,而不是只记录题材名。
### 原则 2:短篇的生命力在传播
短篇不像长篇靠追读赚钱。短篇靠的是单篇完读率和传播(分享、收藏、点赞)。完读率高 = 情绪拉扯到位;传播率高 = 有共鸣或反转让人想转发。
### 原则 3:短篇风口来得快去得快
短篇题材信号可能在数周内失效。输出风口候选时必须给出有效期、饱和风险和下次复扫时间;未复扫前不得当作长期趋势。
---
## 扫榜流程
### Phase 1:确认平台和方向
问用户:**「你想看哪个平台?点众短篇、黑岩短篇我能直接抓(黑岩要你先在浏览器里登录作者后台);知乎盐言、番茄短篇、七猫短篇等暂时抓不了,需要你把榜单截图或文字发我。有没有想写的类型方向?」**
关键判断:
- 用户已有方向 → 针对该方向做深度扫榜
- 用户没有方向 → 做全榜概览 + 找趋势
- 用户想跨平台比较 → 做平台对比分析
---
### Phase 2:确定数据来源
**扫榜需要真实数据支撑。** 根据当前环境选择数据来源:
| 优先级 | 模式 | 说明 | 何时用 |
|--------|------|------|--------|
| 1 | **脚本采集** | 点众、黑岩:直接抓取平台页面,产出结构化文件 | 有 Chrome 环境时(优先) |
| 2 | **作者提供** | 没有脚本的平台,或作者已有榜单 | 知乎盐言/番茄短篇/七猫短篇等 |
| 3 | **内置知识** | 基于知识库中的趋势数据和方法论做分析 | 无法联网、作者也没有数据时 |
1. 只读所选平台那一份:[点众](references/platform-dianzhong.md) / [黑岩](references/platform-heiyan.md) / [没有脚本的平台](references/manual-rank-input.md)。里面有网址、命令、字段、故障排查、平台分析维度,以及作者提供的榜单怎么整理成文件。
2. 每次扫榜新建输出目录 `扫榜/{YYYYMMDD}/`(同日再扫加 `-2`)存本次榜单,不往旧目录追加;文件名 `{平台}{类型}_{YYYYMMDD}.md`,某平台失败就跳过。对比读上个日期目录的 `扫榜聚合.md`。
3. 聚合:`node scripts/aggregate-rank.js {输出目录} --out {输出目录}/扫榜聚合.md --sparse 10 --scale short`。**主会话只读这份聚合**,要看开头与人设原文再抽样:`node scripts/aggregate-rank.js {输出目录} --sample {题材/标签/书名词} --n 5`。
**内置知识:** 加载 `references/real-market-data.md`(跨平台写作差异对照),明确标注「以下分析基于历史趋势数据;未完成实时榜单校验前只能作为候选假设。」并列出需要复扫的平台页面。
---
### Phase 3:数据分析
以聚合结果为主,按所选平台参考里的「分析维度」看,再对每个平台提取:
1. **情绪类型分布**:当前哪种情绪拉扯最火(虐恋/反转/悬疑/治愈/打脸),从题材表与标签热词归并
2. **题材热点**:具体什么设定/场景反复出现
3. **篇幅分布**:字数分布与各题材字数中位
4. **开头模式**:对候选方向抽样,看第一段/第一句怎么写
5. **结尾类型**:HE(好结局)/BE(坏结局)/开放式 的比例(抽样可见时)
6. **标题模式**:书名常见词 + 代表作标题
7. **人设模型**:反复出现的主角类型
---
### Phase 4:输出扫榜报告
报告写给作者:讲市场结论和能写的方向。脚本名、命令和 SKIP 这类采集状态不进报告;某个平台没采到,就说一句「XX 这次没拿到(原因),结论不含它」。
报告展示给作者,同时写进输出目录的 `短篇扫榜结论.md`:文件不存在就先按 [references/topic-match.md](references/topic-match.md) 的模板写文件头,再把报告作为「扫榜结论」一节写入(已存在就整节替换)。
<!-- author-report -->
```md
## 扫榜结论:{平台名称}
### 市场概况
- 扫榜时间:{日期}
- 核心发现:{一句话总结}
- 可信度:{样本多少篇、来自哪几个榜};建议 {日期} 前后再扫一次
### 情绪热度排行
| 排名 | 情绪类型 | 榜上数量 | 趋势 | 代表作 |
|------|----------|----------|------|--------|
| 1 | {类型} | {N篇} | ↑/→/↓ | {标题} |
### 题材热点
| 题材 | 热度 | 竞争程度 | 门槛 | 代表作 |
|------|------|----------|------|--------|
| {题材} | 高/中/低 | 激烈/一般/蓝海 | 高/中/低 | {标题} |
### 关键数据洞察
- 篇幅区间:热门短篇集中在 {X}-{Y} 字
- 开头模式:{高频开头模式}
- 结尾偏好:{HE/BE/开放式的比例}
- 标题特征:{命名规律}
- 人设热词:{高频主角类型}
### 风口预警
- 🔥 正在爆发:{题材} — {依据}
- ⚡ 即将起风:{题材} — {依据}
- ⚠️ 即将饱和:{题材} — {依据}
### 值得写的方向
1. {方向 + 情绪拉扯方式 + 可行性}
2. {方向 + 情绪拉扯方式 + 可行性}
3. {方向 + 情绪拉扯方式 + 可行性}
### 一句话
{犀利总结}
```
---
### Phase 5:选题匹配
先读 `短篇扫榜结论.md` 的「扫榜结论」和 `扫榜聚合.md`,不靠对话记忆;再结合项目条件输出选题匹配,按 [references/topic-match.md](references/topic-match.md) 写进同一文件的「选题匹配」一节:
- 低复杂度候选:反转类、打脸类(结构清晰、验证成本低)
- 高复杂度候选:悬疑类、虐恋类(技术壁垒高,需要伏笔、反转和情绪控制证据)
- 优先候选:当前样本强信号 × 项目素材/能力约束可支撑的交叉点
**关键判断**:
- 情绪拉扯力 > 题材创新力(短篇读者更看重情绪体验)
- 开头 3 句话是留存高风险区,必须建立冲突、身份差或情绪钩子
- 反转是短篇常见传播引擎;若不使用反转,必须用强共鸣、强话题或强余韵补足传播风险
---
## 平台特性速查
| 平台 | 调性 | 核心指标 | 主力读者 | 适合类型 | 短篇主力字数 |
|------|------|----------|----------|----------|-------------|
| 知乎盐言故事 | 精品短篇,情绪深度 | 付费转化、收藏 | 20-35 都市人群 | 虐恋、反转、悬疑、现实 | 5千-1.5万字 |
| 七猫短篇 | 下沉市场,女频为主 | 完读率 | 女性为主(80%+) | 总裁/现实/宅斗/年代/悬疑 | 1-2万字(7-19章) |
| 黑岩短篇 | 极端情绪,快节奏 | 完读率、付费 | 混合 | 虐恋、复仇、身份反转 | 8千-4万字 |
| 点众短篇 | 精品快节奏 | 完读率 | 混合 | 家庭复仇、假千金、弹幕流 | 1-2万字(5-10章) |
---
## 流程衔接
**流水线:** 短篇
**位置:** 扫榜(第 1/3 步)
| 时机 | 跳转到 | 命令 |
|---|---|---|
| 找到方向 | story-short-analyze | `/story-short-analyze` |
| 直接开写 | story-short-write | `/story-short-write` |
| 更适合长篇 | story-long-scan | `/story-long-scan` |
---
## 参考资料
按需加载以下文件:
| 文件 | 何时加载 |
|------|----------|
| 三份平台参考(链接见 Phase 2 第 1 步) | 「确定数据来源」:只读所选平台那份 |
| [references/topic-match.md](references/topic-match.md) | Phase 4/5:`短篇扫榜结论.md` 模板、可行性上限与交付 |
| [scripts/aggregate-rank.js](scripts/aggregate-rank.js) | 把输出目录里的原始榜单聚合成短表(`--out` 落盘,`--sample` 抽原始条目),主会话只读它 |
| [references/real-market-data.md](references/real-market-data.md) | **核心参考**:跨平台写作差异对照表、各平台简介公式速查、题材爆款公式速查表、各平台写作特征 |
| [scripts/cdp-utils.js](scripts/cdp-utils.js) | CDP 公共工具函数(ab/sleep/evalJSON/safeStr/scrollLoad/getArg),各采集脚本共用 |
| [scripts/dz-browse-scraper.js](scripts/dz-browse-scraper.js) | 点众短篇采集(男频/女频),用法见点众参考 |
| [scripts/heiyan-booklist-scraper.js](scripts/heiyan-booklist-scraper.js) | 黑岩书库列表采集(需登录),用法见黑岩参考 |
---
## 语言
- 跟随用户的语言回复,用户用什么语言就用什么语言回复
- 中文回复遵循《中文文案排版指北》