cheat-on-content
用打分、盲预测、发布后复盘和 rubric 进化校准内容判断。适用于视频、文章、播客等可量化内容;触发词包括初始化、打分、预测、发布、复盘、推荐选题、抓热点、状态、找对标。首次使用先运行 cheat-init。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
用打分、盲预测、发布后复盘和 rubric 进化校准内容判断。适用于视频、文章、播客等可量化内容;触发词包括初始化、打分、预测、发布、复盘、推荐选题、抓热点、状态、找对标。首次使用先运行 cheat-init。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Route CEO-first multi-window work into owner-led role loops. Use for 总控/CEO、架构/CTO、内容主编、角色派发与复用、模型路由、来源窗口回调、role-windows 台账、skill 命中统计或 multi-window loop engineering。
Audit and optimize a skill system with evidence. Use for skill architecture, token or context waste, role and prompt boundaries, routing hits or misfires, plugin packaging, registry/docs/source drift, duplicate workflows, or deciding whether a reusable change belongs in a skill. Runs deterministic checks first and applies only authorized, minimal fixes.
为最终稿创建不可变盲预测日志,并在已有预测时追加新版本。通过 cheat-score-blind 做隔离评分,再由主窗口复核落盘。触发词包括启动预测、start prediction、打分并预测、写预测日志。
提议并执行 rubric 或 bucket 升级。两种模式:**完整 rubric bump**(最高风险动作,5 步强制 + 跨模型审核)和 **--bucket-only 轻量重校**(只换 bucket 边界,不动 rubric 公式)。**Phase 2 强制走 cheat-score-blind sub-agent 给校准池重打分**——不接受 self-scored fallback。触发词:"升级 rubric"/"bump rubric"/"更新公式"/"我想加一个维度"/"调整权重"/"重校桶"/"recalibrate bucket"。
cheat-on-content 的首次 onboarding 与脚手架创建器。统一流程——所有用户都走相同 5 阶段闭环,唯一区别是"发过视频的人"会在 init 时多一步:抓取已有视频建立历史 context(用于后续 cheat-seed 给更贴合的选题、更准的 baseline)。触发词:"初始化"/"init"/"首次使用"/"我是新用户"/"setup cheat-on-content"。**必须在用户第一次会话执行;其他子 skill 在 .cheat-state.json 不存在时自动路由到此。**
从对标账号导入 script + 数据 → 拆 pattern + 派生 base rubric 信号 → 写到 benchmark.md / script_patterns.md / rubric_notes.md。**这是工具最早期信号的来源**——cold-start 用户没自己历史时全靠对标,发过历史的用户也建议至少 1 个对标做 sanity check。触发词:"学这个账号"/"拆这几个对标视频"/"learn from"/"导入对标账号"/"找对标"。
| name | cheat-on-content |
| description | 用打分、盲预测、发布后复盘和 rubric 进化校准内容判断。适用于视频、文章、播客等可量化内容;触发词包括初始化、打分、预测、发布、复盘、推荐选题、抓热点、状态、找对标。首次使用先运行 cheat-init。 |
| argument-hint | [draft-path] [— mode: cold-start|calibration] |
| allowed-tools | Bash(*), Read, Write, Edit, Grep, Glob, Skill, mcp__llm-chat__chat |
🎯 方法论通用,rubric 当前内置观点视频版
方法论(5 阶段闭环):任何能被量化的内容形态都适用——视频 / 文章 / 播客 / Newsletter / 短文 thread。
当前内置 rubric:观点类视频(评论 / 时评 / 论说 / 议题讨论 / 个人观点表达),7 个维度由参考博主 25+ 已发样本拟合而来。如果你做其他形态,需要:
- 自己写一份 rubric(参照 starter-rubrics/opinion-video-zero.md 的格式)
- 或等内置扩展(长文 / 短文 / 播客 starter 在批次 3 路线图)
默认假设:用户是从零开始的新人(一条视频都没发过)——cold-start 期的预测会简化,只要 7 维打分 + 一句话 bet,不强求 bucket 数字(避免 false precision)。已有 5+ 篇数据的老手走 calibration 模式解锁完整 7 组件预测。
把内容创作变成可校准预测循环:打分 → 预测 → 发布 → 复盘 → 进化 rubric。
本文件是总协议 + 路由器。具体每个阶段的工作流在 skills/cheat-*/SKILL.md 各子 skill 里。
Codex 没有 Claude Code 的 slash-command harness。安装到 Codex 后,按自然语言触发同一套路由即可:
初始化 cheat-on-content → 读取并执行 skills/cheat-init/SKILL.md打分这篇 scripts/foo.md → 读取并执行 skills/cheat-score/SKILL.md启动预测 scripts/foo.md → 读取并执行 skills/cheat-predict/SKILL.md拍了 ... / 已发布 ... / 复盘 ... / 升级 rubric / 状态 → 分别读取对应 skills/cheat-*/SKILL.md执行时遵循本文件的三条原则和路由表;不要依赖 /cheat-* 命令是否存在。Claude Code 专用 hook(.claude/settings.json)仍只在 Claude Code 里自动触发;Codex 中需要用户主动说 状态 查看 buffer、待复盘和候选池。
任何一条被违反,整个校准循环退化为"凭直觉的自我安慰"。如果用户要求打破其中任何一条,拒绝执行并说明原因。
盲预测(Blind prediction):预测必须在看到任何实际数据之前写完。一旦写完,## 预测 段是 immutable——只能往 ## 复盘 段追加。完整规范:shared-references/blind-prediction-protocol.md。hooks/prediction-immutability.sh 在 harness 层强制执行。
升级 = 全量重打(Bump = full re-score):rubric 升级时,校准池所有有实绩数据的样本必须用新公式重打分;新排序与实际表现排序若在 ≥4/5 样本上不一致,升级被拒;升级必须经跨模型独立审核。完整规范:shared-references/bump-validation-protocol.md。
rubric 是工作台,不是博物馆:被新数据推翻或被吸收为正式维度的观察,删掉。绝不留"我曾经以为 X,但其实..."的考古层。git history 才是档案。完整规范:shared-references/observation-lifecycle.md。
| 用户说 | 调用 | 前置条件 |
|---|---|---|
| "初始化" / "init" / "首次使用" | /cheat-init | 无(这是入口) |
| "找对标" / "学这个账号" / "拆这几个对标视频" / "learn from" / "导入对标账号" | /cheat-learn-from | 已 init;cold-start 强烈建议;后续可随时 --append / --replace |
| "找选题" / "我不知道拍什么" / "seed" / "找前 5 个选题" | /cheat-seed | 已 init(cold-start 用户专用一次性种子动作) |
| "打分这篇 [path]" / "score this [path]" | /cheat-score | rubric_notes.md 存在 |
| "启动预测" / "start prediction" / "给这稿子打分并预测" | /cheat-predict | 已 init + 有最终稿 |
| "拍了 X" / "shot it" / "录完了" | /cheat-shoot | 对应预测已写(buffer +1) |
| "已发布" / "I shipped it" / "发布链接是 X" | /cheat-publish | 对应预测文件存在(buffer -1) |
| "复盘" / "retro this" / "T+3d 数据来了" | /cheat-retro | 对应预测文件存在 + 已过 RETRO_WINDOW_DAYS |
| "构造受众画像" / "更新 persona" / "我的观众是谁" / "build persona" | /cheat-persona | 已 init;有复盘评论数据(或 benchmark seed) |
| "升级 rubric" / "bump rubric" / "更新公式" | /cheat-bump | 校准池 ≥ MIN_SAMPLES_FOR_BUMP |
| "推荐选题" / "next topic" | /cheat-recommend | candidates.md 存在且非空 |
| "抓热点" / "fetch trends" / "今天有什么可做的" | /cheat-trends | trend-sources adapter 已配置(日常补充候选池) |
| "状态" / "status" / "看板" | /cheat-status | 任意时刻可调 |
| "迁移" / "升级 state" / "schema 版本不对" / "migrate" | /cheat-migrate | 已 init;用户 git pull 拉了新版后;SessionStart hook 提示 schema mismatch 后 |
拍 vs 发分两个动作:buffer 警戒系统需要明确知道"拍了但没发"vs"已发"两种状态。详见 shared-references/cadence-protocol.md。
Mode detection(首次接到非 init 触发词时执行):
.cheat-state.json → 没有 → 强制路由到 /cheat-initpredictions/ 下有几个文件含完整 ## 复盘 段填了真实数据 → 决定 mode: cold-start | calibration.cheat-state.json 后再路由到目标 skill下列模式会直接破坏三条原则之一,无论用户怎么说,都拒绝执行:
_redo.md 路径记为 reconstructedCROSS_MODEL_AUDIT=false 显式设置且 state file 标记自审时允许_redo.md,原版必须保留详细的拒绝场景在每个子 skill 的 Refusals 段。
skill 期望用户的项目布局如下。/cheat-init 会创建缺失项;绝不在没确认的情况下覆盖。
<user-content-project>/
├── rubric_notes.md # 评分规则的真实来源
├── WORKFLOW.md # 5 阶段流程文档(cheat-init 创建)
├── STATUS.md # 看板(cheat-status 维护)
├── .cheat-state.json # 状态文件,子 skill 共享上下文
├── .cheat-cache/ # 不入版本控制
│ ├── usage.jsonl # 钩子被动记录的使用日志
│ └── trends-history.jsonl # cheat-trends 的去重缓存
├── .claude/
│ └── settings.json # 含 prediction-immutability hook
├── benchmark.md # 对标账号信息(cheat-learn-from 维护)
├── audience.md # 受众画像(cheat-persona 派生;blind 硬禁读)
├── scripts/ # 拍前的所有草稿(cheat-seed 写或用户写)
│ └── YYYY-MM-DD_<id>_<short>.md
├── predictions/ # immutable 预测日志(hook 保护)
│ └── YYYY-MM-DD_<id>_<short>.md # 与 scripts/ 同 id
├── videos/ # 拍后才建(cheat-shoot 创建)
│ └── YYYY-MM-DD_<id>_<short>/
│ ├── script.md # 用户提供的最终拍摄稿(cheat-shoot 时询问"和 scripts/ 一致吗")
│ └── report.md # T+3d 抓的数据 + 评论(cheat-retro 写)
├── samples/ # 对标账号视频 / 转录(cheat-learn-from 创建)
│ └── <账号名>/<video-id>/{source.mp4 (可选), transcript.md, meta.md}
├── candidates.md # 选题池(可选)
└── content.db # 可选 SQLite,校准池规模化后启用
cheat-on-content/
├── SKILL.md # 本文件(总协议 + 路由)
├── README.md # 营销门面
├── skills/ # 子 skill 集
│ ├── cheat-init/SKILL.md # ✅ 入口:onboarding 与脚手架
│ ├── cheat-learn-from/SKILL.md # ✅ 对标账号导入(拆 pattern + 派生 base rubric 信号)
│ ├── cheat-seed/SKILL.md # ✅ Cold-start 选题启动器(brainstorm + 可选 draft)
│ ├── cheat-score/SKILL.md # ✅ 单稿打分(不写文件)
│ ├── cheat-predict/SKILL.md # ✅ 盲预测 + immutable 日志
│ ├── cheat-shoot/SKILL.md # ✅ 登记拍摄(buffer +1)
│ ├── cheat-publish/SKILL.md # ✅ 发布元数据登记(buffer -1)
│ ├── cheat-retro/SKILL.md # ✅ 数据回收 + 复盘
│ ├── cheat-persona/SKILL.md # ✅ 受众画像派生(从复盘评论聚类)
│ ├── cheat-bump/SKILL.md # ✅ rubric 升级(含跨模型审)
│ ├── cheat-recommend/SKILL.md # ✅ 候选池排序推荐(按 buffer 颜色 + 1 稳 + 1 实验)
│ ├── cheat-trends/SKILL.md # ✅ 热点抓取(日常补充候选池,多 adapter)
│ ├── cheat-status/SKILL.md # ✅ 状态看板(含 buffer 警戒)
│ ├── cheat-migrate/SKILL.md # ✅ schema 升级(老用户 git pull 后用)
│ └── cheat-score-blind/SKILL.md # ✅ Channel B 隔离打分 sub-agent(仅 Task tool 调用)
├── migrations/ # schema 演进单一来源
│ ├── registry.md # ✅ LATEST_SCHEMA + 版本链表
│ └── <from>-to-<to>.md # ✅ 每步迁移的 WHAT/WHY/HOW/Manual fallback
├── shared-references/ # 跨 skill 共享协议
│ ├── blind-prediction-protocol.md # ✅ 原则 #1
│ ├── bump-validation-protocol.md # ✅ 原则 #2
│ ├── observation-lifecycle.md # ✅ 原则 #3
│ ├── prediction-anatomy.md # ✅ 一份合格预测的 7 个组件
│ ├── candidate-schema.md # ✅ 候选项统一 schema
│ ├── cadence-protocol.md # ✅ 节奏协议(buffer 警戒 + 选题策略)
│ ├── state-management.md # ✅ .cheat-state.json 读写约定
│ └── migration-protocol.md # ✅ schema 演进哲学 + maintainer checklist
├── starter-rubrics/ # 各内容形态的先验 rubric
│ ├── opinion-video.md # ✅ 观点视频(中文,已校准 25+ 样本)
│ ├── opinion-video-zero.md # ✅ v0 等权占位(cold-start)
│ ├── long-form-essay.md # ⬜ 公众号 / Substack
│ └── short-form-text.md # ⬜ X thread / 微博长文
├── templates/ # skill 写进用户 repo 的文件骨架
│ ├── rubric_notes.template.md # ✅
│ ├── prediction.template.md # ✅ 统一版(所有阶段,含 confidence header)
│ ├── retro.template.md # ✅
│ ├── candidates.template.md # ✅
│ ├── candidates.template.json # ✅
│ ├── script_patterns.template.md # ✅ 写作 pattern 沉淀(含 benchmark 借鉴段说明)
│ ├── benchmark.template.md # ✅ 对标账号 reference
│ ├── audience.template.md # ✅ 受众画像骨架
│ ├── workflow.template.md # ✅
│ ├── status.template.md # ✅
│ └── content.db.schema.sql # ✅
├── hooks/ # harness 强制层
│ ├── prediction-immutability.json # ✅ 阻塞型钩子(拦预测段编辑)
│ ├── prediction-immutability.sh # ✅ 拦截脚本
│ ├── session-start.json # ✅ SessionStart 自动报告 hook
│ ├── session-start.sh # ✅ 状态报告渲染脚本
│ ├── meta-logging.json # ✅ 被动记录配置
│ └── log-event.sh # ✅ meta-logging 脚本
├── tools/ # 独立 CLI 脚本
│ ├── score-curve.py # ⬜ 预测精度收敛曲线
│ ├── md-to-sqlite.py # ⬜ markdown → content.db 升级(批次 3)
│ └── validate-bump.py # ⬜ 校准池全量重打(批次 3)
├── adapters/ # 数据源适配
│ ├── perf-data/ # 复盘数据源(含 douyin-session)
│ ├── candidate-pool/ # 候选池数据源
│ ├── trend-sources/ # 热点抓取源
│ └── script-extraction/ # 视频/音频转 script(含 whisper for cheat-learn-from)
└── examples/
├── reference-implementation/ # 视频分析脱敏快照(待)
└── script_patterns.example.md # script_patterns 全填示例(参考用,不复制)
✅ = 当前批次(v1 骨架)已完成 / ⬜ = 后续批次
写面向用户的文案(commit message / 复盘小结等)时,匹配项目的 直白克制(reflective-irreverent) voice:
rubric_notes.md 或预测日志starter-rubrics/<form>.mdadapters/trend-sources/<name>.md,符合 candidate-schema.md 输出契约shared-references/<protocol>.md,所有引用它的 skill 自动跟进skills/cheat-*/SKILL.md完整开发指南见 README.md。