zenstory-ai/oh-story-claudecode · 第 1 次运行

定的选题是《重生2006:包工头跑路前一天,我先把账收了》。工地记账员重生回2006年,凭前世记下的账,挨个讨回欠薪与血债。

skill
zenstory-ai/oh-story-claudecode@74080143
装进工作目录的 skill
browser-cdp、story、story-cover、story-deslop、story-import、story-long-analyze、story-long-scan、story-long-write、story-review、story-setup、story-short-analyze、story-short-scan、story-short-write
时间
2026-10-20 07:30–07:34(北京时间),4 分钟
轮数
2 轮,工具调用 12 次,按 API 价格折算 $1.54
匿名编号
890(评审只看到这个编号)· 故事卡
盲比
和另外 11 个参赛者的第 1 次运行各比一场:对照组(不装 skill) · lingfengQAQ/webnovel-writer · 0xsline/short-drama · Tomsawyerhu/Chinese-WebNovel-Skill · xindoo/sumeru · LanyXiaosheng/bookflow-skill · dama-cyber/Distilled-Novel-Toolbox · tance-mang/chinese-webnovel-skills · xiaofeng-928/chinese-longnovel-skill · Hao0321/ai-short-drama · qingyabailu-git/webfiction-write
原始文件
产出和问答记录 · 原始日志

写出的文件

标了标签的是认定为选题交付、拿去匿名打包的文件(deliverables.toml)。

扫榜/20261019/选题决策.md 2,142 字
# 选题决策:番茄 / 都市爽文(兼顾竖屏短剧改编)
- 扫榜日期:20261019
- 数据来源:内置知识(起点、番茄榜单本次都没拿到)
- 聚合表:无

## 扫榜结论:番茄(内置知识)

以下分析基于历史题材候选,没有实时榜单校验,只能作为待验证的假设。

### 市场概况
- 扫榜时间:2026-10-19
- 核心发现:这次没拿到实时数据。按历史题材候选看,重生能和大多数元素搭在一起,适合做强爽感都市文的底盘,但同质化很重,必须有自己的机制。

### 缺榜说明
- 起点月票榜、畅销榜、新人签约新书榜、三江推荐这次都没拿到(机器连不上外网),结论不含它们。
- 番茄的榜单需要开 Chrome,当前环境开不了,这次也没采,结论不含它。

### 题材热度排行
未比较。没有实时数据,不排热度。

### 新题材信号
- 本次无样本,不判断。

### 经典题材动态
- 男频都市:重生、种田、娱乐、都市高武是历史上的常见方向。现状待复扫确认。
- 女频现言:总裁豪门、追妻火葬场、先婚后爱、年代重生。现状待复扫确认。

### 新元素提取
- 本次无样本,不提取。

### 关键数据洞察
- 字数区间:本次无数据。
- 书名特征:按内置的七猫存量书统计,男频书名有三成五带「我」,近三成用冒号分前后两段,带「开局」「重生」的也常见(只代表七猫存量书,不代表新书)。
- 标签热词:本次无数据。

### 值得关注的方向
1. 都市重生加发家:底盘稳,能嫁接讨账、鉴宝、年代等外壳。同方向有几本、新书里有没有,都待复扫。
2. 女频年代或家庭重生:家庭矛盾身边就有,适合改编短剧。同方向有几本待复扫。
3. 都市脑洞(预知类金手指):拍成短剧成本低,但同质化风险高。

### 要复扫的榜单
- 番茄:男频都市、女频现言的阅读榜和新书榜,加书库里三十万字以下的连载新书,男女频各前三页。
- 起点:新人签约新书榜、三江推荐。

### 一句话
没有实时数据,先拿「都市重生加一个能反复用的爽点机制」当假设去写,开写前补扫番茄新书榜验证。

## 推荐选题

### 选题 1:重生回包工头跑路前一天,工地记账员挨家讨账
- 题材组合:都市重生 + 发家 + 讨账(对账名场面)
- 目标读者:男频,对重生、打脸、发家的套路很熟,可以直接上爽点
- 核心卖点:带着前世二十年的账重生,每一笔欠薪、每一个跑路的老板、每一栋会烂尾的楼都记得,当众对账,让人赖不掉
- 能爆的原因:讨账这套机制一个单元收一笔账,可以一直重复,赌注逐卷往上加;讨薪、亲戚借钱不还是大众身边的事,不用科普就能共情(假设,`待拆文验证`)
- 差异化定位:别的重生文靠彩票、股票这类先知发财,这本靠一本记着人和钱的账;金手指不加系统,可信,拍短剧也不需要特效
- 可行性:中(内置知识模式,没有实时样本也没有上期可比)。排第一是因为它跟作者给的两个条件(网文爽文、能拍竖屏短剧)最对得上:现代实景、每集都有对账的高潮,长篇又有二十年时间线撑着
- 失败风险:都市重生同质化,黄金三章立不住「讨账」就会被淹没;时代背景写成科普;欠薪、烂尾楼题材送审敏感
- 验证动作:复扫番茄男频都市新书,搜讨薪、包工头、讨账、重生到零零年代几个方向数同类本数;先写黄金三章发出去看追读
- 建议拆的对标书:待复扫后从同方向新书里挑(优先字数少的新书)
- 篇幅/平台:一百五十万到两百万字,番茄男频都市;短剧改编第一卷加第二卷前半,约八十到一百集
- 详细选题说明:见项目根 `选题.md`

### 选题 2:女频重生,回到全家逼她把婚房让给弟弟那天
- 题材组合:女频现言 + 家庭重生 + 搞事业
- 目标读者:女频,对「扶弟魔」家庭、重生反击这类套路很熟
- 核心卖点:前世房子、存款、工作都被娘家吸干,重生后一样一样拿回来,再自己做起事业
- 能爆的原因:家庭里的不公平最容易激起情绪,拍短剧冲突密度高(假设,`待拆文验证`)
- 差异化定位:重点放在「拿回来以后怎么过好」,不停在跟娘家撕扯,避开长期被虐
- 可行性:中(内置知识模式)
- 失败风险:家庭矛盾撑不到长篇,后期容易没对手可打;容易写成长期虐主
- 验证动作:复扫番茄女频现言新书,搜重生、扶弟魔、原生家庭标签
- 建议拆的对标书:待复扫后挑
- 篇幅/平台:八十万到一百二十万字,番茄女频;短剧改编全本

### 选题 3:都市脑洞,能看见每个人头顶的「结局」
- 题材组合:都市 + 预知类金手指 + 救人换回报
- 目标读者:男频,熟悉脑洞类金手指
- 核心卖点:看得见每个人人生的最后一行字,改写别人的结局,就能拿到回报
- 能爆的原因:每个陌生人都是一个钩子,单元剧结构适合短剧(假设,`待拆文验证`)
- 差异化定位:结局能改,但改一次就有代价,避免全知全能
- 可行性:中(内置知识模式,预知类同质化风险高,偏下)
- 失败风险:都是单元剧,主线弱,长篇容易散
- 验证动作:复扫番茄都市脑洞新书,数一下读心、预知、倒计时这类金手指的同类本数
- 建议拆的对标书:待复扫后挑
- 篇幅/平台:一百万字左右,番茄男频都市脑洞
选题.md 选题 3,108 字
# 选题:《重生2006:包工头跑路前一天,我先把账收了》

> 本选题依据的是工具箱内置的历史题材资料,这次没有抓到实时榜单(机器连不上外网)。题材热度的判断都是待验证的假设,开写前要按文末「开写前要验证的事」补一轮扫榜。

## 一、一句话卖点

工地记账员被人从脚手架上推下去,一睁眼回到二〇〇六年冬天:前世二十年里每一笔欠薪、每一个跑路的老板、每一栋会烂尾的楼,他都记在账上。这辈子他挨家上门,连本带利讨回来。

## 二、选题说明

### 题材

男频都市,重生加发家,走「讨账」路线。

