Cheat Recommend
从 candidates.md 里按当前 rubric 排序推荐 top N 选题,每条带 composite + 一句 rationale +...
Install
npx skills add XBuilderLAB/cheat-on-content --skill cheat-recommend -g -a claude-code -y- Repository
- XBuilderLAB/cheat-on-content7.4k
- Category
- Engineering
- Updated
- 9d ago
- License
- MIT
- Context cost
- Lightabout 1,495 tokens
- Runs scripts
- No, instructions only
What it does
从 candidates.md 里按当前 rubric 排序推荐 top N 选题,每条带 composite + 一句 rationale + 锚点对比。**candidates 不存在时给引导而非报错**。触发词:"推荐选题"/"next topic"/"下一篇做什么"/"recommend topics"/"挑一个选题"。
/cheat-recommend, 候选池排序推荐
读 candidates.md → 按 composite 排序 → 输出 top N 推荐,每条带评分细节 + 锚点对比 + 推荐理由。
Overview
[用户:推荐选题]
↓
[Phase 0: 检查 candidates.md 存在性] ← 不存在则引导,不报错
↓
[Phase 1: 解析 candidates 列表]
↓
[Phase 2: 过滤(tier / 安全性 / 已发过)]
↓
[Phase 3: 排序 by composite + 找锚点]
↓
[Phase 4: 输出 top N + 每条的 rationale + 锚点对比]
Constants
- TOP_N = 5, 默认推荐 top 5
- STRATEGY = stable+experimental, 推 ≥2 时按 cadence-protocol.md 的"1 稳分 + 1 实验性"策略;推 1 时只推 top 稳分
- POOL_PATH = candidates.md, 候选池路径
- EXCLUDE_PUBLISHED = true, 排除已发布的(与
predictions/*.md去重) - EXCLUDE_REJECTED = true, 排除用户主动跳过的(
tier=skip) - REQUIRE_SCORED = true, 只推荐已打分的, , 避免推没读过的素材
- DUPLICATE_CATEGORY_LOOKBACK, 派生自
state.target_publish_cadence_days:max(3, cadence_days × 3) 天内已发同类目候选不推(避免审美疲劳)
💡 调用时覆盖:
/cheat-recommend, top: 3, filter: safe
Inputs
| 必填 | 来源 |
|---|---|
candidates.md | 用户项目根 |
predictions/*.md | 用于去重 |
.cheat-state.json | 当前 rubric_version |
Workflow
Phase 0: 候选池存在性检查
读 candidates.md:
| 状态 | 处理 |
|---|---|
| 文件不存在 | 不报错。输出引导:见下方"无候选池引导" |
| 文件存在但空(< 1 个 entry) | 同上 |
| 文件存在且非空 | 进入 Phase 1 |
无候选池引导(核心:不让用户第一次遇到 cheat-recommend 时被劝退):
你目前没有候选池(candidates.md 不存在或为空)。
绝大部分人没有候选池, , 这很正常。四个建立方式,挑一个:
1. 🌱 [推荐] 跑 /cheat-seed
一次性的种子动作:3 个问题(兴趣 / 调性 / 红线)→ 拉公开热点 + Claude brainstorm
→ 输出 15 候选让你挑 5 → 默认顺带写 5 个 draft。5 分钟搞定。
- 没发过历史的:纯 brainstorm(兴趣 × 热点)
- 发过历史的(init 时已 import):brainstorm 会基于"你过去做过什么"给推荐
说:"找选题" 或 "seed"
2. 🔥 [日常补充] 用 /cheat-trends 抓 20 条带打分的候选
说:"抓热点", 从 weibo-hot / zhihu-hot / b站热门 / HN / 你配的源各拉 N 条
适合已经跑过 /cheat-seed、想日常补充候选池的用户
3. ✍️ 手动建:把候选标题贴进 candidates.md,每行一条
我会自动给每条粗打分
4. 📋 从 Notion / RSS 导入:跑 /cheat-init --mode add-pool 配置 adapter
你也可以跳过候选池,直接给我具体稿子说"启动预测"。
