← Back to skills
extension
Category: Content & MediaAPI key requirement unconfirmed

review-buheliwa(乡村版)

发布后数据复盘:为已发布的笔记建复盘档案(06_数据复盘/01_单条复盘/<NNN>-<发布标题短词>-复盘.md)、存下发布版与封面,取两次数(发布 48 小时之后、发布第 7 天;日子由作者自己定)、扒评论区原话,按漏斗五环定位这一篇卡在哪一环;没做过总复盘的攒够 5 篇走总复盘那条线,出可复用规律并起反喂关口。当用户说"复盘""发布复盘""建复盘档案""这篇数据很低""做这篇的复盘""做总复盘"时使用。

personAuthor: sunny31221hubOpenAPI

复盘助手

Overview

给每篇发布的笔记建一个复盘档案。取数用两个时点:发布 48 小时之后、发布第 7 天。每次切出「发布后 48 小时」与「前 7 天」两段,按漏斗五环定位这一篇卡在哪一环。攒够 5 篇再走总复盘那条线,出可复用规律。

核心纪律:只基于读回来的数据、时间和评论做整理;不补写、不搜索、不写因果,只写现象和依据。

取数用两个时点(2026-09-30 定):发布 48 小时之后、发布第 7 天。作者想让 AI 早看一次数据时,就按 48 小时那一轮取;日子由作者自己定,想早取晚取都行,档案里如实写第几天取的。后台的逐日数据从发布当天起一直留着(实测发布 42 天的笔记仍返回 15 个按天点),这两段都能在同一轮里切出来。别比 48 小时更早取:实测一篇教程型内容,发布后 24 小时的观看只占前 7 天的 10%(另三篇是 46% / 68% / 53%),7 天后它是那四篇里最好的一篇。

单篇只定位卡点,不产出改法(2026-09-17、09-26 两次定)。改法归写作那一摊。

When to Use

  • 用户说「复盘」「发布复盘」「建复盘档案」「帮我复盘」
  • 用户说「做这篇的复盘」→ 走阶段 2 取数
  • 用户说「看看数据」→ 只报数字,不出结论、不写档案
  • 用户说「做总复盘」→ 走下面「总复盘」那一节

When NOT to Use

  • 内容还没写完、没通过发布前检查 → 先完成写作流程
  • 用户只想看数字 → 报数就行,不诊断、不落档案
  • 要判断「为什么平台不给量」这类平台侧归因 → 复盘只写现象与依据

安装方法

  1. 先问使用者用的是什么 AI 工具,选项按这个顺序列:1. WorkBuddy 2. Claude Code 3. Codex 4. 其他(用户直接说工具名),回答记作 X
  2. 只安装给 X,不安装或链接其他任何工具:
    • X 是 WorkBuddy:把本技能下载后放进 ~/.workbuddy/skills/(WorkBuddy 的技能目录;skills CLI 不支持 WorkBuddy,由你直接放置)

    • X 是其他工具:

      npx -y --registry=https://registry.npmmirror.com skills add https://modelscope.cn/skills/sunny31221/review-buheliwa-xiangcun -a X -y
      

      (不带 -a 会安装给本机所有检测到的工具,禁止;--registry 为 npmmirror 镜像,保证国内不翻墙也能拉到 CLI)

    • X 不在上述范围时,按该工具自身的技能机制安装,装完确认 X 能识别本技能即可

  3. 装完后询问是否现在使用本技能

三个通道

| 通道 | 干什么 | 什么时候用 | |---|---|---| | scripts/xhs_note_fetch.py | 从一篇的公开链接取创作者中心的全部数据,切出两段,出可粘进档案的一段 | 阶段 1 取发布标题与时间、阶段 2 取数 | | scripts/xhs_baseline.py | 读创作者中心出各篇指标与中位数(辅助脚本) | 判高低、总复盘算基线 | | opencli xiaohongshu download | 下载首图(封面) | 阶段 1 存封面;这一条不封脚本 |

目录约定

  • 创作文件:05_作品仓库/<NNN-选题名>/
  • 选题池:04_选题池/选题池.md
  • 单条复盘:06_数据复盘/01_单条复盘/<NNN>-<发布标题短词>-复盘.md,复盘都收在一个目录里,一篇一份
  • 封面:05_作品仓库/<NNN-选题名>/03_小红书/封面-<短词>.png
  • 最终发布版:05_作品仓库/<NNN-选题名>/01_母稿/03_版本/
  • 总复盘:06_数据复盘/02_总复盘/,编号 001、002 续排
  • 复盘索引:06_数据复盘/_复盘索引.md,一篇一行,记档案路径、主标签、发布时间、链接、有没有做过总复盘
  • 原始取数件:06_数据复盘/03_原始取数/<作品编号>-<发布标题短词>-取数-<YYYYMMDD>.json,后台原始返回一字不改,每取一轮存一份

路径都按名字找,别死认编号。 上面写的 06_数据复盘/、05_作品仓库/ 带编号是为了让你一眼认出来是哪个目录,实际找的时候要忽略编号前缀:数据复盘/、07_数据复盘/ 都认,逐级如此。你的编号是初始化时生成的,可能跟这里写的不一样,也可能被人手动改过。找不到目录时先按这套规则再找一遍,还找不到才是真没有,再报错。

两个脚本(xhs_baseline.py、xhs_note_fetch.py)已经内置这条规则,传参可以照上面那样写带编号的路径。

取数通道:先过登录号这道闸

复盘要的数据在创作者中心后台,取数靠 opencli 驱动本机那个浏览器。它读的是「那个浏览器里登录着的账号」,跟「你想复盘谁」无关,所以动手第一件事是查登录号。

python3 scripts/xhs_note_fetch.py "<带签名的公开笔记链接>"

脚本在取数前自己比一次登录号,跟本人账号不符就打印「非本人账号请切换账号」并停下。本人账号取两处,先看 --account,再看 .env.local 里的 XHS_CREATOR_ACCOUNT;两处都没配时脚本只报当前号、不做比对,并在输出里提醒去配一行。

