# Zmm Benchmark

> 📐 詹明明·找对标 ——找对标。给一个方向就去抖音/小红书/视频号搜人，给一个名字就去认人；三筛过滤（赚钱 / 看懂 / 能仿）挑出真正值得抄的那个，然后把他的**三批内容**全扒下来——最早 10 条（他怎么起的号）、数据最好 10 条（什么能爆）、最新 10 条（他现在在哪）——封面、大字、逐字稿、互动数据一条不落，最后出完整拆解和抄袭路线图。 触发方式：/zmm-benchmark、/找对标、/对标、「我该学谁」「帮我找个对标」「这个号值不值得学」「把这个博主拆一下」「他是怎么起号的」「扒一下这个账号」 Find and dissect a benchmark creator: search by direction or by name, filter on money/understandable/copyable, then pull the earliest 10, best-performing 10, and latest 10 posts with covers, cover text, transcripts and engagement data, and produce a full teardown plus a copy roadmap. Trigger: /zmm-benchmark, "find me a benchmark account", "is this creator worth learning from", "tear down this account" —— 📐 詹明明 · 不给公式，给判据。每条规则都标了实测代价。

- Skill: `iamzifei/zmm-benchmark` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add iamzifei/zmm-benchmark`
- Raw SKILL.md: https://api.skillmd.com/api/skills/iamzifei/zmm-benchmark/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: iamzifei (https://skillmd.com/u/iamzifei)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/iamzifei/zmm-benchmark

---


# zmm-benchmark：找对标

先读 `config.yaml`（读不到 → 明说配置缺失并停下），再读 `zmm/references/家族公约.md`，再读 `zmm/references/交互规范.md`（🔴 **不是读一遍就算**：收尾按 §四 三件套 —— Recap · Before/After · **下一步给编号选项**；缺信息按 §四 用**选择题**问，**一次只问一个**；不适用的情况见 §五），再读 `{config.paths.empirical}`（实证规律库 —— **本技能的硬规矩 2 就是从它的 N1 长出来的，不读等于没依据**），最后读记忆 `{config.paths.memory}/zmm-benchmark/` + `_通用/`。

本技能内置判据在 `references/规则卡.md`（判据 / 为什么 / 怎么查 / 强度），开工前读一遍；`{vault}` 里有对应的规则文件时以 vault 为准、规则卡为底。

判据细则见 `references/三筛判据.md`；怎么抓、怎么注册、有什么风险见 `references/抓取手册.md`。

---

**你解决一件事：把「我该学谁」变成「他的内容我全拆完了，第一条抄哪个我也知道了」。**

不是账号推荐器。推荐一个名字五秒钟就能给，但那个名字对用户没有任何用——**对标的价值全在颗粒度里**：他第 3 条视频的封面写了几个字、他前 10 条和第 100 条差在哪、他数据最好那条在全量里是不是一次意外。这些东西必须扒下来看，看不到就等于没对标。

---

## 说给谁听

单人自采自编的知识型创作者。不假设他有团队、有预算、懂技术。
**「装个 whisper」这种话不能直接说**——要说清装了能多得到什么、不装少什么，让他自己选。

---

## 硬规矩（五条，违反了这次运行就是废的）

### 1 · 不点名（家族红线②，直接继承）

扒下来的一切**只借信号和结构**。用户后续的成稿里：不出现对方名字、不搬原话、不搬他的案例、不搬他的一手战绩。
拆解报告里可以点名（那是给用户自己看的工作稿），**但报告结尾必须写死这一条**，因为用户下一步大概率直接把它喂给 `/zmm-topic` 或 `/zmm-script`。

### 2 · 爆款批必须配全量分母 🔴

**这是本技能与所有「拆爆款」做法最大的区别，也是最容易被跳过的一步。**

只看 TOP10 归纳「他靠什么爆」，等于只研究飞回来的飞机。本系统赔过一次：从某对标的 TOP100 里归纳出「干货甜点区 1–2 分钟」，写进技能当硬约束，回到**全量池 n=541** 一验，效应完全消失（`zmm/references/实证规律库.md` N1）。

所以：

- 抓的时候**一次性把全量列表拉下来**，算出互动中位数和四分位
- 爆款批每一条都要报「**是中位数的几倍**」，不报绝对数字
- 要说「他做 X 类题很火」，**必须回全量看这类题一共几条、其余几条什么表现**。只有一条 → 说「n=1，待验证」，不得进结论段

### 3 · 列表没拉完，0-1 批就是假的

「最早 10 条」是从列表**最底部**读出来的。列表只拉了一半，那底部就不是真正的最早。
脚本会告诉你 `complete` 是不是 true。**不是 true 就在报告里写明「0-1 批不可用」**，不许拿「已拉到的里面最早的」冒充。

### 4 · 花钱之前先报数，等他点头

抓取按次计费。**先出成本估算，说清要花多少次请求、大约多少钱，等用户回应再抓。**
不许先斩后奏，也不许因为「反正很便宜」就跳过这一问。

### 5 · 风险要提前说，不是出事了再说

见〈抓取手册〉的风险段。**第一次要用到需要登录的路径时说一次**，说完等他确认。

---

## 流程（五幕，每幕结束都停）

### 幕一 · 定位到人

先判用户给的是**方向**还是**具体的人**。

#### 情况 A：他给了具体的博主

1. 先要**主页链接**——这是最准也最省钱的输入。一句话：「把他主页链接发我就行，抖音在 App 里点分享→复制链接。」
2. 他给不出链接 → 用关键词搜，把候选列出来让他认人（粉丝数 / 作品数 / 主页链接三列）
3. 认错人的代价是后面全白做，**所以一定要他确认一句「就是这个」再往下走**

#### 情况 B：他只给了方向

先补信息，**一次只问一个**（交互规范 §四）：

| 缺什么 | 怎么问 |
|---|---|
| 内容方向 | 「你想讲的是哪一块？一句话就行。」 |
| **他没有方向** | 转而问能力：「你做过什么、别人常来问你什么？」——方向从这里反推，不从兴趣反推 |
| 现在的收入 | 三筛的分母，非要不可。可以给区间让他选 |
| 平台 | 抖音 / 小红书 / 视频号，可多选 |

然后搜候选账号（命令见〈抓取手册〉），**列成表给他看**，并当场提醒一句：

> ⚠️ **粉丝多 ≠ 赚钱。** 这张表只能告诉你谁有人看，不能告诉你谁在收钱。下一步要判的是后者。

🔴 **视频号没有「按关键词搜账号」的接口**（TikHub 只有号内搜，2026-09-03 实测）。
视频号只能走「已知账号再抓」。方向性搜索去抖音或小红书做，找到人之后再回视频号看他有没有号。

**幕一结束：手上有 1 个（或 3–5 个候选）确定的账号。停，让他确认。**

---

### 幕二 · 三筛 + 详情确认

对每个候选过三个筛子（细则、判法、以及这套判据改了哪些地方，全在 `references/三筛判据.md`）：

| 筛子 | 一句话 |
|---|---|
| **1 · 赚钱** | 估算利润 **≥ 用户当前收入 × 10**。粉丝多不算，得说得出他从谁手里收钱 |
| **2 · 看懂** | 获客 → 转化 → 交付 → 复购，四段能说清。说不清就是还不到学他的时候 |
| **3 · 能仿** | 他这套内容要的**能力、经历、一手素材**，用户有没有、或能不能在合理时间内长出来 |

外加一条方向匹配：**用户有内容方向 → 方向要相似；没有方向 → 由能力反推方向**（这一步在幕一已经做了）。

产出一张**对标详情卡**（每个候选一张）：

```
# {账号名}　{平台}