- 主类:都市重生。重生能和大多数元素搭在一起,是男频都市最稳的底盘。
- 差异化:别的重生文靠记住彩票号码、股价发财,这本主角带回来的是一本**账**,记着谁会欠谁、哪天欠、欠多少、谁在说谎。他的金手指就是这份记忆,不另加系统,所以可信,写成短剧也不需要特效。
- 时代:二〇〇六到二〇二六,正好是地产行业二十年起落,从工地、劳务队、建筑公司一路做到地产公司。故事里的公司、人物和事件都虚构,不对应真实企业。

### 写给谁看

- **网文**:首投番茄男频都市(免费阅读,读者要快节奏、强爽感、目标清楚,正好对上这本的路子)。读者对重生、打脸、发家的套路很熟,所以不用花篇幅解释,直接上爽点。
- **竖屏短剧**:讨薪、亲戚借钱不还、老实人被人欺负,都是大众身边的事,不用科普就能共情。场景是工棚、酒席、售楼处、村口、工地,都是现代实景,拍起来便宜。
- 年龄段偏向这次没有榜单标签做依据,先不下结论。

### 主角和对手

**主角 江满**:前世四十六岁,在工地当了二十年记工员,四十个工友谁哪天上工、该拿多少钱,全记在他那个本子上。老实、肯吃亏、一辈子没讨回过一分钱。重生回二十六岁,性子还是那个记账的人:不打打杀杀,靠的是**证据、时间和人心**。每一次出手都先把账对清楚,让对方当着众人的面赖不掉。

**女主 苏晚**:鼎恒地产的出纳。前世替周家背了挪用公款的锅,坐了牢。一个记工钱,一个记公司的账,两本账一对,就是周家的命门。她是搭档,也是感情线,短剧可以靠这对组 CP。

**对手(逐级升级)**:

| 阶段 | 对手 | 前世欠下的账 |
|---|---|---|
| 开局 | 包工头赵大海 | 卷走四十个工友一年的工钱跑路,锅扣在江满头上,害他被工友当成同伙 |
| 家里 | 亲哥江涛和嫂子 | 借走他攒着娶媳妇的钱盖房,房本只写哥哥的名字,后来把爹娘赶出门 |
| 行业 | 劳务公司、分包老板、监理 | 层层克扣、偷工减料、做假账 |
| **主对手** | 鼎恒地产周振邦、周屹父子 | 靠拖欠工钱和挪用房款发家,盖出一片烂尾楼;前世把江满推下脚手架的人就是周家派的 |

### 核心冲突

一个记账的要讨回开发商欠下的所有账:欠薪、偷工减料、烂尾楼,还有他自己那条命。周家要在地产最赚钱的二十年里,把这个知道太多的人碾死。

贯穿全书的悬念是:**前世是谁推的他?那一天他的账本上到底记着什么?** 答案在最后一卷揭开,揭开的同时,最大的那笔账也收回来。

### 开篇钩子

第一章:江满在工棚里醒来,墙上挂历写着二〇〇六年,离过年还有十天。工友们正兴冲冲地凑钱买火车票,说「大海哥明天一早发钱」。

只有江满知道:明天早上六点,赵大海会开着那辆桑塔纳去火车站,带走四十个人一年的血汗钱,从此再没露面。前世他追了十年也没追回来。

他只有一晚上。第一章结尾,他拨通开发商财务室的电话:「明天要打给赵大海的那笔工程款,先别打。」

短剧开头一分钟就能拍:挂历特写、工友的笑脸、江满脑子里闪回前世的那本账,再接这通电话,钩子当场立住。

### 爽点从哪来

1. **对账名场面**:全书反复用的招牌桥段。江满当众翻开账本,一笔一笔念:日期、金额、证人。对方每抵赖一句,他就再翻一页。读者知道账本里还有东西,期待的就是下一页。短剧每一集的高潮都能落在这一句「这笔账,我念给你听」上。
2. **先知截胡**:他知道谁哪天跑路、哪片地要拆迁、哪栋楼要烂尾,总能抢先一步,把坑留给挖坑的人。
3. **替工友讨薪**:替四十个人出头,他赢的是一群人。讨回来的钱当场一张一张数给工友,这是最好拍、最有共鸣的群体爽点。
4. **阶层翻身**:从被工友骂作「包工头同伙」的记账员,到包工头、开发商反过来求他。每一卷都抬高一个阶层。
5. **悔不当初**:前世踩过他的人,这辈子一个个排队求他。哥嫂、赵大海、周家,各有各的报应。

### 打算写多长,为什么撑得住

**网文:计划一百五十万到两百万字,分五卷。** 字数区间按番茄都市重生文的常见长度估的,没有用这次的榜单核实。

撑得住的理由是这本书自带一条二十年的时间线,每个时代节点都有新的账要收、新的对手要打,主角也跟着往上走一级:

| 卷 | 时间 | 主角身份 | 要收的账 |
|---|---|---|---|
| 一 | 2006–2008 | 记工员 → 自己带队 | 赵大海卷走的工钱、哥嫂借的钱 |
| 二 | 2008–2012 | 劳务公司老板 | 克扣工钱的劳务公司和分包,跟周家第一次交手 |
| 三 | 2012–2016 | 建筑公司老板 | 偷工减料、拆迁里的坑,苏晚的冤案 |
| 四 | 2016–2020 | 地产公司掌舵人 | 跟周家正面抢地,高周转背后的假账 |
| 五 | 2020 往后 | 收总账的人 | 周家资金链断裂、烂尾楼、前世那条命 |

几个支撑点:

- **讨账这套机制能一直重复**:一笔账就是一个单元,十来章收一笔。金额从四万涨到四十亿,对手从包工头涨到地产大亨,机制不变,赌注一直往上加。读者每一卷都知道主角要讨什么。
- **先知有保质期,所以不会写塌**:他只知道前世发生过的事。他改变得越多,后面的走向就越偏离前世,账本会慢慢不准,中后期得靠自己本事。这样既保留了前期的爽,又能堵住「全知全能没悬念」的后期崩盘。
- **主线悬念一直吊着**:推他下楼的人是谁,到最后一卷才揭开,读者有理由一直追。

**短剧:只改编第一卷加第二卷前半,约八十到一百集,每集一到两分钟。** 付费卡点放在第八到第十集:江满讨回工钱当晚,周屹第一次露面,江满认出他身后那个人,就是前世推他下楼的人。第一季在这里收尾,后面几卷正好留作续季。

## 三、主要风险

- **都市重生同质化严重**:差异化全押在「讨账」和「对账名场面」上,黄金三章必须让这一点立住,否则就淹没在同类重生文里。
- **时代背景容易写成科普**:地产、拆迁、政策变化只能当剧情的背景板,一旦解释压过剧情,就踩了番茄读者的雷。
- **题材审核**:欠薪、烂尾楼都是现实里的敏感事,坏人必须落在具体的个人身上,不写成整个行业或制度的问题,不影射真实企业和事件。短剧送审前要重点看这一块。
- **题材可能显得土**:工地开局对部分读者没吸引力,书名和简介要把「重生」「讨账」「跑路前一天」这些钩子放在前面。

## 四、开写前要验证的事

1. 补一轮番茄扫榜(男频都市的阅读榜、新书榜,加书库里三十万字以下的连载新书),看都市重生在新书里还热不热,再搜一下讨薪、包工头、讨账、重生到零零年代这几个方向,数清同类有多少本。
2. 从扫出来的同方向新书里挑一到两本做对标拆文,验证「对账」这类重复桥段能不能拉住追读。
3. 先写黄金三章发出去看追读,数据不行就换方向,成本最低。

过程

按时间顺序。点开工具调用能看到完整的输入和返回;思考的内容 Claude Code 不对外输出,日志里只有「在这里思考过多久」。

第 1 轮

输入:
/story 我要给一个新故事定选题,要求在 premise.md 里。

思考

Bash List project root and locate premise.md

输入

ls -la && find . -maxdepth 3 -name "premise.md" -not -path "./.claude/*"

返回

total 8
drwxr-xr-x  4 user  wheel  128 Oct 19 16:30 .
drwxr-xr-x  3 user  wheel   96 Oct 19 16:30 ..
drwxr-xr-x  4 user  wheel  128 Oct 19 16:30 .claude
-rw-r--r--  1 user  wheel  391 Oct 19 16:30 premise.md
./premise.md
Read ./premise.md

输入