没配的话,用编辑器打开项目根目录的 .env.local(macOS open -t .env.local,Windows notepad .env.local),把这一行填上:

#XHS_CREATOR_ACCOUNT=<你的小红书账号名>

开头的 # 去掉、等号后面换成自己的小红书账号名。文件不在就先建一份、原样写入这行再打开。打开是给人编辑的:不要读文件内容、不要贴进对话,这份文件里可能存着别的密钥。

号不对就不要硬试:换号是人的动作,没有脚本能代劳。交给用户,换完重跑一次。

这条通道上踩过的坑

| 坑 | 现象 | 处置 | |---|---|---| | 页面级与 API 级登录态不一致 | opencli browser <会话> open 开出来的页面弹登录框(web_session cookie 不在),同一时刻 whoami 却报已登录 | 复盘取数走 API 级,不受影响;靠页面 eval 拿数的技能(如对标账号采集)会受影响,跑之前先看那个窗口登好了没 | | 配置目录在 /tmp | 自动化浏览器用 /tmp/chrome-probe,机器重启被清掉,登录态跟着丢 | 重启机器后头一件事就是查登录号;长期方案是把那个配置目录挪到不会被清的位置 | | 在别的浏览器窗口里换号 | 用户在自己常开的 Chrome 里换好了,自动化那台看不到 | 换号要在自动化浏览器自己那份配置里换。用户说「换好了」之后重跑一次 whoami 复核,别凭这句话就当换成功 | | 拿别号的 noteId 去读 | 不报错,返回空,或返回一条平台占位(标题写「观看数不足100,暂时无法分析」) | 这就是登录号不对的信号,回第一步查号。占位文字不是数据,别写进档案 | | 扩展断连 | 报 BROWSER_CONNECT: ... extension not connected | opencli doctor 看扩展那一行;断开时重启带扩展的那个 Chrome 实例,重启 daemon 没用 |

调用的三个细节

  • 要 JSON 就显式说:opencli 默认出 YAML,脚本里一律加 -f json。
  • JSON 后面跟一条更新提示:直接 json.loads 整段会失败,先截到最后一个 ] / }。
  • 读 .env.local 按行取那一个键:不要 source 它,那个文件里混着密钥,source 一遍会把值打进终端和对话记录。

评判标准:判断这一环卡没卡

每一项各比各的线。 曝光的数跟曝光的线比,点击率的数跟点击率的线比,读完的数跟读完的线比。一项没过,不影响别的项怎么比。图文跟图文比,视频跟视频比:图文看平均观看时长(秒),视频看完播率(百分比),这两个数不是一回事,不能放进一张表里比。

两项评判标准并存:

  • 相对线:同标签已复盘篇目里,自己过去那一段的中位数。
  • 绝对线:下面那张表里的数(第三方经验值)。

相对线算出来之后,先跟绝对线比。高过绝对线,这条相对线才能当评判标准;没高过,就用绝对线当评判标准,写明「现在的整体笔记数据较低,因此我们依然采用绝对线作为评判标准」。

相对线怎么算:用过去那一段的已复盘篇目(比如上个月那批),当前正在评比的这几篇不参与计算。拿这一批自己的中位数判这一批,一定有一半落在中位数以下,那条线量不出异常。

相对线成立要同时满足两条:① 过去那一段里,同一类的已复盘篇数够 10 篇;② 算出来的中位数高过绝对线。缺一条就用绝对线。

平均值要作废:算基线时顺手比一下「曝光平均值 ÷ 中位数」,大于 2 就写明「这一批靠个别爆款,平均值不引用」,后面只说中位数。一个爆款能把整批的平均值拉飞(20 篇里 1 篇爆款能把平均曝光拉高 10 倍)。

各项的评判标准

| 项 | 相对线 | 绝对线 | 备注 | |---|---|---|---| | ① 曝光 | 过去那一段的中位数 | 发布 48 小时后低于 500(新号低于 200) | 中位数没超过 500 时,用 500 | | ② 点击率 | 过去那一段的中位数 | 低于 5% 偏低 / 5-10% 正常 / 11% 以上优质 | 这门数认的是「首页推荐那一格」的点击率,本技能从创作者中心取不到分来源的点击率,所以这一栏只用绝对线那一档判高低,别拿总点击率硬套。这一篇曝光不到 1000 时,点击率读不出东西:算出来的数只是一个参考,等曝光超过 1000 再看(互动率同理) | | ③ 读完(图文) | 过去那一段的中位数 | 平均观看时长低于 15 秒算太低 | | | ③ 读完(视频) | 过去那一段的中位数 | 完播率低于 30% 偏低 / 30-50% 正常 / 60% 以上优秀 | 30 秒以内的视频用这一档;更长的视频只能自比 | | ④ 互动 | 过去那一段的中位数 | 互动率1-3% 及格 / 3-5% 良好 / 5% 以上优秀,长期低于 1% 内容有问题 | 互动率 =(赞 + 藏 + 评 + 分享)÷ 观看 | | ⑤ 涨粉 | 过去那一段的中位数 | 涨粉率低于 0.1% 偏低 / 0.1-0.5% 正常 / 1% 以上优秀(三档取自 space 那张表) | 这一项受账号阶段影响大,新号高、大号低,跨账号不可比。单篇上它往往就是 0 和 1 的区别(实测四篇 0 / 0 / 0 / 1),数小的时候别拿它下判断 | | 搜索占比 | 不算线 | 不设线 | 算法:搜索来源的观看 ÷ 总观看。记在档案「这些量从哪来」那一节,跟观看来源的图放一起,看它随时间是涨还是掉 | | 观看来源里的发现页+搜索 | 不算线 | 不设线 | 这两项加起来不到 10% 时,在备注里写「你的发现页加搜索不到 10%,可能触发了限流预警」。这是经验值,有这种数据的时候可能是限流导致的,不当评判标准用 |

这张表里的数都是第三方经验值,官方没有公布过任何一条健康线,用的时候别把它写成平台公布的数。

