oracle-recommendlisted
Install: claude install-skill Huanyu-Hibiki/Huanyu-Skills
# /oracle-recommend — 候选池排序推荐
读 candidates.md → 按轨道分组 → 按占比过滤 → 排序 → 输出 top N + 评分细节 + 锚点 + 理由。
## Overview
```
[Phase 0: candidates 存在性检查(缺→引导不报错)]
↓
[Phase 1: 解析 candidates]
↓
[Phase 2: 通用过滤(已发/已拒/未打分/tier)]
↓
[Phase 2.5: Buffer 颜色覆盖(最高优先级)]
↓
[Phase 3: 按轨道占比过滤 + 排序 + 选 1 稳 + 1 实验 + 锚点]
↓
[Phase 4: 输出]
```
## Constants
- **TOP_N = 5**
- **STRATEGY = stable+experimental** — 推 ≥2 时 1 稳分 + 1 实验性([cadence-protocol.md](../../shared-references/cadence-protocol.md))
- **REQUIRE_SCORED = true** — 只推已打分的
- **DUPLICATE_CATEGORY_LOOKBACK** = max(3, cadence_days × 3) 天内已发同类目不推
## Workflow
### Phase 0: 存在性检查
candidates.md 不存在或空 → **不报错**,输出引导:
```
你目前没有候选池。四个建立方式,挑一个:
1. 🌱 [推荐] "找选题" → /oracle-seed(对话式挖你自己的经历,一次一个)
2. 🔥 [日常] "抓热点" → /oracle-trends(多源抓取+打分入池)
3. ✍️ 手动把候选标题贴进 candidates.md,我自动粗打分
4. 📋 受众反馈选题:/oracle-trends 用 audience-feedback 源(从已发作品评论区/私信找追问)
也可以跳过候选池直接给我具体稿子"启动预测"。
> seed = 从你自己身上挖(初始);trends = 从外部抓(日常补充)
```
### Phase 1: 解析
按 candidate-schema Markdown 格式解析每个 H3 entry(id/title/tier/track/composite/dimension_scores/note)。格式被手改过 → 询问 schema,**不静默忽略不识别条目**。
### Phase 2: 通用过滤
1. 排除已发布(扫 predictions header 的 id 集合)
2. 排除 tier=skip
3. 排除 composite=null(**推没读过的素材是占星**)
4. filter 参数:tier1 / all / safe(排 risky)/ risky(只看风险议题)
### Phase 2.5: Buffer 颜色覆盖(最高优先级)
读 state.shoots + cadence 算颜色:
| 颜色 | 策略 |
|---|---|
| 🔴 红 | **只推 top 1 稳分**,不推实验性("今天必须拍出来") |
| 🟠 橙 | 1 稳 + 1 实验,��示优先稳分 |
| 🟢 绿 | 标准 1+1 |
| 🔵 蓝 | **拒绝推荐**:"buffer 已 N 条,先发存货+复盘。坚持要拍说'我