{
 "file_path": "/scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/premise.md"
}

返回

1	# 002 · 选题
2	
3	给一个新的爽文故事定选题。这个故事以后可以写成网文,也可以拍成竖屏短剧。
4	
5	这一步只定选题,不写大纲和正文。
6	
7	交付(写成文件,放在当前目录):
8	
9	1. 一句话卖点
10	2. 选题说明:题材,写给谁看,主角和对手,核心冲突,开篇钩子,爽点从哪来,打算写多长、为什么撑得住
11	

思考 6 秒

Skill story-long-scan

输入

{
 "skill": "story-long-scan",
 "args": "为一个新的爽文故事定选题(以后可写成网文,也可改编竖屏短剧)。要求见项目根 premise.md:只定选题,不写大纲正文;交付写成文件放在当前目录:1. 一句话卖点;2. 选题说明(题材、写给谁看、主角和对手、核心冲突、开篇钩子、爽点从哪来、打算写多长及为什么撑得住)。"
}

返回

Launching skill: story-long-scan
Claude Code 自动加进对话的内容(多为 skill 正文) 4,359 字
Base directory for this skill: /scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/.claude/skills/story-long-scan

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

你负责从长篇榜单的重复样本中识别题材候选,结合作者条件给出可行性、失败风险与验证动作。

**核心信念:单本排名提供线索,近期多榜单、多作品的重复模式才支持趋势判断。**

---

## 扫榜原则

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

提取样本中重复的题材、设定、套路、书名词和简介卖点,判断能否支持趋势候选。

### 原则 2:各平台的热度口径不同

番茄看在读,起点看付费榜和总推荐,晋江看收藏、营养液和积分,七猫看热度。完读率、追读、订阅转化是作者后台的数据,采集脚本拿不到,作者没提供就不下结论。

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

每个方向都结合素材储备、题材边界、计划篇幅和目标平台样本判断可行性,再给选题建议。

---

## 扫榜流程

### Phase 1:确认平台和方向

沿用作者已给的条件;缺的一次问齐,给选项:

- 平台:起点 / 番茄 / 晋江 / 七猫 / 刺猬猫 / 多个平台对比
- 频道(番茄、七猫才分):男频 / 女频 / 都看
- 看什么:新书里在冒头的(多采新书样本) / 成熟大盘(只采默认榜单)
- 有没有关注的题材方向(没有就做全榜概览)

---

### Phase 2:确定数据来源

| 优先级 | 模式 | 说明 | 何时用 |
|--------|------|------|--------|
| 1 | **脚本采集** | 直接抓取平台页面数据,产出结构化榜单文件 | 优先;起点排行榜不需要 Chrome |
| 2 | **作者提供** | 作者粘贴榜单文字、截图,或给已有的榜单文件 | 作者已有数据,或脚本采不到时 |
| 3 | **内置知识** | 只用历史题材候选做分析 | 无法联网、作者也没有数据时 |

#### 脚本采集模式

命令里的 `scripts/` 相对本 skill 根目录。

1. 每次扫榜在工作目录新建 `扫榜/{YYYYMMDD}/`(同日再扫加 `-2`),下文 `{outdir}` 指它。不往旧目录追加,聚合会混进旧榜。
2. 只读所选平台参考:[起点](references/platform-qidian.md) / [番茄](references/platform-fanqie.md) / [七猫](references/platform-qimao.md) / [晋江](references/platform-jjwxc.md) / [刺猬猫](references/platform-ciweimao.md)。按 Phase 1 的频道和「看什么」运行默认命令;需要 Chrome 的平台先 `/browser-cdp` 启动。
3. 聚合:`node scripts/aggregate-rank.js {outdir} --out {outdir}/扫榜聚合.md`。**主会话先只读聚合**:题材分布、去重本数、热度与字数中位、标签、书名词、多榜重合和代表作。
4. 看聚合的「采集情况」:标了问题(书名没解出来、没采到、只有书单、详情没取到)的榜单,按平台参考的「采不到时」排查后重采;重采不了,报告里说明结论不含它。
5. 分析新人物设定、新切入设定和新桥段时按需抽样:`node scripts/aggregate-rank.js {outdir} --sample {题材/标签/书名词} --n 5`,一次一个方向。命中条数含多榜重复,样本本数按同平台书名+作者去重。

#### 作者提供

已有榜单文件就放进 `{outdir}` 聚合。作者给链接时,请他把页面内容复制过来或截图(番茄、起点有反爬,直接抓页面常拿不到)。把文字或截图整理成:首行 `# {平台} · {榜单名}`,平台名只用 起点 / 番茄 / 晋江 / 七猫 / 刺猬猫,才能和脚本数据合并;每本一段 `### #{排名} {书名}`,下一行 `*作者 · 题材 · 连载中 · 120万字 · 3.5万收藏*`(热度写「数字+口径」,有标签再加 `**标签:** a、b`)。存进 `{outdir}` 后同样聚合。

#### 内置知识

读 [references/genre-trends.md](references/genre-trends.md),报告开头写明「以下分析基于历史题材候选,没有实时榜单校验,只能作为待验证的假设」,并列出需要复扫的榜单。

---

### Phase 3:数据分析

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

1. **题材分布**:本数、占比与热度中位。番茄按题材等额采样(聚合会注明),本数是采样上限,题材冷热看热度中位和平台 P75。
2. **新题材信号**:新书榜、书库新书样本与多榜重合;同时采到新书榜和其他榜时,聚合才显示「新书榜」列。上次日期目录有 `扫榜聚合.md` 时,按相同平台、榜单与筛选范围对比。
3. **头部老书**:月票、畅销、阅读榜上字数几百万、连载多年的书,代表这个题材的存量读者,不代表现在开新书能起来;判断新方向以新书榜、书库新书为主。
4. **经典题材变化**:老牌题材上升、稳定还是下降;没有上期数据就只写现状。
5. **字数**:字数分布与各题材字数中位。
6. **书名模式**:书名常见词 + 代表作书名。
7. **简介卖点**:标签热词 + 代表作简介。数据只有简介(聚合截到 30 字,采集截到 100 字),开篇怎么写留给拆文验证。
8. **新元素**:对候选方向抽样原始条目,标出新的人物设定、切入设定、桥段套路。

---

### Phase 4:输出扫榜报告

报告讲本次样本支持的结论和作者能写的方向;无可比上期时,趋势栏写「未比较」,不填涨跌。脚本名、命令和采集状态不进报告;缺榜时说「XX 榜这次没拿到(原因),结论不含它」。题材热度排行按热度中位从高到低排,没有热度数字的平台按本数排;与全平台比较用白话,如「比全平台四分之三的书都热」,不写 P75。

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

<!-- author-report -->
```md
## 扫榜结论:{平台名称}

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

### 题材热度排行
| 排名 | 题材 | 本数 | 热度中位 | 趋势 | 代表作 |
|------|------|------|----------|------|--------|
| 1 | {题材} | {N本} | {数字+口径} | ↑/→/↓/未比较 | {书名} |

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

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

### 新元素提取
- 新人物设定:{新模式描述 + 代表作}
- 新切入设定:{从简介看到的切入点 + 代表作}
- 新桥段/套路:{新桥段描述 + 代表作}

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

### 值得关注的方向
1. {方向 + 为什么值得关注 + 同方向几本、新书里有没有}
2. {方向 + 为什么值得关注 + 同方向几本、新书里有没有}
3. {方向 + 为什么值得关注 + 同方向几本、新书里有没有}

### 一句话
{一句话结论}
```

---

### Phase 5:选题决策

按 [references/topic-decision.md](references/topic-decision.md) 的选题四步、可行性规则与模板,在 `{outdir}/选题决策.md` 写 2-3 个推荐选题。

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

**信息不足时,向作者补齐项目条件:**「目标平台、已有素材、擅长题材或写作限制、计划篇幅是什么?」

---

## 流程衔接

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

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

## 参考资料

| 文件 | 何时读 |
|------|--------|
| 五份平台参考(链接见「脚本采集模式」第 2 步) | Phase 2–3:只读所选平台那份——默认命令、可选榜单、字段与热度口径、采不到时、分析维度、本平台读者 |
| [references/topic-decision.md](references/topic-decision.md) | Phase 4 建文件、Phase 5 选题 |
| [references/genre-trends.md](references/genre-trends.md) | 只在内置知识模式读 |