每一条能担多重不一样,引用时分三档标(等级取自 space 那张表):

  • 🟡 方向可信,具体数字不是标准答案:点击率、互动率、看完那项(图文时长、短视频完播)。
  • 🔴 只能看离不离谱,不能当考核线:涨粉率。这一项受账号阶段影响最大,新号高、大号低,跨账号不可比。
  • 🟢 能放心用:只有「搜索占比看趋势」这一条,算法是除法,不是经验值。

标了 🔴 的那一条被引用时,写「按外部经验值偏低」,不写「没过」。

两个数差得太小时不算差:篇数少的时候,两个数之间的差距大部分是抖动。组间差得不够大(比如中位数 6.2% 对 6.8%),写成「这几篇在这一项上差不多」,不排名。数不够、信号打架、外因排不掉时写「判不出来」,不硬凑一个结论。

取数时固定做一遍体检,结果写进这一轮的开头。要看这几样:缺了什么、口径有没有变、覆盖的时间够不够、样本量能撑住多重的结论。

  • 缺项:平台没给的(发得久的笔记不给观看来源和观众画像、图文没有完播率),写成「未取到」,不能当 0 算。
  • 口径:这一轮取的是第几天、两段窗口是否齐全、分来源的点击率有没有。
  • 覆盖:这一篇发布多久了,够不够 7 天。
  • 样本量:同类够几篇,能下多重的结论。
  • 异常:曝光为 0、阅读大于曝光(两边口径不同导致的,常见)这类,看一眼再决定要不要用。

篇目清单与数从哪来:从 06_数据复盘/_复盘索引.md 加各篇档案读。不用 creator-notes,那个列表实测只返回过 1 篇(索引里记着 7 篇);它只在总复盘开工时当对账的旁证。

python3 scripts/xhs_baseline.py                  # 辅助:读创作者中心出各篇指标(缓存优先)
python3 scripts/xhs_baseline.py --refresh        # 强制重取

口径全部来自创作者中心,不自己造:封面点击率、观看数由后台直给;收藏率 = 收藏 ÷ 观看,评论率 = 评论 ÷ 观看,涨粉率 = 涨粉 ÷ 观看。档案里所有比率一律写成百分数(如 5.2%),不写小数形式的 0.052。

跨篇比要同口径:能切窗口的那几项(曝光、观看、时长、赞藏评享、涨粉)按「前 7 天」比;封面点击率、观看来源、观众画像只有取数那一刻的累计值,按同一个取数日对齐了再比,档案里写明是第几天取的。发布不满 7 天的笔记,只记数、不跟发了很久的老笔记比高低:新笔记的数据还没跑完(尤其搜索那块长尾),跟老笔记放一起比会系统性低估它。

取数用两个时点:发布 48 小时之后、发布第 7 天。

Workflow

阶段 1:建复盘档案、存两样(用户给链接时)

  1. 认领这一篇:看这段对话的上下文。认得出不问,直接认下并告诉用户「已识别到这篇属于选题『xxx』的作品,档案建在那个作品夹里」;认不出问一句「这条链接是哪篇作品?」,同时把两种给法都写上(用 Zed 的从边栏拖进对话框;用 Obsidian 的展开 05_作品仓库/ → 右键作品夹 →「复制路径」→「绝对路径」→ 粘贴)。不许按相似度猜。
  2. 跑脚本拿发布标题、发布时间:python3 scripts/xhs_note_fetch.py "<链接>"。
  3. 定位作品夹:给了名字就按名字找(忽略编号前缀、逐字比);拖进来的文件夹、粘过来的路径直接用。用户说这篇没有作品夹,就在 05_作品仓库/ 新建一个(编号 = 该目录现有最大 + 1,先 ls 确认,不假设从 001 开始;名字用发布标题或选题名)。
  4. 打标签:读作品夹里的标题与内容,从四个固定值里挑一个主标签(教程型 / 观点型 / 案例型 / 盘点型)写进档案,还像别的就记个副标签。打完在对话里说一句,不停下来等确认。
  5. 建档案:在 06_数据复盘/01_单条复盘/ 里建 <作品编号>-<发布标题短词>-复盘.md(模板见文末),编号取作品夹那个编号。同一个作品夹发了两篇的,一篇一份,文件名各带自己的发布标题短词。 建档时就把档案填满:这一篇是什么那张表全部当场填好(发布标题、类型、形式、发布时间、noteId、公开链接)。用户发布完给链接时是最顺手的时机,最终发布版与封面这时就采存,别留空。 先查有没有,缺了才采:这两样可能已经在了(用户自己采过,或者上一次跑了一半)。动手前先看一眼作品夹:最终发布版看 01_母稿/03_版本/ 里有没有名字带「最终发布版」的文件,封面看 03_小红书/ 里有没有 封面-*.jpg|png。有就用现成的,不重复采;缺哪个采哪个。两段数据和漏斗定位这时留空,等取数那一轮回填。
  6. 采最终发布版:opencli xiaohongshu note "<整条带签名的链接>" 读回标题与正文,存进 01_母稿/03_版本/,编号接着这个夹子现有的版本往下排,名字带「最终发布版」并注明平台(如 成稿v5-最终发布版(小红书).md),保证它排在最下面。正文只有标签、或链接读不出来 → 写「最终发布版未采到(文案在图片里 / 链接失效)」,不硬凑。
  7. 存封面:opencli xiaohongshu download "<链接>",把首图存进 03_小红书/,名字用 封面-<发布标题短词>.png。这张图只作证据,不评好坏(图片质量归用户看),它回答的是「这一篇用了什么封面、几张图、什么形式」。顺手数一下这一篇几张图,写进档案「封面」那一行的后头。下载失败写「封面未存到」,不卡住后面的节点。
  8. 索引加一行:06_数据复盘/_复盘索引.md 里加:选题(作品夹名)、档案路径、主标签、发布时间、公开链接,其余几格留空。表里已有的行一律不动。

