oracle-retrolisted
Install: claude install-skill Huanyu-Hibiki/Huanyu-Skills
# /oracle-retro — 数据回收与复盘
按该轨 retro 窗口抓实际表现 → 对比预测 → 提炼新观察 → 写入 rubric_notes.md。**只追加 `## 复盘` 段,绝不改预测段**。
## Overview
```
[用户:复盘 <NNN>_<标题>]
↓
[Phase 0: 校验(immutability + 窗口 + 有效预测段 + published_at)]
↓
[Phase 1: 抓数据(manual / adapter;转化轨按窗口加权追问私信/付费)]
↓
[Phase 1.5: 限流排查 — 某平台实绩 < 中枢 50% 时先扫合规,再下 rubric 结论]
↓
[Phase 2: 实绩段 + 派生比率 + 互动率追踪 + top 评论聚类]
↓
[Phase 3: 验证/推翻预测各假设]
↓
[Phase 4: 提炼新观察(4a rubric / 4b pattern diff / 4c 双角度档案验证)]
↓
[Phase 5: 落盘(追加 ## 复盘 段 + brief/audit 验证段)]
↓
[Phase 6: 写入 rubric_notes.md + script_patterns.md]
↓
[Phase 7: 更新 state 分桶计数 + 检测 bump 候选 → 提��]
↓
[Phase 8: 内容资产提取(可选)]
```
## Constants
- **窗口按轨道**:从 state 的 `tracks.definitions[].retro_windows_days` 读(流量轨 [3];转化轨 [3,7,30])。`— window: N` 可显式指定补跑某窗口
- **DATA_SOURCE = manual** 默认(state.data_collection 可改 adapter)
- **TOP_COMMENTS_N = 20**
- **LIMIT_CHECK_THRESHOLD = 0.50** — 任一平台实绩 < 预测中枢 × 此值 → Phase 1.5 自动触发
- **转化轨加权**(窗口权重,只用于该轨 bump 分桶重打):
| 维度 | T+3d | T+7d | T+30d |
|---|---|---|---|
| 评论关键词命中 | 1.0 | 1.5 | 2.0 |
| 私信触发 | N/A | 2.0(首次出现) | 3.0 |
| 付费转化 | N/A | N/A | 5.0(**转化轨成功的唯一真信号**) |
## Workflow
### Phase 0: 校验
1. 读 prediction 文件,确认存在
2. **识别有效预测段**:扫所有 `## 预测...` 段,取**最后一个 vN** 作校准依据(交叉题 v1_a/v1_b 都读,各算各的);state.shoots 对应项的 `v2_prediction_written` 与文件实际不一致 → 警告(state 与文件脱节)
3. **immutability 缓存**:用**段位置 offset**(不是段内容 hash)缓存所有预测段——写完后按 offset 切片核对"原段内容字面一致"
> 坑(实战):非贪婪 regex 重新匹配会把新追加段切进旧段边界 → hash 必然不一致的假警报。offset 切片或关键指纹校验(grep 几个核心字符串仍在)才是对的
4. 校验 `Publis