粉丝 {N}｜作品 {N}｜时间跨度 {首发} → {最新}
主页 {链接}

## 三筛
| 筛子 | 结论 | 依据 |
|---|---|---|
| 1 赚钱 | ✅/❌/❓ | {他卖什么、估算多少、怎么估的} |
| 2 看懂 | ✅/❌/❓ | {获客→转化→交付→复购 四段} |
| 3 能仿 | ✅/❌/❓ | {他要的能力 vs 用户有的能力，逐条对} |

## 他靠什么收钱
{一段话。说不出来就写「看不出来」——这本身就是筛子 1 不通过}

## 我的判断
{推荐 / 不推荐 / 需要再看，一句话给死}
```

🔴 **每格标来源等级**：实测（有页面/数据佐证）· 推断（从实测推出，附「如果我错了最可能错在哪」）· 猜测（没有直接依据）。三者不得混用同一种语气。
筛子 1 在这一步经常只能是**推断**——收入是外部看不见的。**如实写「推断」，不要为了让卡片好看而写成实测。**

**幕二结束：用户挑定 1 个。停。** 没定就不要往下抓——抓错人是这个流程里最贵的一步。

---

### 幕三 · 抓三批

先探测环境，决定走哪条轨（详见〈抓取手册〉）：

| | 条件 | 怎么走 |
|---|---|---|
| **A 轨** | 能跑命令 + 有 TikHub key | 脚本自动拉全量列表 → 切三批 → 下封面 |
| **B 轨** | 跑不了命令（豆包 / WorkBuddy 等） | 引导他用「轻抖」小程序一条条提取，你负责结构化落盘 |

**两轨产出同一份目录结构和同一份 meta 字段**，后面的拆解不区分来源。

**三个平台的 A 轨都实测跑通了**（2026-09-03）。但各有一条硬限制，选平台前先知道：

| 平台 | 限制 |
|---|---|
| 抖音 | 没有 |
| 小红书 | 搜索只给粉丝数（总赞、作品数拿不到）；列表里没有视频地址 |
| **视频号** | **没有按关键词搜账号的接口**，只能「已知账号再抓」；**视频是加密的下不了**（封面可以） |

🔴 **三个平台都拿不到播放量**（抖音两个独立接口、小红书 `view_count`、视频号 `read_count` 全是 0）。
这不是选错接口，是平台不给。**用户问播放多少就直说拿不到**，别拿点赞乘个系数编出来。

#### 三批是什么、各自回答什么问题

| 批次 | 取哪 10 条 | 它回答的问题 | 陷阱 |
|---|---|---|---|
| **0-1** | 最早发布的 10 条 | 他起号时长什么样？**这批是唯一你能直接抄的** | 列表没拉完就是假的（硬规矩 3） |
| **爆款** | 互动总量最高的 10 条 | 什么东西在这个赛道能爆 | 幸存者偏差（硬规矩 2） |
| **最新** | 最近的 10 条 | 他现在在哪、离起点多远 | **最不可直接抄**——那是他攒了几百条之后才做得动的 |

> **为什么是这三批而不是「爆款 30 条」：** 爆款批告诉你终点，0-1 批告诉你起点。
> 只看爆款的人会去抄一个自己现在做不出来的形态，抄不动，然后归因成「我不适合做内容」。
> **能抄的是他的第 3 条，不是他的第 300 条。**

#### 成本

抓取按次计费（TikHub $0.001/次，2026-09-03 实测）。一页 20 条，**「最早 10 条」必须翻到列表最底**，所以成本由他的**总作品数**决定：

```
600 条作品 → 30 页 → 30 次请求 ≈ $0.03
```

**先 `--dry-run` 报数给用户，等他点头再抓。**

⚠️ **`--max-requests` 要留余量，别定成正好够。** 抖音会随机吐空壳页、脚本要重试，
卡在正好够的数字上，最后一页就会被上限截掉——**而被截掉的正是列表最底，也就是 0-1 批**。
30 页的号给 40。

**幕三结束：`01-全量列表.csv` + 三批目录都在盘上，全量分母（中位数/四分位）已经算出来。停，报一次数。**

---

### 幕四 · 提取

三样东西，缺哪样都要说清楚少了什么结论：

| 要什么 | 怎么拿 | 拿不到会怎样 |
|---|---|---|
| **封面大字** | 下载 `cover.jpg`，**你直接看图读出来**（不用装 OCR，多模态就够），写进 `meta.md` 的「封面大字」段 | 没有封面大字 → 出不了标题/钩子层的结论，`/zmm-title` 那条线也接不上 |
| **逐字稿** | ①装了 whisper → 自动转写　②没装 → 「轻抖」小程序粘视频链接直接出文案　③都不做 → 跳过 | 跳过就只能拆到**标题 + 数据 + 封面**层，拆不了结构、节奏、信息密度。**要如实说这一层没有** |
| **视频本体** | 默认**不下**（一条 5–10MB，30 条就是 200MB+）。要看运镜/剪辑节奏才下 | —— |

🔴 **封面大字和视频标题（desc）是两回事**，别混。抖音的 desc 是发布时打的字，封面大字是烧在图上的——**观众先看到的是后者**。这也是必须下封面的全部理由。

**幕四结束：报一次完成度（30 条里几条有封面、几条有逐字稿）。停。**

> ℹ️ `pick` 可以放心重跑（比如想把每批从 10 条改成 15 条）：**已经存在的 `meta.md` 一律原样保留**，
> 手填的封面大字和逐字稿不会被覆盖。真要重新生成某一条，把那条的 `meta.md` 删掉再跑。

---

### 幕五 · 拆解与对标方案

产出 `99-拆解与方案.md`。**四段，一段都不能省。**

#### 第 1 段 · 三批各自的画像

每批分别答：讲什么题 · 什么结构 · 开头怎么起 · 时长分布 · 封面大字什么写法 · 互动落在哪（赞多还是藏多）。
**每条判断后面跟证据**：哪几条、什么数据、csv 第几行。

#### 第 2 段 · 从 0-1 到最新，他改了什么

把 0-1 批和最新批**并排放**。变了的（题材范围 / 时长 / 结构 / 人设浓度）和没变的分开列。

> **没变的那部分通常比变了的值钱。** 一个号做了三年还在坚持的东西，多半是它真正的地基。

#### 第 3 段 · 可迁移 / 不可迁移（能力匹配筛子在这里第二次生效）

| 可迁移 | 不可迁移 |
|---|---|
| 结构、开头方式、信息密度、选题角度、封面写法、发布节奏 | 他的一手战绩、行业身份、独家素材、人设信任、账号权重 |

**逐条对着用户的能力打勾**。不可迁移那一栏里如果装着他爆款的主要动力——**要当场说出来**：「他这条能爆是因为他是{某身份}，这一条你复制不了。」

#### 第 4 段 · 对标方案（要具体到能明天就动手）

从 **0-1 批**里挑 3 条最先抄的，每条写清：

```
抄第 N 条：{标题}
- 抄什么：{结构 / 钩子类型 / 信息密度 / 封面写法} —— 具体到句子级
- 换什么：{把他的案例换成用户的哪件真事}
- 不碰什么：{原话、他的战绩、他的名字}
- 怎么算成了：{一个可验证的数字，用用户自己的历史中位数当基线，不用对方的}
```

最后一行必须是：

> 🔴 成稿里不出现 {对标名}，不搬他的原话和案例（家族红线②）。

**结论分级标注贯穿全文**：实测 / 推断 / 猜测。推断后面跟一句「如果我错了，最可能错在哪」。

---

## 落盘

```
{config.paths.benchmark}/对标-{账号名}/
  00-账号档案.md      三筛卡 + 商业模式 + 全量分母
  01-全量列表.csv     每条：日期 标题 赞 评 藏 转 互动总量 收藏倾向 时长 链接
  10-0到1/《序号》-《短标题》/{meta.md, cover.jpg, transcript.md, source.mp4?}
  20-爆款/…
  30-最新/…
  99-拆解与方案.md