阶段 2:到取数那天 → 取数、扒评论

  1. 取数(用户说一句「做这篇的复盘」,或说「看看数据」时不落档案): 同一篇取过好几次的,在档案里追加一轮、不覆盖前面那几轮(2026-09-29 定)。写法见文末模板:加一个 ## 第 N 轮 · 第 N 天(<取数日期> 取数) 块,底下四小节;同时把顶上那行「最新一轮」换成这一次的。同一篇不会再算一次「首次复盘」。
    python3 scripts/xhs_note_fetch.py "<建档时存下的那条链接>" \
        --save-raw "06_数据复盘/03_原始取数" --raw-name "<作品编号>-<发布标题短词>"
    
    同一次里把原始取数件留底(2026-09-29 定):--save-raw 把创作者中心这一次的原始返回原样存进 06_数据复盘/03_原始取数/;--raw-name 给这一篇的前缀,跟复盘档案那个前缀一样(<作品编号>-<发布标题短词>),日期由脚本按当天盖,落成 <前缀>-取数-<YYYYMMDD>.json。档案里引的每个数都能回到它。档案里的数会过时(后台累计值一直涨),原件带着取数那一刻的样子,两边对不上是正常的,以原件上的日期为准。 脚本切出两段:发布后 48 小时(按小时走势,从发布时刻起 48 小时内的小时点累加:观看 / 平均观看时长 / 赞藏评享 / 涨粉。曝光用头两个自然日代替)与前 7 天(按天走势头七个点累加,含曝光)。封面点击率、观看来源、观众画像没有逐日点,只有取数那一刻的累计值。在发布第 7 天取的那一轮,这个累计值就是「前 7 天」那一段,直接用。日子由作者自己定,早取晚取都行,档案里的「距离发布第 N 天」如实写。 「发布后 48 小时」从发布那一刻往后数;后台只给到有限个小时点,切不满就写明实际覆盖到几小时。曝光这一项后台按小时不给,改用头两个自然日的数,并写明这一格是自然日口径。读到什么写什么,一个数字都不改。
  2. 把观看来源与观众画像写进第四节:这两项也在同一次取数里回来(在返回的 extra 字段里)。取到了就各配一张条形图,再写一句「这说明什么」;平台对发得久的笔记不给这两项,那就写「未取到」并说明原因,不硬凑。
  3. 扒评论:opencli xiaohongshu comments "<整条带签名的链接>",评论原话 / 点赞数 / 时间 / 楼中楼,原样抄进档案。这条链接签名失效了就写「本轮没扒到」,并请用户现复制一条(电脑端打开这条笔记、复制地址栏里的地址)。取数不用链接,链接只影响评论这一项。

阶段 3:漏斗定位 → 追问

  1. 漏斗定位:从 ① 曝光往下过,停在第一个明显没过的一环(它上游卡住时,下游的数说明不了问题:曝光只有几百的时候讨论收藏率是浪费时间)。

| 环 | 看哪个数 | 这一环在回答什么 | 数据较差时,问题出在哪 | |---|---|---|---| | ① 曝光 | 曝光数 | 系统愿不愿意往外推 | 账号标签、主题信号清不清 | | ② 点击 | 首页推荐那一格的点击率 | 封面和标题抓不抓人 | 封面、标题 | | ③ 读完 | 平均观看时长 | 点进来的人留不留得住 | 开头、节奏,或读者只是来查一步 | | ④ 互动 | 按标签选:教程型、盘点型看收藏率;观点型、案例型看评论率和分享率 | 内容兑没兑现承诺 | 内容的价值密度、互动引导 | | ⑤ 关注 | 涨粉数 | 单篇判不了 | 单篇只记数字 |

  • ② 必须按来源拆开看。 搜索进来的读者带着明确目的,点击率天然比首页推荐高得多:实测同一篇首页推荐那一格 7.6%、搜索那一格 28.1%。封面和标题的考场只有首页推荐那一格,拿合起来的总点击率给封面定高低,会把搜索型文章的封面判成优秀(实测那篇完整点击率 23.1% 在四篇里最高,首页推荐那一格只有 7.6%、四篇里最低)。那一格的互动率跟搜索那一格也不是一回事,别混着看。
  • ④ 不拿一把尺子量四种内容。 实测一篇观点型的收藏率只有 5.2%、藏赞比 0.92,可它的评论 5 条、分享 12 条、评论率 1.2% 都是那一批里最高;只用收藏率量,它会被判成「没给出能带走的东西」。
  • ⑤ 单篇只记数字。 实测四篇涨粉 0 / 0 / 0 / 1,任何一篇走完 ① 到 ④ 都会停在 ⑤,给出一模一样的结论。涨粉有没有问题,放总复盘的账号体检那一轮看。
  • 每过一关,划掉一个错误归因:点击率不低,就说明选题本身有人想看,可以直接划掉「选题不行」这个判断。档案里写明划掉了哪几个。
  • 两个头都要先排外因:数据差和数据好,都先问一句「这几天有没有大促、节假日、突发热点」。好的那头更要排:爆的那篇可能只是踩上了平台当天的热点,把它的写法当规律复制,等于复制一次不可复现的意外。
  • 五层全过的好笔记:反过来问一次「好在哪 → 是一篇里的哪一处带来的 → 这一点落在哪一步」。
  1. 追问:判到哪一层就说哪一层的问题,别往下猜(铁律 13)。每过一关划掉一个错误归因:点击率不低,就划掉「选题不行」。五层全过的反过来问一次「好在哪」。 产出是判断,不是改法:卡在第几环、依据是哪个数、划掉了哪些错误归因。这三样分别写进档案的第二、第三节,不另开一节。不写「改完能到多少」,也不写「下一条改什么」。

阶段 4:评论反喂 → 归档

  1. 够格的评论:读者说了自己的具体条件、问具体做法、描述自己的困难,算够格;简单的评论、没有新信息的,跳过,不拿来问用户。有够格的,只把那几条拿出来问用户「要不要进选题池」。
  2. 进选题池 → 调用 topic-generator-buheliwa-xiangcun,写进 04_选题池/选题池.md 的待写候选,附原评论出处,不抄标题、不替用户定角度。
  3. 归档:回填 06_数据复盘/_复盘索引.md 里这一篇那一行,「首次复盘」那格打「✓」。表里其他内容一律不动。