ARGUMENTS: 为一个新的爽文故事定选题(以后可写成网文,也可改编竖屏短剧)。要求见项目根 premise.md:只定选题,不写大纲正文;交付写成文件放在当前目录:1. 一句话卖点;2. 选题说明(题材、写给谁看、主角和对手、核心冲突、开篇钩子、爽点从哪来、打算写多长及为什么撑得住)。

思考 3 秒

Bash List scan skill files and check node

输入

cd /scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/.claude/skills/story-long-scan && ls -R . | head -50 && which node

返回

SKILL.md
references
scripts

./references:
genre-trends.md
platform-ciweimao.md
platform-fanqie.md
platform-jjwxc.md
platform-qidian.md
platform-qimao.md
topic-decision.md

./scripts:
aggregate-rank.js
cdp-utils.js
ciweimao-rank-scraper.js
fanqie-rank-scraper.js
jjwxc-rank-scraper.js
qidian-rank-scraper.js
qimao-rank-scraper.js
/opt/homebrew/bin/node
Read ./.claude/skills/story-long-scan/references/topic-decision.md

输入

{
 "file_path": "/scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/.claude/skills/story-long-scan/references/topic-decision.md"
}

返回

1	# 选题决策:从扫榜数据到"写什么能爆"
2	
3	Phase 5 补上「推荐选题」,产出 `选题决策.md`:**推荐写什么、为什么可能爆、作者能否驾驭、如何验证**。文件头和「扫榜结论」在 Phase 4 已写好。"能爆的原因"先记为假设,交给 story-long-analyze 拆文验证,再供 story-long-write 开书使用。
4	
5	---
6	
7	## 选题四步
8	
9	每个推荐选题都走完这四步,缺一不可:
10	
11	1. **能爆的原因(先当假设)**:从榜上重复样本与新元素推测,哪种结构、梗或人设吸引了目标读者;标 `待拆文验证`,由拆文回填依据。同时挑 1-2 本对标书让作者拆:优先选新书榜、书库新书中字数不多的同方向书,头部老书只作参照。
12	2. **市场验证**:记录同方向本数、热度和可比上期的趋势。榜单没有扑街样本,反例只认作者或编辑给的、有来源的;没有就写未核实,无可比上期就写现状。
13	3. **差异化定位**:作者优势 × 市场缺口 = "你的版本和榜上现有的不同在哪"。没有差异化 = 同质化挤不进去。
14	4. **可行性 + 风险 + 验证动作**:按下节给出高/中/低、最可能的失败点、开写前怎么低成本验证(通常是先写黄金三章,发出去看追读,不行就换)。
15	
16	---
17	
18	## 可行性判断
19	
20	同方向样本按本平台去重作品计;细分梗只数带这个梗的书,不继承主类本数,也不把抽样命中条数当本数。
21	
22	| 可行性 | 条件 |
23	|--------|------|
24	| 高 | 同方向样本够(≥15 本,刺猬猫≥10)+ 和上期比在涨或持平 + 作者素材能撑 + 有差异化空间 |
25	| 中 | 可写但先验证:样本不足、在跌、没有上期可比、差异化不清,或素材只能撑部分情节 |
26	| 低 | 不建议:作者素材撑不住、平台调性不符,或有来源的反例显示同方向已挤满 |
27	
28	**最高给"中"**:榜单标 `[数据稀疏]`、聚合标「少」、同方向不足 15 本(刺猬猫不足 10 本)、首次扫榜无上期可比、或内置知识模式,都最高给"中",写明先补样本或小成本试水。素材撑不住、平台不符仍给"低"。
29	
30	**番茄**:每个题材按上限等额采样,题材本数总是接近上限,不能当"样本够"。番茄的同方向样本要按细分梗或标签统计本数;题材冷热看热度中位和平台 P75,并看它在新书榜、书库新书里有没有书。
31	
32	---
33	
34	## 平台适配与目标读者
35	
36	- 先匹配题材与平台读者,再比较流量;平台大不等于项目更容易成。平台的读者与调性见所选平台参考的「本平台读者」。
37	- 合同、保底、分成、全勤等收益问题,以平台最新官方规则或编辑说法为准,这里不判断。
38	- 「目标读者」只写榜单能推断的内容:频道(男频/女频);读者对这类套路的熟悉程度,新梗多解释,老梗直接上爽点;年龄段偏向须有标签、简介证据。
39	
40	---
41	
42	## 选题决策.md 模板
43	
44	```md
45	# 选题决策:{平台/方向}
46	- 扫榜日期:{YYYYMMDD}
47	- 数据来源:{榜单文件名 / 内置知识}
48	- 聚合表:{扫榜聚合.md,内置知识模式写「无」}
49	
50	## 扫榜结论:{平台名称}
51	{Phase 4 写入的报告正文;Phase 5 只读不改}
52	
53	## 推荐选题
54	
55	### 选题 1:{一句话方向}
56	- 题材组合:{主类型 + 副类型/梗}
57	- 目标读者:{频道 + 熟不熟这类套路}
58	- 核心卖点:{读者为什么追}
59	- 能爆的原因:{X 结构/梗为什么吃这波}(假设,`待拆文验证`)
60	- 差异化定位:{和榜上现有的不同在哪}
61	- 可行性:高/中/低 — {理由,写清同方向几本 + 趋势;被上限压到「中」的写明原因,如「中(没有上期可比)」}
62	- 失败风险:{最可能崩在哪}
63	- 验证动作:{开写前怎么低成本验证}
64	- 建议拆的对标书:{《书名》(平台,选它的理由)}
65	- 篇幅/平台:{建议字数区间 + 目标平台}
66	
67	### 选题 2 ...
68	### 选题 3 ...
69	```
70	
71	2-3 个选题为宜,按可行性排序(高的在前);同级时同方向新书样本多的在前,再比作者素材贴不贴,并在选题 1 的可行性理由里说一句它为什么排第一。
72	
73	---
74	
75	## 交付
76	
77	1. 写入本次扫榜目录 `扫榜/{YYYYMMDD}/` 的 `选题决策.md`,与榜单、`扫榜聚合.md` 同目录。重跑只替换对应整节。
78	2. 告诉作者路径和下一步:「开书时如果小说项目就建在扫榜时所在的文件夹里、或和它同级,`/story-long-write` 会自动找到并让你确认;隔得更远就把 `选题决策.md` 复制到小说项目根目录,或开书时把路径粘给它。想先确认"能爆的原因",就准备好对标书的原文(txt),用 `/story-long-analyze` 拆,拆完会回填。」
79	3. 拆文报告落盘后,拆文时只回填题材匹配且仍标 `待拆文验证` 的选题;写作时在作者没给方向时读 `选题决策.md` 作为开书候选。
80	
Read ./.claude/skills/story-long-scan/references/platform-fanqie.md

输入

{
 "file_path": "/scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/.claude/skills/story-long-scan/references/platform-fanqie.md"
}

返回

