Files
2026-07-13 12:29:17 +08:00

7.7 KiB
Raw Permalink Blame History

工作流速查(cheat-on-content

这是 /cheat-init 在你的项目根创建的速查文档。完整规范在 cheat-on-content 的 SKILL.mdshared-references/。 本文件给"忘了下次该说什么"的时候用——不需要从头读完。


一句话流程

找选题
  ├─ 没发过历史的 → /cheat-seed brainstorm(兴趣 × 热点)
  └─ 发过历史的    → /cheat-seed brainstorm(兴趣 × 热点 × 你过去做过什么)
                    (都跑 cheat-seed,区别是发过的 brainstorm 时多一份历史 context
  ↓
cheat-seed 写 5 个草稿到 → scripts/<日期>_<id>_<short>.md
  ↓
用户改写 scripts/<日期>_<id>_<short>.md(同一文件覆盖)
  ↓
/cheat-score scripts/<日期>_<id>_<short>.md → 看 rubric 评分(探索)
  ↓
/cheat-predict scripts/<日期>_<id>_<short>.md → 写 immutable 预测 v1 到 predictions/
  ↓
拍摄完 → /cheat-shoot scripts/<日期>_<id>_<short>.md
   ├─ 建 videos/<日期>_<id>_<short>/ 目录
   ├─ 询问用户:"拍时实际用的稿子和 scripts/<id>.md 一致吗?"
   │   ├─ 一致 → cp → videos/<id>/script.md,沿用 v1 预测
   │   ├─ 改了 → 要最终稿 → 算 diff
   │   │   ├─ diff ≥30% → 自动 /cheat-predict — mode: v2 → predictions/<id>.md append `## 预测 v2` 段
   │   │   └─ diff <30% → 询问是否 v2,默认沿用 v1
   │   └─ 大改 → 走 _redo 流程(新 scripts/<id>_redo.md + 重 cheat-predict
   └─ buffer +1
  ↓
发布 → /cheat-publish + URL → buffer -1
  ↓
T+3 天 → /cheat-retro videos/<日期>_<id>_<short>/
   ├─ 抓数据 / 用户粘 → 写 videos/<id>/report.md
   ├─ 追加 ## 复盘 段到 predictions/<id>.md
   ├─ diff scripts/<id>.md vs videos/<id>/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 的 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 是否安装 / 是否配跨模型审)
  • 下一步建议(按推荐优先级)

文件结构(你的项目根)

<your-content-project>/
├── 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 / cookiegitignore
├── .cheat-hooks/            # hook 脚本副本
│   ├── prediction-immutability.sh
│   ├── session-start.sh
│   └── log-event.sh
├── .claude/settings.json    # 含 cheat-on-content hooks
│
├── scripts/                 # **拍前的所有草稿**
│   └── YYYY-MM-DD_<id>_<short>.md   # cheat-seed 写或用户写
│
├── predictions/             # **immutable 预测日志**hook 保护)
│   └── YYYY-MM-DD_<id>_<short>.md   # cheat-predict 写
│
└── videos/                  # **拍后才建**cheat-shoot 创建)
    └── YYYY-MM-DD_<id>_<short>/
        ├── script.md        # 你提供的最终拍摄稿
        └── report.md        # T+3d 数据(cheat-retro 写)

三个目录的关系

目录 阶段 内容 谁写
scripts/ 拍前草稿 Claude AI 草稿或用户原创 cheat-seed 写初版;用户改写也在原文件
predictions/ 预测锁定 7 组件 immutable 日志 cheat-predict 写
videos/<id>/ 拍后产物 最终拍摄稿 + T+3d 数据 cheat-shoot 建目录;cheat-retro 写 report.md

三处用同一组 <date>_<id>_<short> 命名,<id>scripts/<id>.md 首次落盘内容的 sha256 前 12 位,草稿改写不变

/cheat-init 自动创建以上骨架(不覆盖已存在的)。


卡住了?

  • cheat-on-content/SKILL.md 的"必须拒绝的请求"段——你想做的事可能正好是被设计拒绝的
  • 看对应子 skill 的 cheat-on-content/skills/cheat-X/SKILL.md
  • 跑 "状态" 看 cheat-status 的"下一步建议"