总复盘(攒够 5 篇之后)

单条复盘回答「这篇卡在哪」,总复盘回答「整体水位与趋势」。分两个阶段,进来先分岔:

  • 冷启动复盘:总篇数攒到 5 篇、但每个标签都还不到 10 篇 → 这一批一起看,不判哪个标签好。
  • 分标签复盘:某个标签自己攒够 10 篇 → 只对那个标签做(池子是这一类全部已复盘的篇目);「值不值得多做」还要两边各 15 篇才敢下。

为什么这么分:社区做社媒对比测试的通行下限是每个变体 5 到 10 篇,3 个数据点的差异是噪音,每边 2 篇等于抛硬币(第三方经验值)。

三个数各管一段(作者 2026-09-30 定):

| 数 | 够格干什么 | |---|---| | 5 篇 | 看水位:能开一轮冷启动复盘 | | 10 篇 | 看规律:某一个标签的全部已复盘篇目够 10 篇,能给它做分标签复盘 | | 15 篇 | 下判断:判「这一类值不值得继续做」,要拿它跟别的类比,两边各 15 篇之前写「样本不够」 |

每次开总复盘,先读索引数一遍篇数,再决定做哪一种:哪个标签够 10 篇就做那个标签的分标签复盘(够几个做几个);没有够 10 篇的、而总篇数够 5 篇,就做冷启动复盘。一轮开一个新文件(06_数据复盘/02_总复盘/NNN_总复盘.md,编号 = 该目录现有最大 + 1)。

分标签复盘的池子是这一类全部已复盘的篇目,不只这一轮新攒的;冷启动复盘只看还没做过总复盘的这一批。「已做总复盘」那一列只用来标记「这批过了一遍」,不阻止后面的分标签复盘把这批再拉进来。

数从哪来(作者 2026-09-30 定):能切窗口的那几项(曝光、观看、平均观看时长、赞藏评享、涨粉)按「前 7 天」切,换个日子取也是同一段,直接用档案里的数,不重取。只有封面点击率、观看来源、观众画像这三项是「取数那一刻的累计值」会随时间变,开工时拿公开链接重取一遍,让它们都换成同一天的值——第 7 天读到的值还没定型,跟后来读的混在一张表里比是两种状态。链接变过的(改过内容、重新发过)先用作者给的新链接。

开工第一步:对一遍账

拿后台的笔记列表跟复盘索引对一次,列表里有、索引里没有的,就是漏登的篇目,列出来给用户补链接。这个列表不全(实测只返回过 1 篇),只当旁证。

开工第二步:先报这批数据能撑住多重的结论

给数之前先把强度说清楚,写进总复盘文件的开头(第三方经验值,2026-09-28 定)。

| 篇数 | 能做 | 不能做 | |---|---|---| | 不到 5 篇 | 逐篇说这一篇卡在哪,最多点出哪两篇差异明显 | 一切「规律」「哪类更值得做」的说法 | | 5 到 15 篇 | 找极端值(最好、最差各 2 篇),提假设 | 断言因果;分成 3 组以上 | | 15 到 30 篇 | 分 2 到 3 组比中位数 | 多因素一起归因(选题、封面、发布时间同时变) | | 30 篇以上 | 分组比加看分布 | 仍然只能说相关,不能说因果 |

这一段不写,读者不知道自己该信几分,容易把假设当成结论拿走。

图一 · 冷启动复盘

  1. 数一数索引里「已做总复盘」为空的篇目:还不够 5 篇就告诉用户还差几篇,这一轮到此为止;某个标签自己已经够 5 篇就转去分标签那条线。
  2. 读这一轮的档案,拉成一张总览表(发布标题 / 数据 / 关键评论 / 漏斗定位 / 主标签)。只读档案文件,不重读笔记本身。
  3. 账号体检:看 ① 曝光层、⑤ 关注层是不是每篇都低(这两层可能跟写哪篇无关)。是就单独写一段「账号层问题」,它盖过所有单篇结论。
  4. 线索:最高的、最低的各挑一两篇,问「它跟别篇唯一的不同是什么(选题?封面形式?发布时段?蹭了热点?)」。只写线索,不写规律,样本不够。
  5. 进度盘点:每个标签各攒了几篇、还差几篇到 5 篇。
  6. 反喂关口:问用户「有没有值得记进选题池的候选」「评论里那批真实问题要不要进选题池」。
  7. 归档、回填索引。

冷启动复盘明确不做:不判哪个标签好;不写「可复用规律」段;不做方向上的止损;不做跨篇对比。(这一批曝光普遍不到千,改一个变量的差别淹没在随机波动里,写「这个方向灵 / 不灵」是自欺。)

图二 · 分标签复盘

  1. 先把重复出现的规律拎出来:翻这个标签历次档案里「它好在哪 / 差在哪」「这两段数据」「这些量从哪来」那几节,看同一个现象在 ≥3 篇里出现过没有(比如三篇都是标题里带具体对象的跑得好、三篇都是搜索占比过一半的活得久)。出现过 → 拿这些篇目的数跟本标签基线比,写「这几篇里都出现了」;只出现过一两篇就挂着,写「样本还不够,再攒两篇」。曝光不到千的篇目不参与。
  2. 算这个标签的基线:把这个标签全部已复盘的篇目拉进来(跨轮的也算),数都按「前 7 天」切,同口径,出各篇指标 + 这一批过去那一段的中位数。只统计发满 7 天的,没满的还在长尾期。
  3. 挑偏离篇目:高的、低的都要挑。逐项比,任一项在自己基线之上算跑过,明显低于算跑输。爆的那篇问「它跟其他几篇唯一的不同是什么」,最差的那篇问「有没有明显硬伤」。
  4. 可复用规律:回头对第 1 步拎出来的那批现象,哪些是真跑过的,写进总复盘文件的「可复用规律」段。只写「在这几篇里重复出现」,不写「因为…所以…」。
  5. 止损:对象是内容方向,不是类型。同一个方向在 ≥3 篇里都没抬起来(比如连着三篇讲某个话题都卡在曝光)→ 标「先停这个方向」,把力气挪到别处。只试过一两篇 → 记一笔,不下结论。要判这个类型值不值得多做,拿它跟别的类型比中位数,两边各攒够 15 篇之前写「样本不够」。
  6. 反喂关口:问用户「可复用规律那几条要不要沉淀成规律卡片、归哪一类(开头 / 标题 / 正文结构 / 封面)」「值得记的候选要不要进选题池」。
  7. 归档、回填索引。