1	# 番茄:采集与分析
2	
3	先用 `/browser-cdp` 启动 Chrome。
4	
5	## 默认命令
6	
7	`--channel` 按 Phase 1 的频道取:1=男频、0=女频、all=男女都采。
8	
9	```bash
10	node scripts/fanqie-rank-scraper.js --channel all --type 2 --outdir {outdir}   # 男女频阅读榜
11	```
12	
13	作者要看新书里在冒头的,再加新书榜和书库「最热」:
14	
15	```bash
16	node scripts/fanqie-rank-scraper.js --channel all --type 1 --outdir {outdir}             # 男女频新书榜
17	node scripts/fanqie-rank-scraper.js --source library --channel all --outdir {outdir}     # 书库:连载中、30 万字以下,男女各前 3 页
18	```
19	
20	## 可选参数
21	
22	- 排行榜:`--type 2` 阅读榜、`--type 1` 新书榜、`--type all` 两个都采。脚本按题材采集,每类取前 20 本(`--top N` 可调),每个频道写一份 `番茄{频道}{榜单}_全题材_{日期}.md`。
23	- 书库「最热」:每页 18 本,按热度排。`--channel mix` 不分男女,`--pages N` 改页数,`--stat 1|0|any`(连载中/已完结/不限)、`--count 0-4|any`(30 万字以下、30-50 万、50-100 万、100-200 万、200 万以上/不限)改筛选。只有默认筛选(连载中、30 万字以下)在列表名里带「新书」,按新书样本计。
24	
25	## 字段与热度口径
26	
27	排名、书名、作者、题材、状态、在读(核心指标,聚合的热度口径)、字数、标签(简介开头的 `【种田+慢热+西幻】`,题材细分的真实信号)、最新更新、作品页链接、简介。页面没有评分。
28	
29	**每题材等额采样**:排行榜每个题材都取前 20 本,题材本数和占比受采样上限影响,不代表题材大小;聚合会注明。题材冷热看热度中位和平台 P75,新风向看新书榜和书库新书。
30	
31	## 采不到时
32	
33	文件头「数据质量」标 `[标题解析异常]`(书名多为 `(标题待解析)`):多半是被登录或验证页拦住,或页面改版。在已登录的 Chrome 里手动打开任一 `https://fanqienovel.com/page/{bookId}`,确认页面正常、不是验证页;报 `CDP 无响应` 就按 browser-cdp 重新启动 Chrome。确认正常后重采。
34	
35	## 分析维度
36	
37	| 维度 | 看什么 |
38	|---|---|
39	| 阅读榜 | 流量与读者规模,在读数为核心指标 |
40	| 新书榜、书库最热 | 新题材样本,与阅读榜对照;同口径前后两次对比才能说在起量 |
41	| 题材冷热 | 各题材热度中位跟平台 P75 比,不看本数 |
42	| 在读差距 | 同题材头部与腰部的流量差 |
43	| 标签热词 | 【】内标签组合揭示细分卖点 |
44	
45	## 本平台读者
46	
47	免费阅读,读者面广。要快节奏、强爽感、目标与因果清楚,爽点偏打脸、装逼、获得机缘;雷区是目标迟迟不明、长期虐主、解释压过剧情。脑洞和强情绪题材多,同质化也重,选题要写清差异化。
48	

思考 1 秒

Read ./.claude/skills/story-long-scan/references/platform-qidian.md

输入

{
 "file_path": "/scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/.claude/skills/story-long-scan/references/platform-qidian.md"
}

返回

1	# 起点:采集与分析
2	
3	排行榜默认读手机版页面,不需要 Chrome;读不到才用 Chrome 打开电脑版。书库新书只能用 Chrome,先说明并用 `/browser-cdp` 启动。脚本采的是起点主站,以男频为主;若要看起点女频,说明脚本采不到,请作者贴起点女频的榜单(见 SKILL「作者提供」)。
4	
5	## 默认命令
6	
7	```bash
8	node scripts/qidian-rank-scraper.js --type newsign --outdir {outdir}    # 新人签约新书榜
9	node scripts/qidian-rank-scraper.js --type yuepiao --outdir {outdir}    # 月票榜
10	node scripts/qidian-rank-scraper.js --type hotsales --outdir {outdir}   # 畅销榜
11	```
12	
13	作者要看新书里在冒头的,再加书库新书:
14	
15	```bash
16	node scripts/qidian-rank-scraper.js --type library --pages 3 --outdir {outdir}   # 默认 3 页,最多 10
17	```
18	
19	书库新书是「男生、连载、30 万字以下、三日内更新」按人气排的前几页,名次即人气排名,会拉低字数中位。跟作者说「起点最近三天还在更新的 30 万字以内新书,按人气取前 3 页,要开浏览器」。
20	
21	## 可选榜单
22	
23	`--type` 换成下表的值;`all` 采全部排行榜(不含书库新书)。`--mode mobile|cdp` 强制读手机版或电脑版。
24	
25	| 榜单 | --type | 看什么 |
26	|------|--------|--------|
27	| 新人签约新书榜 | newsign | 新人签约作品,新风向 |
28	| 签约作者新书榜 | signnewbook | 已签约作者的新作 |
29	| 公众作者新书榜 | pubnewbook | 潜力作者 |
30	| 新人作者新书榜 | newauthor | 新人赛道 |
31	| 三江推荐 | sanjiang | 编辑精选,平台力推方向 |
32	| 月票榜 | yuepiao | 付费认可度 |
33	| 畅销榜 | hotsales | 订阅表现 |
34	| 阅读指数榜 | readindex | 阅读量综合 |
35	| 收藏榜 | collect | 手机版没有,取书友榜代替 |
36	| 原创推荐榜 | recom | 推荐票表现 |
37	
38	手机版的两个签约榜是同一页,`newsign` 和 `signnewbook` 只采一个;都采了,聚合会按一份计。以文件头「移动端实际榜单」为准。
39	
40	## 字段与热度口径
41	
42	排名、书名、作者、题材(主类·子类)、状态、签约、收费模式、字数、总推荐、标签、简介、作品页链接;缺项写 `[待补]`。聚合按主类分题材、子类进标签,热度口径是总推荐。书库新书的总推荐另列为「新书总推荐」,不和老书混算。
43	
44	## 采不到时
45	
46	- 手机版读取失败后改用 Chrome,若遇到验证码:脚本会停下等你在 Chrome 窗口里手动完成验证,最长 120 秒。告诉作者去 Chrome 里点验证。
47	- 文件头「数据质量」标了问题:看「问题摘要」。题材、字数大面积缺失多半是手机版页面改版,先 `/browser-cdp` 启动 Chrome,再加 `--mode cdp` 重采一次。
48	
49	## 分析维度
50	
51	| 维度 | 看什么 |
52	|---|---|
53	| 月票榜/畅销榜 | 付费榜表现,不等于订阅或追读原数;头部多是连载多年的大神老书 |
54	| 新书榜、书库新书 | 新作者、新题材的早期信号;和月票、畅销榜的题材占比对照 |
55	| 三江推荐 | 平台力推方向 |
56	
57	## 本平台读者
58	
59	付费订阅、男频为主,读者要升级、成长和长线追读,爽点偏实力碾压、智谋取胜、机缘兑现;雷区是长期憋屈、主角被动又不反击。
60	

思考 3 秒

思考

Bash Scrape Qidian new-book, monthly-ticket, sales and editor-pick rankings

输入

cd /scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1 && mkdir -p 扫榜/20261019 && S=.claude/skills/story-long-scan/scripts; for t in newsign yuepiao hotsales sanjiang; do timeout 90 node $S/qidian-rank-scraper.js --type $t --mode mobile --outdir 扫榜/20261019 2>&1 | tail -5; done; ls 扫榜/20261019

返回

→ 采集 起点新人签约新书榜(移动端 SSR)...
  URL: https://m.qidian.com/rank/sign/
  ⚠ 移动端 SSR 采集失败: getaddrinfo ENOTFOUND m.qidian.com
起点采集 failed: no output was written

→ 采集 起点月票榜(移动端 SSR)...
  URL: https://m.qidian.com/rank/yuepiao/
  ⚠ 移动端 SSR 采集失败: getaddrinfo ENOTFOUND m.qidian.com
起点采集 failed: no output was written

→ 采集 起点畅销榜(移动端 SSR)...
  URL: https://m.qidian.com/rank/hotsales/
  ⚠ 移动端 SSR 采集失败: getaddrinfo ENOTFOUND m.qidian.com
起点采集 failed: no output was written

→ 采集 起点三江推荐(移动端 SSR)...
  URL: https://m.qidian.com/sanjiang/
  ⚠ 移动端 SSR 采集失败: getaddrinfo ENOTFOUND m.qidian.com
起点采集 failed: no output was written

思考 3 秒

思考

Read ./.claude/skills/story-long-scan/references/genre-trends.md

输入

{
 "file_path": "/scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/.claude/skills/story-long-scan/references/genre-trends.md"
}

返回

