Skip to content
Automation
Skill

/cheat-retro

T+N 天数据回收 + 复盘 + 把实绩观察写入 rubric-memo.md。这是校准循环的反馈环节——不复盘的预测等于占星。触发词:"复盘 [path]"/"retro this"/"T+3d 数据来了"/"抓数据 [path]"/"把这篇复盘了"。

From plugin
lihongwei-cn
5200 skills1 agent
Install
$ npx -y skills add LiHongwei-cn/lihongwei-cn --skill cheat-retro --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/cheat-retro

Context preview

The summary Claude sees to decide when to auto-load this skill.

T+N 天数据回收 + 复盘 + 把实绩观察写入 rubric-memo.md。这是校准循环的反馈环节——不复盘的预测等于占星。触发词:"复盘 [path]"/"retro this"/"T+3d 数据来了"/"抓数据 [path]"/"把这篇复盘了"。

SKILL.md

cheat-retro.SKILL.md
name: cheat-retro
description: T+N 天数据回收 + 复盘 + 把实绩观察写入 rubric-memo.md。这是校准循环的反馈环节——不复盘的预测等于占星。触发词:"复盘 [path]"/"retro this"/"T+3d 数据来了"/"抓数据 [path]"/"把这篇复盘了"。
argument-hint: <prediction-file> [— window: 3|5|7] [— source: manual|adapter]
allowed-tools: Bash(*), Read, Edit, Write, Glob, Grep, Skill

/cheat-retro — 数据回收与复盘

抓 T+N 天的实际表现 → 对比预测 → 提炼新观察 → 写入 rubric-memo.md。**只追加 `## 复盘` 段,绝不改预测段**。`rubric_notes.md` 是 blind 白名单,只能保存通用公式、维度定义和抽象规则,不能写入样本名、实绩、评论、链接或播放/阅读数。

Overview

[用户:复盘 predictions/2026-05-04_...]
  ↓
[Phase 0: 校验 immutability + 校验时间窗口]
  ↓
[Phase 1: 抓数据(manual paste 或 adapter)]
  ↓
[Phase 2: 写实绩段 + top 评论关键词]
  ↓
[Phase 3: 验证/推翻预测的各假设]
  ↓
[Phase 4: 提炼新观察]
  ↓