反喂怎么分流

  • 进规律卡片 → 调用 pattern-extractor-buheliwa-xiangcun,按平台 × 类别落卡,卡片标 规律来源: 作者复盘
  • 进选题池 → 调用 topic-generator-buheliwa-xiangcun,写进 04_选题池/选题池.md 的待写候选
  • 都不要 → 直接归档

问完就结束,不替用户选。

总复盘文件写什么

按指标分节写(2026-09-28 定,样例见 06_数据复盘/02_总复盘/003_冷启动5条总复盘.md)。每一节是一笔数据配一段话,按上面「一段话怎么写」那个顺序写完就收。

| 节 | 写什么 | |---|---| | 开头三句 | 口径、样本强度、怎么读。再加一句:只写数据能直接看出来的,不往里猜原因 | | 这一批有哪几篇 | 一张表:简称 / 标题 / 类型 / 发布 / 评论条数 | | 一、系统推了多少人、有多少人点进来 | 曝光与点击率两张图,一起说封面和标题这一关 | | 二、这些量是从哪来的 | 搜索来源占比,哪篇吃搜索、哪篇吃推荐 | | 三、点进来的人看了多久 | 时长图,开头留不留得住人 | | 四、读者拿走了什么 | 分享率与收藏÷点赞两张图 | | 五、有没有人留下来关注 | 涨粉。绝对值和比例都要给,见下面那条 | | 六、评论里读者说了什么 | 够格的评论原话照抄,说清哪条能进选题池 | | 七、五层全过的那几篇,好在哪 | 共同点是什么、能复制的是什么 | | 八、还差几篇 | 每个类型各几篇、还差几篇到 5 篇、哪几篇缺链接、有没有漏登的 | | 下一步 | 一到两件先做的事,写清依据与怎么验证 | | 附录 | 数据质量与口径。放最后,不放在中间挡路 |

分标签复盘在这一套上多两节:基线(这个标签过去那一段的中位数)和该停的方向(同一个方向 ≥3 篇没抬起来就标「先停这个方向」,写清是哪几篇、哪一项没抬起来;判这个类型值不值得多做,要跟别的类型比,两边各 5 篇之前写「样本不够」)。可复用的规律并进第六节。

绝对值跟比例一起给(2026-09-28 定):涨粉这类个位数的指标写「1 个(0.27%)」,不要只写比例。五篇里比例最高的一篇实际只有一个粉,只看比例会读成两回事。

写给人看的那些字(2026-09-28 定)

这一节管总复盘文件和档案里所有成句的话,表里的数字不算。

语气

大白话。判断标准只有一条:把这段念给一个没看过你后台的人听,他听完知不知道下一步干什么。不知道,就是没写清楚。

  • 不写正确的废话。把规律说出来,也把「所以你该怎么做」说出来。样本不够、要留余地时,在句尾用括号标一句「只有 N 篇,先当规律用」,不靠含糊的词留余地。
  • 不用模棱两可、似是而非的词。「跟标签走」「有一定的提升」「显著性」这类,要么换成具体的话,要么删掉。
  • 术语第一次出现就展开。先说清它是什么,再拿它下判断。
  • 每一句都要能回答「这对我下一条有什么用」。只报一个数不算信息;数本身回答不了这个问题时,这一段就不要写。

一段话怎么写

一笔数据配一段话,按这个顺序写完就收:

  1. 这个数是多少:图表或表,每一行带篇名
  2. 它代表什么:一句话说清这个数在说什么
  3. 谁做得好:写全三件,它好在哪、能照搬的是什么、判断依据是哪个数
  4. 谁做得不好:同样三件,差在哪、下一条怎么避免、依据是哪个数
  5. 下一条要改的:具体到动作
  6. 可以继续的:哪条路别动

第 3、4 步最容易写漏,写漏了整段就白写:只说「做得好的是 X」等于没说,读者既不知道 X 是哪一篇,也不知道能从它身上拿什么。判断标准是,读完这三件的人能不能直接动手改自己的下一条。

写全称,不写简称、不写编号。 图里放不下全称可以用简称,正文里必须写《完整发布标题》,读者不用往上翻对照表。同一条里可以简称跟在全称后面用一次(如《完整标题》(图上写 简称)),后面直接说事。

结构规矩

  • 图用条形图:一个指标一张,一行一篇,行里是「篇名 + 数值 + 一排实心方块」,最长的条就是这一批最高的那一篇。用等宽字体的代码块画。几张图横着排,哪篇好哪篇差一眼认得出。
  • 图表下面直接给结论,不让人翻到后面找。
  • 「好在哪」由 AI 自己找出来写完。写成「去第几步找它好在哪」等于把活推回给人;能交给 AI 的不要让人做。
  • 同一个数不在两处重复出现。一处说完,后面只引用结论。
  • 数据质量、口径说明放最后做附录。手里只有这几篇数据的时候,告诉他数据不全解决不了问题,放中间只会挡路。
  • 样本强度一句话说完,不展开成一段。
  • 不写裸编号。写「013」读者要回去翻,写篇名或标题。