1	# 内置题材候选
2	
3	无实时榜单时使用。这里的题材、流派和书名来自历史样本,只能当候选假设;可行性最高给"中",并列出要复扫的榜单。
4	
5	## 新元素分三级
6	
7	| 级别 | 频率 | 怎么对待 |
8	|------|------|----------|
9	| 新题材 | 极少 | 跨榜单、跨作者都出现重复样本才算趋势,否则只当观察项 |
10	| 新金手指 | 较少,多是翻新 | 适合低成本验证,但题材外壳和情绪触发都要变化 |
11	| 新噱头 | 常见 | 同质化风险高;没有差异化机制就降低优先级 |
12	
13	## 男频题材候选
14	
15	| 题材 | 候选方向 |
16	|------|----------|
17	| 都市 | 重生、种田、娱乐、都市高武;重生能和多数元素融合 |
18	| 玄幻 | 极道流、加点横推这类反馈直接的优先;传统玄幻近期样本少就标高风险 |
19	| 仙侠 | 先查脑洞融合路线的近期样本;纯传统路线要另行验证受众 |
20	| 历史 | 秦、唐、明、宋、三国;穿越改命、争霸 |
21	| 诸天无限 | 同人副本和原创副本分开看,看世界规则能不能持续兑现核心期待 |
22	| 科幻 | 末世为主,常混脑洞、种田、游戏设定 |
23	| 悬疑灵异 | 恐怖灵异、奇门秘术、侦探推理 |
24	
25	常见流派:极道流(属性加点、横推)、凡人流(小人物攀爬、精打细算)、巫师流(知识体系加实验升级)、种田流(经营反馈推进)、盘点文、模拟文、两界穿梭。同人仅在作者明确目标作品、平台允许且近期样本有效时列。
26	
27	## 女频题材候选
28	
29	| 题材 | 候选方向 |
30	|------|----------|
31	| 现言 | 总裁豪门、追妻火葬场、先婚后爱、年代重生 |
32	| 古言 | 宫闱宅斗、重生复仇、种田经商、权谋 |
33	| 幻想言情 | 玄幻仙侠团宠、无限快穿、末世求生 |
34	
35	## 长篇书名写法
36	
37	下表是七猫书库长篇(2026 年 10 月统计,80 万字以上,男频 2072 本、女频 1643 本,多是写了很久的老书)中常见书名写法的占比。仅代表七猫存量书的起名习惯;新书起名以本次新书榜的常见词为准:
38	
39	| 写法 | 男频 | 女频 |
40	|------|------|------|
41	| 书名带「我」 | 35% | 22% |
42	| 冒号分前后两段(「大明:开局小县令,红温朱元璋」) | 28% | 19% |
43	| 带「重生」 | 7% | 9% |
44	| 带「开局」 | 9% | 不到 1% |
45	| 「从…开始」 | 6% | 不到 1% |
46	| 带「总裁 / 大佬 / 霸总」 | 2% | 13% |
47	| 带「离婚」 | 2% | 5% |
48	
49	## 长篇书名样本
50	
51	同一语料里的原书名:
52	
53	| 题材 | 书名 |
54	|------|------|
55	| 都市 | 重回90:金瞳鉴宝发家,全家悔不当初 / 神话降临,我提前获得内测资格 / 重生70:开局迎娶绝美村花 |
56	| 玄幻 | 凡人修仙:开局救助落魄师姐 / 全民:让你信仰神明,你取而代之? / 八岁武尊:退婚流祖师爷 |
57	| 仙侠 | 洪荒:从满级神功系统开始无敌 / 开局替死,我不愿意,横推当世 / 西游:稳健人生,从高中进士开始 |
58	| 历史 | 大明:开局小县令,红温朱元璋 / 大秦血衣侯:我以杀敌夺长生 / 穿成穷书生,我连中三元杀穿朝堂 |
59	| 末世 | 开局成为丧尸,我锻炼就变强 / 全民微缩,从1.75厘米开始 / 末日刚降临,你怎么就成神了? |
60	| 悬疑灵异 | 送邪:我身披阎王衣,只手镇百鬼 / 好感度天赋弱?女鬼抢着送提示 / 7号末班车 |
61	| 现言 | 我提离婚后,清冷老公破戒了 / 替身退场,京圈大佬急疯了! / 离婚协议生效,前夫却发疯找我 |
62	| 古言 | 嫡女重生悔婚,阴鸷王爷破大防! / 哑奴带崽改嫁,清冷权臣悔疯了 / 听懂植物心声,我扶全家纨绔上青云 |
63	| 幻想言情 | 挖我灵根?重生后新师门待我如宝 / 快穿:满级美人攻略日常 / 转职最弱辅助?SSS级大佬跪地争宠 |
64	

思考 93 秒

Agent:
机器连不上外网,起点和番茄的榜单都抓不到,所以这次只能用工具箱自带的题材资料来定方向。我先把两个文件写出来,选题依据会标成"待验证"。
Write ./选题.md

输入

/scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/选题.md

# 选题:《重生2006:包工头跑路前一天,我先把账收了》

> 本选题依据的是工具箱内置的历史题材资料,这次没有抓到实时榜单(机器连不上外网)。题材热度的判断都是待验证的假设,开写前要按文末「开写前要验证的事」补一轮扫榜。

## 一、一句话卖点

工地记账员被人从脚手架上推下去,一睁眼回到二〇〇六年冬天:前世二十年里每一笔欠薪、每一个跑路的老板、每一栋会烂尾的楼,他都记在账上。这辈子他挨家上门,连本带利讨回来。

## 二、选题说明

### 题材

男频都市,重生加发家,走「讨账」路线。

- 主类:都市重生。重生能和大多数元素搭在一起,是男频都市最稳的底盘。
- 差异化:别的重生文靠记住彩票号码、股价发财,这本主角带回来的是一本**账**,记着谁会欠谁、哪天欠、欠多少、谁在说谎。他的金手指就是这份记忆,不另加系统,所以可信,写成短剧也不需要特效。
- 时代:二〇〇六到二〇二六,正好是地产行业二十年起落,从工地、劳务队、建筑公司一路做到地产公司。故事里的公司、人物和事件都虚构,不对应真实企业。

### 写给谁看

- **网文**:首投番茄男频都市(免费阅读,读者要快节奏、强爽感、目标清楚,正好对上这本的路子)。读者对重生、打脸、发家的套路很熟,所以不用花篇幅解释,直接上爽点。
- **竖屏短剧**:讨薪、亲戚借钱不还、老实人被人欺负,都是大众身边的事,不用科普就能共情。场景是工棚、酒席、售楼处、村口、工地,都是现代实景,拍起来便宜。
- 年龄段偏向这次没有榜单标签做依据,先不下结论。

### 主角和对手

**主角 江满**:前世四十六岁,在工地当了二十年记工员,四十个工友谁哪天上工、该拿多少钱,全记在他那个本子上。老实、肯吃亏、一辈子没讨回过一分钱。重生回二十六岁,性子还是那个记账的人:不打打杀杀,靠的是**证据、时间和人心**。每一次出手都先把账对清楚,让对方当着众人的面赖不掉。

**女主 苏晚**:鼎恒地产的出纳。前世替周家背了挪用公款的锅,坐了牢。一个记工钱,一个记公司的账,两本账一对,就是周家的命门。她是搭档,也是感情线,短剧可以靠这对组 CP。

**对手(逐级升级)**:

| 阶段 | 对手 | 前世欠下的账 |
|---|---|---|
| 开局 | 包工头赵大海 | 卷走四十个工友一年的工钱跑路,锅扣在江满头上,害他被工友当成同伙 |
| 家里 | 亲哥江涛和嫂子 | 借走他攒着娶媳妇的钱盖房,房本只写哥哥的名字,后来把爹娘赶出门 |
| 行业 | 劳务公司、分包老板、监理 | 层层克扣、偷工减料、做假账 |
| **主对手** | 鼎恒地产周振邦、周屹父子 | 靠拖欠工钱和挪用房款发家,盖出一片烂尾楼;前世把江满推下脚手架的人就是周家派的 |

### 核心冲突

一个记账的要讨回开发商欠下的所有账:欠薪、偷工减料、烂尾楼,还有他自己那条命。周家要在地产最赚钱的二十年里,把这个知道太多的人碾死。

贯穿全书的悬念是:**前世是谁推的他?那一天他的账本上到底记着什么?** 答案在最后一卷揭开,揭开的同时,最大的那笔账也收回来。