[Phase 5: 落盘(追加到 ## 复盘 段)]
  ↓
[Phase 6: 写入 rubric-memo.md 的"观察记录"段]
  ↓
[Phase 7: 检测是否触发 bump 候选 → 提示用户跑 /cheat-bump]

Constants

  • **RETRO_WINDOW_DAYS = 3** — 默认 T+3d。短视频快平台可设 1,长文设 7
  • **DATA_SOURCE = manual** — manual: 用户粘数字;adapter: 调对应平台 adapter(需配置)
  • **AUTO_PROPOSE_BUMP = true** — Claude 判断是否系统性偏差时自动提议 /cheat-bump
  • **默认参考**:连续 ≥3 次同向偏差(high/low)→ 提议
  • **但 Claude 可以更早提议**:1 次极端偏差(如中枢 50w 实绩 5w 这种 ≥10x),即使没有"连续"也提议
  • **也可以更晚**:3 次同向但每次偏差都很小(<25%),可能只是噪声不是系统性
  • **TOP_COMMENTS_N = 20** — 抓 / 粘 top N 高赞评论

> 💡 调用时覆盖:`/cheat-retro <file> — window: 7 — source: adapter`

Inputs

| 必填 | 来源 | |---|---| | `<prediction-file>` 或 `<video-folder>` | 用户参数;缺失则从 `.cheat-state.json` 的 `pending_retros[0]` | | `rubric_notes.md` | 用户项目根(只读,用于当前规则上下文;不得写入实绩观察) | | `rubric-memo.md` | 用户项目根(写入复盘观察、实绩证据、样本名与评论信号) | | `.cheat-state.json` | 状态文件 |

入参解析(同 cheat-predict 双形态接受)

用户给的可能是:

  • **`predictions/2026-05-04_<id>_<short>.md`** → 直接用这个 prediction 文件
  • **`videos/2026-05-04_<id>_<short>/`** → 找对应的 prediction 文件(按 id 匹配)+ 把 report.md 写到该 video folder 里
  • 缺省 → 从 `pending_retros[0]` 取最早的

Workflow

Phase 0: 校验

1. 读 `<prediction-file>`,确认存在 2. **识别有效预测段**:扫所有 `## 预测...` 段(可能含 `## 预测`、`## 预测 v1`、`## 预测 v2` 等):

  • 取**最后一个**`## 预测 vN` 作为本次校准的依据(v2 存在则用 v2;只有 v1 则用 v1;legacy 单段 `## 预测` 直接用)
  • state.shoots 对应项的 `v2_prediction_written` 应与"是否存在 v2 段"一致——不一致则警告(state 与文件脱节)

3. **校验 immutability**:在内存 cache 住所有 `## 预测...` 段的内容(用于 Phase 5 后核对——**全部段不可改**,不只是有效段) 4. 校验文件 header 有 `Published at` → 没登记的不能复盘,提示用户先 `/cheat-publish` 5. 校验时间窗口:今天 - published_at >= RETRO_WINDOW_DAYS。不够 → 提示"还差 X 天",询问用户是否仍坚持复盘(标 `early_retro: true`) 6. 校验已有复盘段是否已填——已填则询问"是补充还是修正?"

  • 补充 → 在已有复盘段下追加新子段,标日期
  • 修正预测段(用户错觉)→ 拒绝

Phase 1: 抓数据

按 `state.data_collection` 字段分两条路径——抓回数据后**写到 video folder 的 `report.md`**(如果 prediction 关联 video folder),同时解析摘要 inline 到 prediction 的复盘段。

Path A:`DATA_SOURCE=manual`(候补方案)

  • 询问用户:"粘贴这条作品的当前数据:播放 / 点赞 / 评论 / 转发 / 收藏(顺序无所谓,能识别就行)"
  • 用户粘 → 解析提取数字
  • **强制要求 top 评论**:让用户从平台后台或直接打开评论区贴 TOP_COMMENTS_N 条到对话里(每条带赞数)
  • 用户拒绝 / 给少于 5 条 → **拒绝继续**:"评论才是真信号——'她不一样'这种模因爆发只能从评论看出。

没评论的复盘 = 看体温计判断病情。粘 top 20 给我。如果实在拿不到,告诉我原因(比如评论被关了),我帮你标 `comments_unavailable`,但这次复盘价值打折。"

  • 把粘的原始数据写到 `videos/<...>/report.md`(如有 video folder)

Path B:`DATA_SOURCE=adapter`

按 prediction header 的 `Platform` 字段 + state 的 `enabled_perf_adapters` 决定调哪个:

| Platform | Adapter | 调用方式 | |---|---|---| | `douyin` | `adapters/perf-data/douyin-session/` | `bash <adapters-dir>/douyin-session/run.sh <aweme_id> <video_folder>` | | `xhs` | `adapters/perf-data/xhs-explore/` | `bash <adapters-dir>/xhs-explore/run.sh <note_id> <video_folder>` | | `youtube` | `adapters/perf-data/youtube-data-api/`(待) | 调 YouTube Data API(需 API key) | | `bilibili` | `adapters/perf-data/bilibili-stat/`(待) | 调 B 站官方 stat 接口 | | 其他 | 无 adapter | 优雅降级到 Path A |

> `<adapters-dir>` = 克隆源码处的 `cheat-on-content/adapters/perf-data/`(install.sh **不**复制 adapter 到 ~/.claude/skills,只复制 15 个 skill)。定位:`find ~ -path '*/cheat-on-content/adapters/perf-data' -type d | head -1`。

**douyin-session 的特殊处理**:

  • 视频 URL(如 `https://v.douyin.com/abc123`)→ 短链解析 → 提取 aweme_id
  • 调用前确认 cookie 文件存在(adapter 会找 `.auth/`);不存在则提示用户先跑 `python <adapter>/crawler.py login`
  • adapter 输出在 `<video_folder>/report.md`(adapter 的 renderer.py 已经按这个格式写)
  • cheat-retro 读这个 report.md 解析关键数据 → 摘要写入 prediction 的复盘段

**xhs-explore 的特殊处理**:

  • 笔记 URL(`https://www.xiaohongshu.com/explore/<note_id>?xsec_token=...` 或 `https://xhslink.com/xxx`)→ 提取 note_id
  • 调用前确认 cookie 存在(adapter 找 `.auth-xhs/`);不存在则提示先跑 `python <adapter>/crawler.py login`
  • 字段已校准(观看 `view_count` 等已写死);万一接口改版导致某项为 0,看 report.md 末尾 galaxy 原始 JSON,把新 key 加进 `crawler.py` 的 `_normalize_note`
  • **评论可能抓不到**(xsec_token 缺失 / 评论关闭)→ report.md 标"未抓到评论" → 此时**降级要求用户 manual 粘 top 20 评论**(评论是真信号,不能省)

**任何 adapter 失败**(cookie 过期 / 接口变化 / 网络)→ **优雅降级到 manual**,提示用户:"adapter 调用失败,原因 [X]。改用 manual 模式——粘下面的数据"。**不阻塞流程**。

共同输出

不管 Path A 还是 B,最终:

  • `videos/<...>/report.md` 含完整原始数据(数字 + top 评论)
  • prediction 文件复盘段含**摘要**(关键比率 + 评论关键词聚类 + 验证/推翻判定)
  • report.md 是数据真相,prediction 复盘段是判断真相

Phase 2: 写实绩段 + top 评论分析

**实绩数据格式**(参考 [prediction-anatomy.md](../../shared-references/prediction-anatomy.md) 的复盘段格式):

### 实绩数据
- 播放:71.1w(落在 `30-100w` 桶内偏高,相对中枢 50w **+42%**)
- 点赞:2.4w(赞播比 3.38%)
- 评论:899(评播比 0.126%)
- 收藏:5251
- 分享:1.8w(分播比 2.53%,强)

数据点之间的派生比率(赞播比、评播比、分播比)必须算出来——它们是单纯播放数无法暴露的信号。

**top 评论关键词聚类**:

  • 把粘进来的 N 条评论分 3-5 类(高赞模因 / 概念引用 / 离题噪声 / 转发暴露暗示 / @朋友传播 等)
  • 每类列代表性评论(带赞数)
  • 报告比例("22% 是模因复用、35% 是概念引用、5% 是离题")

Phase 3: 验证/推翻

对 prediction 文件里的每一项(推理因素表、关键校准假设、反事实场景),逐项判定:

### 哪些预测被验证 ✅ / 推翻 ❌

**验证 ✅**:
- 关键校准假设完全成立:本篇 71.1w / 谁问你了 11.7w = 6.07x,远超我押的 1.5-2x
- ER=5 主导情感传播力 → H1 强证据
- HP=5 验证:分播比 2.53% 与"金句被高频引用"匹配

**推翻 ❌**:
- 中枢 50w 被超出 +42%
- 反事实推理里"必须搭配强社会议题才能破 30w" 完全错误
- SR 押注("H2 SR 应上调")反向被推翻:SR 在情感向场景几乎不贡献

**关键纪律**:

  • 每条验证 / 推翻必须引用具体数据("分播比 2.53%"),不许写"基本符合"这种含糊措辞
  • 反事实的"如果落在 X bucket 意味着什么"——实际落在的那个 bucket 直接告诉你哪个 rubric 假设被测试了,明确写出来

Phase 4: 提炼新观察(**两类,分别写入两个文件**)

4a. Rubric 观察(写入 rubric-memo.md)

打分维度 / 公式 / bucket 边界相关的观察:

### 需要写进 rubric-memo.md 的新观察

1. **ER 在情感向场景的真实权重应 ≥ ×2.0**:与谁问你了 6x 流量比是 v2 rubric 最强的反事实证据
2. **议题分享冲动 (TS) 是隐藏维度**:joker / "她不一样" / 滤镜重构提供了安
Read more
Ships withlihongwei-cn

MUNDO - THE EMPEROR. Complete AI orchestration system with 1208 skills, 25 capability modules, self-evolving, collective consciousness. GitHub Actions 24/7 automation.

Get the whole plugin
Stats
5
Stars
1
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
4mo ago
Created

Repo: LiHongwei-cn/lihongwei-cn

Other skills on lihongwei-cn.

cheat-on-content
Skill

cheat-on-content

给所有想把"感觉"变成可校准预测的内容创作者。**方法论通用**——打分 → 盲预测 → T+3d 复盘 → 进化 rubric 的循环适用任何能被量化(播放 / 阅读 / 收听 / 点击)的内容。**rubric 是循环的内容,不是循环本身**——当前内置一份观点视频 rubric(参考博主 25+…

cheat-bump
Skill

cheat-bump

提议并执行 rubric 或 bucket 升级。两种模式:**完整 rubric bump**(最高风险动作,5 步强制 + 跨模型审核)和 **--bucket-only 轻量重校**(只换 bucket 边界,不动 rubric 公式)。**Phase 2 强制走 cheat-score-blind…

cheat-init
Skill

cheat-init

cheat-on-content 的首次 onboarding 与脚手架创建器。统一流程——所有用户都走相同 5 阶段闭环,唯一区别是"发过视频的人"会在 init 时多一步:抓取已有视频建立历史 context(用于后续 cheat-seed 给更贴合的选题、更准的…

cheat-migrate
Skill

cheat-migrate

把老用户的 .cheat-state.json 升级到当前 schema_version。读 migrations/registry.md 算迁移链,按顺序应用每一步迁移文件。幂等:跑两次结果一样。失败停在中间版本不前进。触发词:"迁移"/"升级 state"/"migrate"/"我的 state…

cheat-persona
Skill

cheat-persona

从复盘评论数据派生 / 刷新账号的受众画像,写入 audience.md。这是和 rubric 平行的第二个派生物——rubric 答"怎么打分",persona 答"谁在看"。cheat-seed 选题 / 写稿时读它。**audience.md 含实绩信号,cheat-score-blind…