oracle-trendslisted
Install: claude install-skill Huanyu-Hibiki/Huanyu-Skills
# /oracle-trends — 热点抓取
多 adapter 模式:读各 trend-sources adapter ���出 → 去重 → 粗打分 → 分轨写入 `candidates.md`。
## Overview
```
[Phase 0: 读 state 拿 enabled adapters]
↓
[Phase 1-2: 逐 adapter fetch + normalize 到 candidate-schema]
↓
[Phase 3: 去重(vs candidates / predictions / trends-history)]
↓
[Phase 4: 粗打分(inline 复用 score 逻辑,按轨道)]
↓
[Phase 5: 排序 + 询问用户哪些入池]
↓
[Phase 6: 落盘 + 更新 trends-history.jsonl]
```
## Constants
- **LOOKBACK_HOURS = 24** / **MAX_PER_SOURCE = 20**
- **AUTO_SCORE = true** — 抓回后自动粗打分
- **MIN_COMPOSITE_TO_SUGGEST = 6.0** — 低于不推荐入池(仍写 history 防重复推)
## Workflow
### Phase 0: 读启用的 adapters + 运行前预检
`args.sources or state.enabled_trend_sources(默认 ["manual-paste"])`。为空 → 输出引导(临时跑用 `— sources:`;永久改 state 数组)。
**预检(Phase 0 就做,别等运行时炸)**:逐 enabled adapter 按其文档「依赖」列自检(API key 在不在 / cookie 能否取到 / 网络依赖),输出三态健康表——✅ 可跑 / ⚠️ 能跑但降级(如无 key 用免 key 版)/ ❌ 跳过(skipped-unconfigured,附缺什么 + 一句修法)。❌ 的不进本轮 fetch,汇总里如实声明「本轮没查这些源」,**不许事后把没跑说成"查了没货"**。
**adapter 一览**(文档在 `adapters/trend-sources/`——文档化:依赖/fetch 接口/输出 schema/失败模式/稳定性星级;**未文档化的 adapter 跑前需现场确认端点可用性,失败按优雅降级 skip**):
| Adapter | 机制 | 依赖 | 文档 |
|---|---|---|---|
| `manual-paste` | 用户粘贴 URL/标题列�� → WebFetch 拓展 snippet | 无(永远能用,兜底) | ✅ |
| `hackernews` | HN Algolia API | 无 key | ✅ |
| `reddit-rising` | 公开 .json 端点 | 无 key | ❌ 待文档化——现场验证 |
| `youtube-trending` | YouTube Data API | API key | ❌ 待文档化——现场验证 |
| `bilibili-popular` | B 站 popular 接口 | 无(部分端点需登录态) | ✅ |
| `xhs-explore` / `douyin-hot` | 平台接口 | cookie(缺则 skip) | ❌ 待文档