### 开篇钩子

第一章:江满在工棚里醒来,墙上挂历写着二〇〇六年,离过年还有十天。工友们正兴冲冲地凑钱买火车票,说「大海哥明天一早发钱」。

只有江满知道:明天早上六点,赵大海会开着那辆桑塔纳去火车站,带走四十个人一年的血汗钱,从此再没露面。前世他追了十年也没追回来。

他只有一晚上。第一章结尾,他拨通开发商财务室的电话:「明天要打给赵大海的那笔工程款,先别打。」

短剧开头一分钟就能拍:挂历特写、工友的笑脸、江满脑子里闪回前世的那本账,再接这通电话,钩子当场立住。

### 爽点从哪来

1. **对账名场面**:全书反复用的招牌桥段。江满当众翻开账本,一笔一笔念:日期、金额、证人。对方每抵赖一句,他就再翻一页。读者知道账本里还有东西,期待的就是下一页。短剧每一集的高潮都能落在这一句「这笔账,我念给你听」上。
2. **先知截胡**:他知道谁哪天跑路、哪片地要拆迁、哪栋楼要烂尾,总能抢先一步,把坑留给挖坑的人。
3. **替工友讨薪**:替四十个人出头,他赢的是一群人。讨回来的钱当场一张一张数给工友,这是最好拍、最有共鸣的群体爽点。
4. **阶层翻身**:从被工友骂作「包工头同伙」的记账员,到包工头、开发商反过来求他。每一卷都抬高一个阶层。
5. **悔不当初**:前世踩过他的人,这辈子一个个排队求他。哥嫂、赵大海、周家,各有各的报应。

### 打算写多长,为什么撑得住

**网文:计划一百五十万到两百万字,分五卷。** 字数区间按番茄都市重生文的常见长度估的,没有用这次的榜单核实。

撑得住的理由是这本书自带一条二十年的时间线,每个时代节点都有新的账要收、新的对手要打,主角也跟着往上走一级:

| 卷 | 时间 | 主角身份 | 要收的账 |
|---|---|---|---|
| 一 | 2006–2008 | 记工员 → 自己带队 | 赵大海卷走的工钱、哥嫂借的钱 |
| 二 | 2008–2012 | 劳务公司老板 | 克扣工钱的劳务公司和分包,跟周家第一次交手 |
| 三 | 2012–2016 | 建筑公司老板 | 偷工减料、拆迁里的坑,苏晚的冤案 |
| 四 | 2016–2020 | 地产公司掌舵人 | 跟周家正面抢地,高周转背后的假账 |
| 五 | 2020 往后 | 收总账的人 | 周家资金链断裂、烂尾楼、前世那条命 |

几个支撑点:

- **讨账这套机制能一直重复**:一笔账就是一个单元,十来章收一笔。金额从四万涨到四十亿,对手从包工头涨到地产大亨,机制不变,赌注一直往上加。读者每一卷都知道主角要讨什么。
- **先知有保质期,所以不会写塌**:他只知道前世发生过的事。他改变得越多,后面的走向就越偏离前世,账本会慢慢不准,中后期得靠自己本事。这样既保留了前期的爽,又能堵住「全知全能没悬念」的后期崩盘。
- **主线悬念一直吊着**:推他下楼的人是谁,到最后一卷才揭开,读者有理由一直追。

**短剧:只改编第一卷加第二卷前半,约八十到一百集,每集一到两分钟。** 付费卡点放在第八到第十集:江满讨回工钱当晚,周屹第一次露面,江满认出他身后那个人,就是前世推他下楼的人。第一季在这里收尾,后面几卷正好留作续季。

## 三、主要风险

- **都市重生同质化严重**:差异化全押在「讨账」和「对账名场面」上,黄金三章必须让这一点立住,否则就淹没在同类重生文里。
- **时代背景容易写成科普**:地产、拆迁、政策变化只能当剧情的背景板,一旦解释压过剧情,就踩了番茄读者的雷。
- **题材审核**:欠薪、烂尾楼都是现实里的敏感事,坏人必须落在具体的个人身上,不写成整个行业或制度的问题,不影射真实企业和事件。短剧送审前要重点看这一块。
- **题材可能显得土**:工地开局对部分读者没吸引力,书名和简介要把「重生」「讨账」「跑路前一天」这些钩子放在前面。

## 四、开写前要验证的事

1. 补一轮番茄扫榜(男频都市的阅读榜、新书榜,加书库里三十万字以下的连载新书),看都市重生在新书里还热不热,再搜一下讨薪、包工头、讨账、重生到零零年代这几个方向,数清同类有多少本。
2. 从扫出来的同方向新书里挑一到两本做对标拆文,验证「对账」这类重复桥段能不能拉住追读。
3. 先写黄金三章发出去看追读,数据不行就换方向,成本最低。

返回

File created successfully at: /scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/选题.md (file state is current in your context — no need to Read it back)

思考

Write ./扫榜/20261019/选题决策.md

输入

/scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/扫榜/20261019/选题决策.md

# 选题决策:番茄 / 都市爽文(兼顾竖屏短剧改编)
- 扫榜日期:20261019
- 数据来源:内置知识(起点、番茄榜单本次都没拿到)
- 聚合表:无

## 扫榜结论:番茄(内置知识)

以下分析基于历史题材候选,没有实时榜单校验,只能作为待验证的假设。

### 市场概况
- 扫榜时间:2026-10-19
- 核心发现:这次没拿到实时数据。按历史题材候选看,重生能和大多数元素搭在一起,适合做强爽感都市文的底盘,但同质化很重,必须有自己的机制。

### 缺榜说明
- 起点月票榜、畅销榜、新人签约新书榜、三江推荐这次都没拿到(机器连不上外网),结论不含它们。
- 番茄的榜单需要开 Chrome,当前环境开不了,这次也没采,结论不含它。

### 题材热度排行
未比较。没有实时数据,不排热度。

### 新题材信号
- 本次无样本,不判断。

### 经典题材动态
- 男频都市:重生、种田、娱乐、都市高武是历史上的常见方向。现状待复扫确认。
- 女频现言:总裁豪门、追妻火葬场、先婚后爱、年代重生。现状待复扫确认。

### 新元素提取
- 本次无样本,不提取。

### 关键数据洞察
- 字数区间:本次无数据。
- 书名特征:按内置的七猫存量书统计,男频书名有三成五带「我」,近三成用冒号分前后两段,带「开局」「重生」的也常见(只代表七猫存量书,不代表新书)。
- 标签热词:本次无数据。

### 值得关注的方向
1. 都市重生加发家:底盘稳,能嫁接讨账、鉴宝、年代等外壳。同方向有几本、新书里有没有,都待复扫。
2. 女频年代或家庭重生:家庭矛盾身边就有,适合改编短剧。同方向有几本待复扫。
3. 都市脑洞(预知类金手指):拍成短剧成本低,但同质化风险高。

### 要复扫的榜单
- 番茄:男频都市、女频现言的阅读榜和新书榜,加书库里三十万字以下的连载新书,男女频各前三页。
- 起点:新人签约新书榜、三江推荐。

### 一句话
没有实时数据,先拿「都市重生加一个能反复用的爽点机制」当假设去写,开写前补扫番茄新书榜验证。

## 推荐选题

### 选题 1:重生回包工头跑路前一天,工地记账员挨家讨账
- 题材组合:都市重生 + 发家 + 讨账(对账名场面)
- 目标读者:男频,对重生、打脸、发家的套路很熟,可以直接上爽点
- 核心卖点:带着前世二十年的账重生,每一笔欠薪、每一个跑路的老板、每一栋会烂尾的楼都记得,当众对账,让人赖不掉
- 能爆的原因:讨账这套机制一个单元收一笔账,可以一直重复,赌注逐卷往上加;讨薪、亲戚借钱不还是大众身边的事,不用科普就能共情(假设,`待拆文验证`)
- 差异化定位:别的重生文靠彩票、股票这类先知发财,这本靠一本记着人和钱的账;金手指不加系统,可信,拍短剧也不需要特效
- 可行性:中(内置知识模式,没有实时样本也没有上期可比)。排第一是因为它跟作者给的两个条件(网文爽文、能拍竖屏短剧)最对得上:现代实景、每集都有对账的高潮,长篇又有二十年时间线撑着
- 失败风险:都市重生同质化,黄金三章立不住「讨账」就会被淹没;时代背景写成科普;欠薪、烂尾楼题材送审敏感
- 验证动作:复扫番茄男频都市新书,搜讨薪、包工头、讨账、重生到零零年代几个方向数同类本数;先写黄金三章发出去看追读
- 建议拆的对标书:待复扫后从同方向新书里挑(优先字数少的新书)
- 篇幅/平台:一百五十万到两百万字,番茄男频都市;短剧改编第一卷加第二卷前半,约八十到一百集
- 详细选题说明:见项目根 `选题.md`