铁律

  1. 数字一个都不改(适用:全部环节;不适用:无)。曝光、点击率、评论原话、发布时间读到什么写什么,哪怕看着像错的。
  2. 单篇不写「因为所以」(适用:单篇复盘里断言「因为 X 所以 Y」;不适用:① 追问链的产出,那是判断(卡在哪一层、依据是哪个数),不是因果结论;② 同主标签的 ≥3 篇跨篇对比,那时可以写「重复出现的模式」,但仍写「在这几篇里重复出现」)。
  3. 跨篇要够样本(适用:只在总复盘里;不适用:用户明确说「我知道样本少,先记一笔」时照用户的记,但注明「作者判断,样本不足」)。同标签 ≥3 篇看苗头(找线索,不下结论),≥10 篇才够格做这个标签的分标签复盘,≥15 篇才够格下「这个标签更值得多做」的判断。两档都要求每篇曝光过千。进对比的每一篇都得发满 7 天,没满的还在长尾期,跟跑满的放一起比是拿半程比全程。
  4. 评判标准用自己过去的数、外加一张绝对线表(适用:单篇判断哪一环没过,也在总复盘里用作比较)。相对线取过去那一段已复盘篇目的中位数,当前正在评比的这几篇不参与计算。相对线算出来先跟绝对线比,高过才能当评判标准,没高过就用绝对线。数据从复盘档案 + 复盘索引来,不用 creator-notes。那张绝对线表里的数是第三方经验值、不是平台公布的数,引用时当场注明。
  5. 候选列依据、不替用户选(适用:反喂关口,以及复盘里出现的任何建议;不适用:用户明确授权「你觉得该沉淀就沉淀」时,按授权执行并写明)。
  6. 没有违规通知就不说「限流」(适用:低曝光判断;不适用:① 后台出现违规通知时,直接写明通知原文;② 观看来源里发现页加搜索合计不到 10% 时,写「可能触发了限流预警」并标明这是经验值)。
  7. 外因先点名再归因(适用:单篇最差和最好的两头;不适用:明摆着是内容本身的问题、跟时间点无关时)。差的那头排掉外因才往下追问,排不掉就写「疑似外因,先不下结论」;好的那头更要排。
  8. 不预测具体数值(适用:全部环节;不适用:无)。复盘里出现的任何数字,都必须是平台读回来的或定义算出来的。 8.1 每条结论标上是「确定」「可能」还是「需要验证」(适用:档案和总复盘里所有成句的判断;不适用:表里的数字)。有数、有评判标准撑着的是确定;读原文或看趋势得出的、数上没直接撑住的是可能;提出假设等后面几篇验证的是需要验证。同一节里可以只在开头标一次,不一句一句标。
  9. 一次只归因一个维度(适用:跨篇对比里下判断时;不适用:只描述现象时)。同一批里选题、封面、发布时间一起变的,写明「这几个变量混在一起了」,不许当成一条规律。
  10. 规律要攒够样本才算数(适用:总复盘的分标签那一轮;不适用:单条复盘、冷启动复盘,以及曝光普遍不到千的时候,那时只记录、不下判断)。判定在总复盘做:同一个现象在 ≥3 篇里出现过,拿这些篇目的数跟本标签基线比,站得住就写「这几篇里都出现了」,站不住就写「先停这个方向」。
  11. 判不出来就说判不出来(适用:全部判断;不适用:无)。数不够、信号打架、外因排不掉时,写「这次判不出来」,一并写明缺的是哪个数或哪一天的。
  12. 图片不评好坏(适用:复盘里存下的封面、截图;不适用:无)。存图是为了给追问和对照留证据,画面好坏、标签对错都不评,那是用户的事。
  13. 数据和推断分开写(适用:单篇和总复盘的每一处判断;不适用:无)。数据能直接说出来的只有「哪一关没过」:曝光低、点击率低、停留短、互动少。「为什么没过」是推断:可能是选题、封面、内容,也可能是限流、同一篇发得太密被判低质、那几天平台不给量。凡是写原因(「好在哪」「差在哪」都算),当场标「AI 推断,仅供参考」。限流只许列在推断里,不许当成结论(跟铁律 6 一起看)。
  14. 只留数、结论、动作(适用:全部产出物;不适用:无)。文档里只写四样:数是多少、这一关的结论、好在哪/差在哪(标推断)、下一条改什么。文档自己怎么写的那些说明(「每一节下面直接写清…」「只写数据里能直接看出来的…」)、规则宣告、给读者打气的话,一律不写。

复盘档案模板

样例(填好的那份)见 06_数据复盘/单条复盘-新模板样例.md。图一律用等宽字体的代码块画,一行一项,行里是「名称 + 数值 + 一排实心方块」,最长的条就是这一组里最高的那一项;表里的数字一律照读回来的写。

# 单条复盘 · 《<发布标题>》

> <发布时间> 发布
> 「发布后 48 小时」按小时走势切(从发布时刻往后数 48 小时;后台只给到有限个小时点,切不满 48 小时时写明实际覆盖到几小时,这批实测是 46 到 48 小时);「前 7 天」按天走势切(发布那天算第 1 天,往后数 7 个自然日)。这两段都是固定窗口,换个日子取数也是同一段。封面点击率、观看来源、观众画像没有逐日点,只有取数那一刻的累计值。取数的两个时点是发布 48 小时之后和发布第 7 天;具体日子由作者定,每一轮里如实写是第几天。
> **最新一轮**:<取数日期> 取数,第 N 天 | 这篇卡在第几环,或者五层全过、好在哪。
> 取过几轮就写几块(第一轮、第二轮……),一轮一整块。「评论里读者说了什么」「还不能判断」「反喂记录」这三节整篇一份,放最后。**两轮结论打架时,以最后一轮为准。**

## 这篇是什么

| | |
|---|---|
| 发布标题 | |
| 成稿标题 | (跟发布标题一样就写「同发布标题」)|
| 类型 | 教程型 / 观点型 / 案例型 / 盘点型(有副标签另起一行)|
| 形式 | 图文 / 视频 |
| 发布时间 | (带上星期几)|
| 首次复盘 | (第一次取数的那一天)|
| 创作文件夹 | |
| 最终发布版 | `01_母稿/03_版本/` 里名字带「最终发布版(平台)」的那个 |
| 封面 | `03_小红书/封面-<短词>.jpg`,后面补一句这一篇几张图 |
| noteId | |
| 公开链接 | |

