# 工作流速查(cheat-on-content) > 这是 `/cheat-init` 在你的项目根创建的速查文档。完整规范在 cheat-on-content 的 `SKILL.md` 和 `shared-references/`。 > 本文件给"忘了下次该说什么"的时候用——不需要从头读完。 --- ## 一句话流程 ``` 找选题 ├─ 没发过历史的 → /cheat-seed brainstorm(兴趣 × 热点) └─ 发过历史的 → /cheat-seed brainstorm(兴趣 × 热点 × 你过去做过什么) (都跑 cheat-seed,区别是发过的 brainstorm 时多一份历史 context) ↓ cheat-seed 写 5 个草稿到 → scripts/<日期>__.md ↓ 用户改写 scripts/<日期>__.md(同一文件覆盖) ↓ /cheat-score scripts/<日期>__.md → 看 rubric 评分(探索) ↓ /cheat-predict scripts/<日期>__.md → 写 immutable 预测 v1 到 predictions/ ↓ 拍摄完 → /cheat-shoot scripts/<日期>__.md ├─ 建 videos/<日期>__/ 目录 ├─ 询问用户:"拍时实际用的稿子和 scripts/.md 一致吗?" │ ├─ 一致 → cp → videos//script.md,沿用 v1 预测 │ ├─ 改了 → 要最终稿 → 算 diff │ │ ├─ diff ≥30% → 自动 /cheat-predict — mode: v2 → predictions/.md append `## 预测 v2` 段 │ │ └─ diff <30% → 询问是否 v2,默认沿用 v1 │ └─ 大改 → 走 _redo 流程(新 scripts/_redo.md + 重 cheat-predict) └─ buffer +1 ↓ 发布 → /cheat-publish + URL → buffer -1 ↓ T+3 天 → /cheat-retro videos/<日期>__/ ├─ 抓数据 / 用户粘 → 写 videos//report.md ├─ 追加 ## 复盘 段到 predictions/.md ├─ diff scripts/.md vs videos//script.md → 学用户改稿 pattern └─ 把新观察写入 rubric-memo.md / script_patterns.md(实绩只进 rubric-memo,不进 rubric_notes) ↓ 累计 ≥3 同向偏差 → /cheat-bump(升级 rubric) ``` --- ## 五个阶段对应触发词 ### ① 选题阶段 | 想做什么 | 触发词 | |---|---| | 看 candidates.md 排序后的推荐 | "推荐选题" / "下一篇做什么" | | 抓今天的热点拓展 candidates | "抓热点" / "今天有什么可做的" | | 看当前状态 | "状态" | > Cold-start 期没 candidates.md 是默认状态——不要因为这个就觉得工具坏了。 ### ② 打分 + 预测 | 想做什么 | 触发词 | 写文件吗 | |---|---|---| | 看一份稿子的 rubric 分(探索) | "打分这篇 path/to/draft.md" | 否 | | 给最终稿写正式 immutable 预测日志 | "启动预测" 或 "给这稿子启动预测 path/to/draft.md" | 是(`predictions/...md`) | > **score 与 predict 的核心区别**: > - score 是探索,无副作用,可反复跑 > - predict 是承诺,写完文件 `## 预测 v1`(或 `## 预测 v2`)段被 hook 锁死 > **v2 重判触发**:cheat-shoot 检测拍摄稿与原 scripts 的 line-diff ≥30% 时自动调用 cheat-predict 写 `## 预测 v2` 段(append,不覆盖 v1)。详见 [shared-references/prediction-anatomy.md](../shared-references/prediction-anatomy.md) 的 v1/v2 段约定。 ### ③ 发布登记 发完后立刻: ``` "已发布 https://..." ``` 或: ``` "已发布 predictions/2026-05-04_xxx.md 链接是 https://..." ``` 会更新预测文件 header 的 `published_at` / `Platform` / `URL`,并把文件加入 `pending_retros` 队列。 ### ④ 复盘 T+3 天后(默认): ``` "复盘 predictions/2026-05-04_xxx.md" ``` 或干脆: ``` "复盘" ``` 后者会从 `pending_retros` 取最早的一条。 > 复盘需要你提供数据。默认是手动粘——粘"播放 / 点赞 / 评论 / 转发"和 top 20 评论到对话里。 > 配了 adapter 的可以让 cheat-retro 自动抓。 ### ⑤ Rubric 升级(罕见) **满足条件才提议**: - 校准池 ≥ 5 篇 - 上次 bump 后又有 ≥ 3 篇新校准 - 检测到连续 ≥ 3 次同向偏差 满足就跑: ``` "升级 rubric --propose 'ER 权重 1.5→2.0,加 MS 维度'" ``` bump 是高风险操作——会做 5 步验证(含跨模型独立审)。详见 `cheat-on-content/shared-references/bump-validation-protocol.md`。 --- ## 三条不可妥协的原则 > 这三条违反任一条 → 整个校准循环退化为占星。 1. **盲预测**:预测段写在看到任何数据之前,写完不可改。hook 在 harness 层强制。 2. **升级 = 全量重打**:bump 必须校准池全量重打分 + 跨模型独立审。 3. **rubric 是工作台不是博物馆**:被吸收 / 被推翻的观察都删掉。git history 是档案。 --- ## 默认配置 `/cheat-init` 创建的项目默认值: | 设置 | 默认 | 何时改 | |---|---|---| | `RETRO_WINDOW_DAYS` | 3 | 长文 / 慢平台改 7 | | `BLIND_CHECK` | strict | 演练 / 测试时临时改 lenient | | `MIN_SAMPLES_FOR_BUMP` | 5 | 不要降 | | `CROSS_MODEL_AUDIT` | true(如 mcp__llm-chat__chat 已配) | 仅离线时 false | | `TREND_SOURCES` | ["manual-paste"] | 用 `enabled_trend_sources` 字段加新源 | | `POOL_PATH` | candidates.md | 用 Notion 时改字段 | --- ## 看板(status 命令) 任何时候说 "状态",会输出: - 当前 mode / rubric 版本 / 校准样本数 - 待办(pending retros + 同向偏差警告 + 陈旧 in-progress) - 候选池规模 + 上次抓热点的天数 - 健康度(rubric_notes.md 行数 / hooks 是否安装 / 是否配跨模型审) - 下一步建议(按推荐优先级) --- ## 文件结构(你的项目根) ``` / ├── rubric_notes.md # 评分规则真实来源 ├── script_patterns.md # 写作 pattern 沉淀 ├── WORKFLOW.md # 本文件 ├── STATUS.md # 看板(cheat-status 维护) ├── candidates.md # 候选池(可选;cheat-seed / cheat-trends 写) ├── .cheat-state.json # 状态文件(git track) ├── .cheat-cache/ # 本地缓存(gitignore) │ ├── usage.jsonl │ └── trends-history.jsonl ├── .cheat-secrets.json # API key / cookie(gitignore) ├── .cheat-hooks/ # hook 脚本副本 │ ├── prediction-immutability.sh │ ├── session-start.sh │ └── log-event.sh ├── .claude/settings.json # 含 cheat-on-content hooks │ ├── scripts/ # **拍前的所有草稿** │ └── YYYY-MM-DD__.md # cheat-seed 写或用户写 │ ├── predictions/ # **immutable 预测日志**(hook 保护) │ └── YYYY-MM-DD__.md # cheat-predict 写 │ └── videos/ # **拍后才建**(cheat-shoot 创建) └── YYYY-MM-DD__/ ├── script.md # 你提供的最终拍摄稿 └── report.md # T+3d 数据(cheat-retro 写) ``` ### 三个目录的关系 | 目录 | 阶段 | 内容 | 谁写 | |---|---|---|---| | `scripts/` | 拍前草稿 | Claude AI 草稿或用户原创 | cheat-seed 写初版;用户改写也在原文件 | | `predictions/` | 预测锁定 | 7 组件 immutable 日志 | cheat-predict 写 | | `videos//` | 拍后产物 | 最终拍摄稿 + T+3d 数据 | cheat-shoot 建目录;cheat-retro 写 report.md | 三处用同一组 `__` 命名,`` 是 `scripts/.md` 首次落盘内容的 sha256 前 12 位,**草稿改写不变**。 `/cheat-init` 自动创建以上骨架(不覆盖已存在的)。 --- ## 卡住了? - 看 `cheat-on-content/SKILL.md` 的"必须拒绝的请求"段——你想做的事可能正好是被设计拒绝的 - 看对应子 skill 的 `cheat-on-content/skills/cheat-X/SKILL.md` - 跑 "状态" 看 cheat-status 的"下一步建议"