/oracle-compass-retro — 罗盘复盘(账号诊断 + 规划修订候选 + 协作自进化)
每 2 期已复盘作品后提醒执行(oracle-retro 每期校准预测;本 skill 以两期为单元校准创作者、内容规划和协作系统)。
它回答五个问题:
- 这两期暴露了什么内容问题?
- 账号卡在四阶段的哪一关?
- 内容规划(轨道/占比)要不要修?
- 下一期保留/删除/强化/实验什么?
- 这次 AI/skill 协作哪里拖后腿,下次规则怎么变?
边界
- 不改预测段(immutable)
- 不直接改 rubric 公式——只写候选观察,升级走 /oracle-bump
- 不直接改 content-plan——只写修订候选,用户拍板后同步 state(content-funnel-protocol 修订机制)
- 不直接改 skill——协作问题写候选规则;连续复现或用户明确确认才改
- 不替代 oracle-retro——没实绩数据可做初步创作复盘但标
data_incomplete: true - 节奏:凑满 2 期新复盘后提醒,等用户确认再跑;不足 2 期被叫起只回提醒不诊断;手动触发不受限
Inputs
| 来源 | 用途 |
|---|---|
.oracle-state.json |
账号状态 / tracks / baseline / 样本数 |
content-plan.md + user-profile.md |
长期定位 / IP 内核 / 轨道规划(优先级高于现场提问) |
audience-profiles.md |
各轨画像(对照实际观众) |
rubric_notes.md / script_patterns.md |
当前预测逻辑 / 写作 pattern |
| 各作品 predictions + report.md + 定稿 | 历史表现与实绩 |
python <skill包>/tools/score-curve.py <项目根> --json |
预测系统收敛(分轨偏差方向 / bucket 命中率)——账号级诊断素材:预测持续高估是预期管理问题,不是内容问题 |
benchmark.md / study/** |
对标参照 |
Workflow
Phase 0: 定诊断单元
- 用户传两期 → 直接用;缺省 → 取最近两期已发布且已复盘作品(按 published_at)
- 距上次罗盘复盘新增复盘作品 <2 → 不跑全量,只提醒"还差 N 期凑满单元"
- 中文路径 glob 失败 → 用目录读取二次确认,不凭 glob 判定不存在
- 校验两期都跑过 oracle-retro——没有 → 允许继续但标
data_incomplete: true
Phase 1: 汇总事实(不下判断)
数据获取(按优先级):
- 自动采集(推荐)——项目根有
content-analytics.db(快照库)时:
dashboard 输出直接填本 Phase 事实表 + Phase 2.5 闸门 + Phase 4.5 建议素材。 🚫 采集只走上面这条脚本路径——禁止 computer-use/GUI 自动化/亲手开浏览器当采集器(确定性脚本才能保证校准数据可信;脚本失败走下面的 manual 分支,不是换方式)。# <PY> = auto-collect 自带 .venv 的 python(见包根 SKILL.md「Adapter 铁律」;Windows 是 .venv/Scripts/python.exe) # 快照过期(最近 run 距今 >3 天)先补采: <PY> <包根>/adapters/perf-data/auto-collect/collect.py all --days 30 <PY> <包根>/tools/snapshot_store.py archive --db content-analytics.db --input <unified.json> # 出看板(diff + 分位阈值 + 规则建议 + 五维 A/B 粗分): <PY> <包根>/tools/dashboard.py --db content-analytics.db --markdown - manual paste——无快照库时按原流程问用户要数。
🔴 登录态协议(采集报"未授权"时照此办理,禁止自由发挥):
- 登录态存在
~/oracle-bone-profiles/<平台>(Playwright 专用持久 profile)——与本机日常 Chrome/Edge 是否登录无关,不要让用户检查日常浏览器、不要挨个开浏览器试 - 网页登录态通常 1-2 周过期——"之前能采、现在要扫码"是正常现象,不是故障
- headful 采集遇到失效:脚本自己会弹登录页等你扫码(3 分钟),此时明确告诉用户"现在请扫码",耐心等,不要催
- headless 采集遇到失效:脚本退出码 2 并打
NEEDS_AUTH=<平台>——唯一恢复动作是逐平台跑collect.py <平台> --auth-only(弹浏览器等 10 分钟),完成后重跑采集 - 部分平台失效:只对失效平台跑 auth-only,其余平台数据照常使用,不因单平台失效放弃整轮复盘
## 1. 两期事实
- 作品 / 轨道 / 平台 / 发布时间 / 时长
- 播放 / 点赞 / 评论 / 收藏 / 转发
- 赞播比 / 评播比 / 收播比 / 分播比(公式+结果)
- 五维增量指标(后台没有写 N/A,不脑补)
- Top 评论关键词
Phase 2: 五维增量数据闸门(两期必跑)
| 指标 | 公式 | 方向 |
|---|---|---|
| 封面点击率 | 点击÷曝光 | 越高越好 |
| 平均播放时长 | 总时长÷总次数 | 越长越好(参考:≥总时长 30% 合格) |
| 完播率 | 完整播放÷总播放 | 越高越好 |
| 短跳出率(2s/3s) | 短播放÷总播放 | 越低越好 |
| 短完播率(5s) | >5s 播放÷总播放 | 越高越好 |
数据源:auto-collect 采集的详情指标(data_normalizer 已做口径标注——3s/2s 跳出率不硬统一,比较时同口径对比);无详情数据时后台没有的维度写 N/A。
A/B 问题分类(dashboard.py 的 ab_classification 自动粗分,AI 复核):
| 类型 | 数据特征 | 本质 | 解法方向 |
|---|---|---|---|
| A 类选题问题 | 点击率低 + 短跳出高 + 短完播差(不点进来、不停留) | 选题无法让人产生兴趣 | 同领域抄选题(长期被验证的优质选题/其他平台同领域) |
| B 类表达问题 | 点进来了但中途流失、完播/时长差 | 呈现与讲述留不住人 | 异领域抄结构(脱口秀/TED/故事类——学悬念、打破预期、收尾) |
- A/B 分类:作品A = X 类(证据:具体数字);作品B = ...
- 两期连续同类 → 账号级问题,进 Phase 3 主诊断
- 单期孤例 → 该期执行问题,进 Phase 6 动作清单
纪律:分类必须引用具体数字("点击率 2.1%、2s 跳出 68%"),禁"偏低"式含糊话。
quantile 建议联动:dashboard.py 的 recommendations(高互动低播放 / 高播放低互动 / 增长最快旧作品)在 plays>0 样本上算分位阈值生成,每条带证据作品——直接作为 Phase 3 问题表和 Phase 6 动作清单的素材(建议里的 actions 已对接 oracle-title / oracle-derivative / oracle-who-for / oracle-apprentice 等子 skill)。样本 <4 条时 dashboard 不给建议(分位不稳定),回到 AI 手工诊断。
Phase 3: 四阶段罗盘诊断
| 阶段 | 核心问题 | 主要证据 | 常见反证 |
|---|---|---|---|
| 1 新手入门 | 平台和用户知道你是谁吗? | 主题一致、定位清晰、评论能复述定位、曝光稳定 | 播放极低评论少;只记住信息不记住人 |
| 2 赛马竞争 | 同类内容有赢面吗? | 完播、评论率、前 30 秒留存、故事性 | 赞高但完播评论低;有价值但不好看 |
| 3 价值输出 | 内容值得保存转发吗? | 收藏率/转发率、"收藏/转给朋友"评论 | 播放高收转低;热闹无复用价值 |
| 4 IP 成型 | 用户追你这个人吗? | 复看、追更评论、关注转化、用户复述你的框架 | 只说内容有用,不说你这个人 |
输出:当前主阶段 + 次级信号 + 证据 + 反证(必须有,防自嗨升级)+ 置信度。允许混合状态("定位接近 2 但分发仍在 1")。
规则:阶段不是奖章是策略——判断阶段只为决定下一期优化什么指标。
约束回写:综合 Phase 2 A/B 分类 + 本阶段诊断 + Phase 3.5 问题表,判定当前最大约束(四类表见主 SKILL.md「stage_constraint」段)。🔴 CHECKPOINT:展示拟写入的 state.stage_constraint(值 + 依据 + 升级条件)→ 用户确认后更新(含 updated_at)。与上次判定不同向 → 只记候选不切换,连续两次同向才切换(防单期噪声);用户明确拍板可立即切换。
Phase 3.5: 内容问题诊断
结合 content-plan / user-profile / script_patterns / 数据评论:
## 3. 本期主要问题
| 问题 | 证据 | 严重度(L1 致命/L2 重要/L3 可优化) | 下一期改法 |
必查:定位清晰度(一眼看出你是谁讲什么为什么看)/ 钩子与谜题(能撑全片的洞而非一句开场)/ 故事性与完播 / 价值密度(值得收藏转发复看吗)/ IP 记忆点(强化账号内核了吗)/ 商业闭环(服务长期变现路径吗)。
Phase 4: 变现与信任框架检查
- 变现闭环:这两期最终服务什么长期商业路径?
- 降低决策风险:观众看完更敢信你/试你产品/找你合作了吗?
- 真材实料:有真实经历、真实过程、真实结果吗?
- 抗压能力:暴露的问题被正视,还是被话术遮住?
- 方向匹配:内容方向与变现目标匹配吗?
非营销内容也必须回答"它如何积累未来变现所需的信任资产"。
定位验证回路(引自做号提炼 §3.3):转化轨检查私域质量(咨询者是不是目标客户)/ 评论区职业构成(画像准不准)/ 转化率链路(看到→咨询→付费哪一环断了)——画像偏了回 content-funnel-protocol 修订画像候选。
Phase 4.5: 内容规划修订候选(本 skill 独有)
对照 state.tracks 的规划与两期实际执行 + 各轨 success_metrics 表现:
## 4.5 规划修订候选(只提候选,用户拍板后才改 plan/state)
- 占比建议:[如"转化轨连续 3 期指标达标且咨询爆发,建议 40/60 → 30/70"](依据:具体数据)
- 增删轨建议:[如"破圈轨连续 3 期垫底且与画像不符,建议降占比或删轨"](依据)
- 画像修订候选:[如"评论区实际人群与 audience-profiles 的画像 X 偏差大——建议修订该轨画像"]
- 成功指标修订候选:[如"该轨指标'涨粉'连续无信号,建议换成'同频评论数'"]
- 预测系统修订候选:[score-curve 显示某轨连续 N 期同向偏差(如持续高估 40%+)→ 建议跑 /oracle-bump(方向性偏差)或 --bucket-only(命中低但方向随机);预测系统健康则明说"预测收敛良好,无需动"]
- 反向校验:[规划没问题的证据——避免为改而改]
边界:修订建议必须双向(有"改"的建议也要有"不改"的校验);🔴 CHECKPOINT · 拍板门——用户明确拍板前只出候选不动 plan/state,拍板后同步 state.tracks(definitions + mix_ratio + mix_ratio_note 追加修订记录)和 content-plan.md / audience-profiles.md。
Phase 5: 协作自进化(SkillOpt 式)
把本次协作当一条 trajectory,做候选规则提取,不直接改 skill:
| 概念 | 对应 |
|---|---|
| trajectory | 本次从输入到产出的完整协作过程 |
| scored failure | 用户指出的错误、返工、多余提问、误判 |
| bounded edits | 候选规则(skill 文档一小段的新增/删除/替换) |
| validation gate | ≥2 次复现 / 用户明确确认 / 不破坏三原则 |
| 正式规则 | 通过验证后才进 SKILL.md |
输出:本次暴露的问题(问题/证据/根因/影响)+ 候选规则修改(类型/目标文件/候选文本/验证门槛/状态 candidate)。
必查协作问题:是否先读了 state / content-plan / rubric 再提问;是否因路径或 glob 失败误判状态;是否问了已有文件能回答的问题;是否把用户当 cold-start 而其实有校准池;是否把外部方法论直接硬编码而非先作待验证假设。
Phase 6: 下一期动作清单
## 6. 下一期动作
- 保留: / 删除: / 强化: / 必须实验的变量: / 不要再犯:
- 下一期最小可执行改稿动作:
每条具体到稿件或制作层面,不写"提升内容质量"空话。
Phase 7: 落盘
写作品目录 compass-retro.md(两期单元写到较新一期目录下)。协作复盘明显失误时可选写 meta-retros/<date>_collaboration-retro.md。
Phase 8: 候选观察转交
## 7. 候选观察转交(不自动追加,用户确认后进)
- rubric_notes.md 候选: / script_patterns.md 候选:
- content-plan / audience-profiles 修订候选: / skill 改进候选:
Key Rules
- 先读已有文件再提问——content-plan / user-profile 能回答的不问用户
- 数据和判断分离——先事实后诊断
- 证据和反证都写——阶段判断必须有反证
- 规划修订只提候选——占比/轨道/画像是用户战略决策
- SkillOpt 只给候选不自动自改
- 路径现实优先于标准约定——尊重用户已有工作台结构
Refusals
- 「直接把感受写进 rubric 公式」 → 拒绝,写候选观察走 /oracle-bump
- 「阶段到 3 了以后只看收藏转发」 → 拒绝;阶段判断须数据支持且允许混合
- 「把规划占比直接改了」 → 拒绝;只出修订候选等拍板
- 「把这次 AI 错误立刻改进所有 skill」 → 用户确认具体规则文本才改;否则写候选
Integration
- 上游:两期完成 oracle-retro 后运行(也可手动)
- 并行参考:who-for 的受众假设 / open-source 的信任假设
- 下游:候选流向 rubric_notes(bump)/ script_patterns / content-plan(修订拍板)/ skill 改进