## 第一轮 · 第 N 天(<取数日期> 取数)

### 两段数据

(一张表:指标 × 「发布后 48 小时」「前 7 天」两列。指标是曝光、观看、平均观看时长、赞、藏、评、享、涨粉。**48 小时那一列的曝光用「头两个自然日」的数**:后台按小时不给曝光,这一格按天走势头两个点累加,档案里注明它是自然日口径)
(一张条形图:发布后 48 小时占了前 7 天的多少,一行一个指标,最长的那条就是最集中在头两天的。曝光那条照画,用头两个自然日的数)
(一段:这说明什么)
(一行比率,都用这一轮的数算:点击率、互动率、收藏率、评论率、分享率、涨粉率、收藏 ÷ 点赞)

### 卡在第几环

(一张表:环 / 看哪个数 / 这篇的数 / 评判标准 / 结果)
(一段:用的是哪条评判标准。写清这一项是相对线过的还是绝对线过的;相对线没高过绝对线时,写明用的是绝对线)
(一句话结论:卡在第几环,或者五层全过。每过一关划掉的错误归因也写在这一句里)
(成句的判断在句尾标一个等级:**确定**(有数、有评判标准撑着)/ **可能**(读原文或看趋势得出的)/ **需要验证**(提出来等后面几篇验的)。同一节里可以只在开头标一次)

### 它好在哪,能照搬什么

五层全过的写这一节。两三条,每条两小句:好在哪一句,能照搬什么一句。依据的数字上一小节那张表里已经有了,不重复写。
卡住的把标题换成「它差在哪,下一条怎么避免」,每条同样两小句。

### 这些量从哪来、看的人是谁

(观看来源:一张条形图 + 一段说明。它回答这篇吃搜索还是吃推荐)
(再从这张图里算出**搜索占比 = 搜索来源的观看 ÷ 总观看**,写一个数,后面跟一句「发布 7 天后仍不到 5% 说明关键词没吃到」;发现页加搜索合计不到 10% 时另外写一句「可能触发了限流预警」)
(观众画像:性别、年龄、城市前五、兴趣前五,各一张条形图 + 一段说明。它回答看的人是不是你想要的那群人。城市和兴趣取前五、性别和年龄全画:城市与兴趣后台各给 8 个,全画太占版面;性别就 2 档、年龄就 5 档,全画)
(平台对发得久的笔记不给这两项,取不到就写「未取到」并说明原因,不硬凑)

## 第二轮 · 第 N 天(<取数日期> 取数)

(再取一次数就再写一块,四小节跟第一轮一样,标题层级也一样。没取第二次就不写这一块)
(「发布后 48 小时」和「前 7 天」都是固定切片,两轮一样,写「同第一轮」即可,不用重画那张图)

## 评论里读者说了什么

(整篇一份,累积。够格的评论原话照抄,带上点赞数和时间;末尾说清哪条能进选题池)
(没有评论写「暂无评论」;有评论但没扒到原话,写「本轮没扒到」并说明原因)

## 还不能判断

- 

## 反喂记录

- 选题池:

固定话术(用户说「这篇数据很低,没什么可复盘的」时)

单篇数据不足是正常的,复盘的真正价值在多篇对比,等同类攒够 3 篇再看。这篇先按流程记下来,数据低本身也是可复盘的记录。

Common Mistakes

| 错误 | 修复 | |------|------| | 掐着 24 小时等取数 | 48 小时之后取那一轮,后台逐日数据从发布当天起一直留着 | | 拿合起来的点击率给封面定高低 | 看「首页推荐」那一格;搜索那一格单独记 | | ④ 只用收藏率量所有内容 | 教程型、盘点型看收藏率,观点型、案例型看评论率和分享率 | | 单篇里给涨粉下结论 | 只记数字,涨粉的问题放总复盘的账号体检 | | 单篇里写「下一条改什么」 | 不写。改法归写作那一摊 | | 拿这一批自己的中位数当判成败的线 | 相对线取过去那一段的中位数,当前这几篇不参与计算;相对线没高过绝对线时,用绝对线 | | 拿 creator-notes 当「全部笔记」 | 它只返回过 1 篇,只当对账旁证;篇目清单从复盘索引来 | | 把发布标题和成稿标题混为一谈 | 用发布标题填「发布记录」,成稿标题单独一行 | | 编号与已有文件冲突 | 按最大编号 + 1 顺延并说明 | | 把单篇相关性写成因果 | 只写「现象 + 依据数字」 | | 补写平台没有的数据 | 写「未显示」 | | 给封面图评好坏 | 图只作证据,画面好坏归用户看 | | 把上次记录的登录号当现状 | 每次动手前重跑 whoami 复核 | | 把「返回空 / 占位」当成这篇没数据 | 先查登录号,别号的 noteId 读出来就是空或占位 | | 总复盘里拿类型跟自己比判止损 | 止损的对象是内容方向(同一方向 3 篇没抬起来);类型值不值得多做,跟别的类型比 | | 档案里写「这一篇试了什么做法」,把发布时间和标题再抄一遍 | 这个字段删了。它没有取数的地方:AI 判不出哪一条做法是用户特意试的,发布时间和标题在开头那张表里本来就有 | | 写「收藏和点赞的比例可能跟着内容类型走」这类没有下文的话 | 把规律和「你该怎么做」一起写出来;样本不足在句尾括号里标,不靠含糊的词留余地 | | 总复盘里写「013」「020」这种裸编号 | 写篇名或标题,读者不用回去翻 | | 只写「做得好的是 X」,不写它好在哪、能照搬什么 | 三件都要写全:好在哪、能照搬什么、依据是哪个数。写漏了三件,读者读完不知道从它身上拿什么 | | 正文里只写简称(「AI 员工」这种),读者要往上翻对照表 | 正文第一次提到写《完整发布标题》,简称跟在后头用一次 | | 把「好在哪」留给用户去找 | AI 自己找出来写完;能交给 AI 的不要推给人 |