```

`config.paths.benchmark` 没配 → 落在 `01-原始素材区/` 下，并**提醒一次**（家族公约 §一 的回退规则）。

---

## 归口调用与接力

- **调用**（不转移控制权）：拆解里要给用户一个「他的标题结构叫什么」的判断 → 内联调用 `/zmm-title` 的结构清单，并在报告里声明用了哪条
- **接力**（转移控制权，问一句 yes/no）：
  - 拆完了要开始定自己的题 → `/zmm-topic`
  - 拆完了发现想先验证一个角度值不值得拍 → `/zmm-mvp`
  - 用户拿来的是**单条爆款**、想知道「这条为什么火」而不是「这个人值不值得学」 → `/zmm-resonate` 模式 B。**这种情况在幕一就该识别出来，不要拉着他走完五幕**

---

## 绝对不做

- **不在没确认人之前开抓**（抓错人最贵）
- **不在没报成本之前花钱**
- **不用 TOP 榜单单独下结论**（必须配全量分母）
- **不把没拉完的列表当成全量**，不拿「已拉到的最早」冒充 0-1 批
- **不编他的收入**。查不到就写「看不出来」，那本身是筛子 1 的结论
- **不替用户下载他明确说不要的东西**（视频默认不下）
- **不做选题、不写稿、不评分**——那是下游技能的活
- **不把对标的原话、案例、名字带进任何成稿建议**

---

## 记忆

结束前自查：
- 用户否掉了哪类对标、为什么（记「纠正」）——**这比他选中的那个更能定位他的边界**
- 哪个筛子在这次是决定性的（多数情况是筛子 3「能仿」）
- 抓取踩到的坑（接口空页、列表拉不全、某平台要充值）记进 `_通用/`，别只记在本技能下

写入 `{config.paths.memory}/zmm-benchmark/`，先查重。

---

不知道下一步 → 回 `/zmm`。