### 选题 2:女频重生,回到全家逼她把婚房让给弟弟那天
- 题材组合:女频现言 + 家庭重生 + 搞事业
- 目标读者:女频,对「扶弟魔」家庭、重生反击这类套路很熟
- 核心卖点:前世房子、存款、工作都被娘家吸干,重生后一样一样拿回来,再自己做起事业
- 能爆的原因:家庭里的不公平最容易激起情绪,拍短剧冲突密度高(假设,`待拆文验证`)
- 差异化定位:重点放在「拿回来以后怎么过好」,不停在跟娘家撕扯,避开长期被虐
- 可行性:中(内置知识模式)
- 失败风险:家庭矛盾撑不到长篇,后期容易没对手可打;容易写成长期虐主
- 验证动作:复扫番茄女频现言新书,搜重生、扶弟魔、原生家庭标签
- 建议拆的对标书:待复扫后挑
- 篇幅/平台:八十万到一百二十万字,番茄女频;短剧改编全本

### 选题 3:都市脑洞,能看见每个人头顶的「结局」
- 题材组合:都市 + 预知类金手指 + 救人换回报
- 目标读者:男频,熟悉脑洞类金手指
- 核心卖点:看得见每个人人生的最后一行字,改写别人的结局,就能拿到回报
- 能爆的原因:每个陌生人都是一个钩子,单元剧结构适合短剧(假设,`待拆文验证`)
- 差异化定位:结局能改,但改一次就有代价,避免全知全能
- 可行性:中(内置知识模式,预知类同质化风险高,偏下)
- 失败风险:都是单元剧,主线弱,长篇容易散
- 验证动作:复扫番茄都市脑洞新书,数一下读心、预知、倒计时这类金手指的同类本数
- 建议拆的对标书:待复扫后挑
- 篇幅/平台:一百万字左右,番茄男频都市脑洞

返回

File created successfully at: /scratch/002/ws/002-topic/zenstory-ai__oh-story-claudecode/run-1/扫榜/20261019/选题决策.md (file state is current in your context — no need to Read it back)

思考 7 秒

Agent:
选题定好了,写在项目根的 `选题.md`。有一点要先说清楚:**这台机器连不上外网,起点和番茄的榜单都没抓到**,所以选题依据的是工具箱自带的历史题材资料,不是现在的榜单。题材热不热只能算假设,可行性最高只能给"中"。

**选题:《重生2006:包工头跑路前一天,我先把账收了》**

**一句话卖点**:工地记账员被人从脚手架上推下去,醒来回到二〇〇六年冬天。前世二十年里每一笔欠薪、每一个跑路的老板、每一栋会烂尾的楼,他都记在账上。这辈子他挨家上门,连本带利讨回来。

**premise.md 要求的几项:**
- **题材**:男频都市,重生加发家。差异化在于主角不靠彩票股票发财,金手指就是前世那本"账",不加系统,拍短剧也不需要特效。
- **写给谁看**:网文首投番茄男频都市。短剧那边,讨薪、亲戚借钱不还都是大众身边的事,场景是工棚、酒席、售楼处这类现代实景,拍起来便宜。
- **主角和对手**:主角江满是工地记账员,女主苏晚是开发商的出纳,两人一个记工钱一个记公司账。对手逐级升级:包工头赵大海 → 亲哥嫂 → 劳务公司和分包老板 → 主对手周家父子(开发商),前世推他下楼的人就是周家派的。
- **核心冲突**:他要讨回欠薪、烂尾楼和自己那条命这些账,周家要把这个知道太多的人碾死。"前世是谁推的他"这个悬念吊到最后一卷。
- **开篇钩子**:醒来时离过年还有十天,工友们说"大海哥明天一早发钱",只有他知道明早六点赵大海会卷款跑路。第一章结尾他打电话给开发商:「明天要打给赵大海的那笔工程款,先别打。」
- **爽点**:当众对账(全书反复用的招牌场面,短剧每集的高潮都能落在这里)、先知截胡、替四十个工友讨薪、身份一路往上翻、前世踩过他的人后悔。
- **写多长**:网文一百五十万到两百万字,分五卷,跟着二〇〇六到二〇二六这二十年地产起落往前走,每卷一个新对手。主角只知道前世的事,改变得越多账本越不准,中后期得靠自己本事,这样后期不会因为全知全能写塌。短剧只改编前一卷半,约八十到一百集,第一季停在主对手露面那一刻。

**另外:**
- 按工具箱流程,我在 `扫榜/20261019/选题决策.md` 留了一份选题记录,除了这个选题,还有两个备选:女频家庭重生、都市预知类脑洞。没拿到哪些榜单也写在里面。
- 抓起点榜单时建了 `扫榜/20261019/` 目录,因为没抓到,里面没有榜单文件。
- 开写前最好补一轮番茄扫榜,看都市重生在新书里还热不热,同类讨账、讨薪的书有多少本。那一步要能联网,还要开 Chrome。
- 这个项目还没部署写作环境。真要开书,先跑 `/story-setup`,再新开一个会话用 `/story-long-write`。

如果你心里已经有目标平台、男频还是女频,或者自己擅长的题材,告诉我,我再调整。

这一轮结束:耗时 3.3 分钟,按 API 价格折算 $0.74

第 2 轮

输入:
如果要我在几个题材或故事方案里选,就选你最推荐的那个;其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 列出的交付都写成文件。

思考 3 秒

Bash Check deliverable file headings against premise requirements

输入

grep -n '^#' 选题.md && ls

返回

1:# 选题:《重生2006:包工头跑路前一天,我先把账收了》
5:## 一、一句话卖点
9:## 二、选题说明
11:### 题材
19:### 写给谁看
25:### 主角和对手
40:### 核心冲突
46:### 开篇钩子
56:### 爽点从哪来
64:### 打算写多长,为什么撑得住
86:## 三、主要风险
93:## 四、开写前要验证的事
premise.md
扫榜
选题.md

思考 6 秒

Agent:
premise.md 要的交付上一轮已经写完了,这轮没再改文件,只核对了一遍,每一项都在。我推荐、也就是最终选定的是**《重生2006:包工头跑路前一天,我先把账收了》**:男频都市重生加发家,首投番茄,可以改编竖屏短剧。

交付文件是项目根目录的 `选题.md`:

| premise.md 要求 | 在 `选题.md` 的哪一节 |
|---|---|
| 1. 一句话卖点 | 一、一句话卖点 |
| 2. 选题说明:题材 | 二 · 题材 |
| 写给谁看 | 二 · 写给谁看 |
| 主角和对手 | 二 · 主角和对手 |
| 核心冲突 | 二 · 核心冲突 |
| 开篇钩子 | 二 · 开篇钩子 |
| 爽点从哪来 | 二 · 爽点从哪来 |
| 打算写多长、为什么撑得住 | 二 · 打算写多长,为什么撑得住 |

文件里还多写了两节:主要风险,和开写前要验证的事。按 premise.md 的要求,只定了选题,没写大纲和正文。

有一点要记住:这台机器连不上外网,没抓到实时榜单,所以选题依据的是工具箱自带的历史题材资料,题材热不热只是假设。开写前最好在能联网的环境补一轮番茄扫榜。两个备选方案和缺了哪些榜单,记在 `扫榜/20261019/选题决策.md` 里。

这一轮结束:耗时 0.2 分钟,按 API 价格折算 $0.80