cheat-on-content
给所有想把"感觉"变成可校准预测的内容创作者。**方法论通用**——打分 → 盲预测 → T+3d 复盘 → 进化 rubric 的循环适用任何能被量化(播放 / 阅读 / 收听 / 点击)的内容。**rubric 是循环的内容,不是循环本身**——当前内置一份观点视频 rubric(参考博主 25+…
把老用户的 .cheat-state.json 升级到当前 schema_version。读 migrations/registry.md 算迁移链,按顺序应用每一步迁移文件。幂等:跑两次结果一样。失败停在中间版本不前进。触发词:"迁移"/"升级 state"/"migrate"/"我的 state 是老版本"/"schema 版本不对"。
$ npx -y skills add LiHongwei-cn/lihongwei-cn --skill cheat-migrate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cheat-migrateContext preview
The summary Claude sees to decide when to auto-load this skill.
把老用户的 .cheat-state.json 升级到当前 schema_version。读 migrations/registry.md 算迁移链,按顺序应用每一步迁移文件。幂等:跑两次结果一样。失败停在中间版本不前进。触发词:"迁移"/"升级 state"/"migrate"/"我的 state 是老版本"/"schema 版本不对"。
name: cheat-migrate description: 把老用户的 .cheat-state.json 升级到当前 schema_version。读 migrations/registry.md 算迁移链,按顺序应用每一步迁移文件。幂等:跑两次结果一样。失败停在中间版本不前进。触发词:"迁移"/"升级 state"/"migrate"/"我的 state 是老版本"/"schema 版本不对"。 argument-hint: [— from: <version>] [— to: <version>] [— dry-run] allowed-tools: Bash(*), Read, Write, Edit, Skill
把用户 `.cheat-state.json` 从旧 `schema_version` 升级到 cheat-on-content 当前期望的 `LATEST_SCHEMA`。
---
[用户:迁移 / 或 SessionStart 提示后用户跑] ↓ [Phase 0: 读 .cheat-state.json + migrations/registry.md → 确定迁移链] ↓ [Phase 1: dry-run(默认)展示迁移计划,等用户确认] ↓ [Phase 2: 备份 .cheat-state.json → .cheat-state.json.backup-<timestamp>] ↓ [Phase 3: 按顺序对每个 step 应用对应迁移文件的 HOW 段] ↓ [Phase 4: 验证升级后 state 文件能被解析 + schema_version 已更新] ↓ [Phase 5: 报告 + 提示如有备份需要清理]
---
> 💡 调用时覆盖:`/cheat-migrate — dry-run: false` 直接执行 / `/cheat-migrate — to: 1.2` 仅升到指定版本
---
| 必填 | 来源 | |---|---| | `.cheat-state.json` | 用户项目根 | | `migrations/registry.md` | LATEST_SCHEMA + 版本链表 | | `migrations/<from>-to-<to>.md` | 每步具体迁移指令 |
---
1. 读 `.cheat-state.json` → 解析 `current_version = state.schema_version` 2. 读 `migrations/registry.md` → 解析 `LATEST_SCHEMA` 字段(行:`LATEST_SCHEMA = "X.Y"`) 3. 解析 `args.to` 覆盖(如有);否则 target = LATEST_SCHEMA 4. 解析 `args.from` 覆盖(罕见场景:用户的 state 文件 schema 字段坏了,强制指定起点) 5. **状态判断**:
6. 从注册表"版本链"表算出 `chain = [(from, to, file), ...]`,按顺序串起 current → target
如果某一步在注册表里缺失(比如 `current_version` 不在表里)→ 报错并展示"目前已知版本:[1.0, 1.1, ...]",让用户检查。
输出迁移计划:
📋 迁移计划
当前版本: 1.0
目标版本: 1.2
将按顺序跑 2 步:
[1/2] 1.0 → 1.1(MINOR)
新增字段:typical_duration_seconds, target_publish_cadence_days, ...(共 12 字段)
删除字段:mode, prediction_complexity, bucket_scheme
详见: migrations/1.0-to-1.1.md
[2/2] 1.1 → 1.2(MINOR)
新增字段:[...]
详见: migrations/1.1-to-1.2.md
⚠️ 备份位置: .cheat-state.json.backup-<timestamp>
继续吗?回 yes 执行 / no 退出 / dry-run-detail 看每步具体改什么。如 `args["dry-run"] == false` 或用户回 yes → 进 Phase 2。
cp .cheat-state.json .cheat-state.json.backup-$(date +%s)
输出:"📦 备份到 .cheat-state.json.backup-1714838400"
对 chain 里的每个 (from, to, file):
1. 输出 "→ [N/M] 应用 {file}..." 2. 读 `migrations/<file>` → 找到 `## HOW (Claude steps for /cheat-migrate)` 段 3. **按段内自然语言步骤逐项执行**——这是关键:迁移是 Claude 读 markdown 跑的,不是 python 脚本 4. 每步完成后:
5. 如某步失败:
升完后: 1. 读 `.cheat-state.json` → 解析 → 应能成功 2. 检查 `schema_version == target` 3. 检查所有"必填字段"非缺失(参照 [shared-references/state-management.md](../../shared-references/state-management.md) 完整 schema) 4. 失败 → 报错"迁移完成但验证失败:{detail}。state 文件可能不一致——查看备份恢复"
✅ 迁移完成 从: 1.0 到: 1.2 应用步骤: 2 state 文件现在含 X 字段,全部通过验证。 📦 备份保留:.cheat-state.json.backup-1714838400 (确认一切正常后可手动 rm;下次成功 /cheat-init 也会清理过期备份) 下一步建议: - 跑 /cheat-status 确认看板正常 - 如有 hooks 重装需求,跑 bash <skill_repo>/install.sh --reinstall-hooks
---
1. **幂等**:在已升过的 state 上重跑应该立刻退出"无需迁移",**不**重复应用步骤。靠对比 `current_version == target` 实现 2. **不跳版**:1.0 → 1.3 必须按 1.0→1.1→1.2→1.3 顺序,每步独立可恢复。不允许"直接升 1.0 → 1.3 的合并 migration" 3. **不静默兼容**:state 文件 schema_version 不识别 → 明确报错"未知版本 X,最近已知版本 Y",不假装能继续 4. **失败停在原地**:第 N 步失败时 schema_version 停在 N-1 已成功的版本,不回滚到迁移前。重跑能从断点继续 5. **备份是硬约束**:写之前必有备份。即使用户跑 `--dry-run: false`,备份动作仍执行 6. **不动 predictions / rubric / videos**:只改 `.cheat-state.json`。其他用户数据由各自 skill 负责,迁移 skill 不碰 7. **MAJOR vs MINOR 透明**:dry-run 输出必标 (MAJOR) / (MINOR)。MAJOR 时额外提示"老 skill 用旧字段读会出问题,迁移完不能回退到老 skill 版本"
---
---
---
本 skill **写**:
本 skill **读**:
本 skill **绝不**写:
---
用户:迁移 Claude: [跑 cheat-migrate] Phase 0: current=1.1, target=1.2, chain=[(1.1, 1.2)] Phase 1: dry-run 输出计划 用户: yes Phase 2: 备份 Phase 3: 应用 1.1-to-1.2.md(MINOR:新增 platform_metrics_url 等字段) Phase 4: 验证 OK Phase 5: 报告 ✅
用户:我从 v0.1.0 升到 v0.5.0,state 还是 1.0 Claude: [跑 cheat-migrate] Phase 0: current=1.0, target=1.4 (LATEST), chain=[(1.0, 1.1), (1.1, 1.2), (1.2, 1.3), (1.3, 1.4)] Phase 1: dry-run 输出 4 步计划 ...
Phase 3: → [1/4] 应用 1.0-to-1.1.md ✓ → [2/4] 应用 1.1-to-1.2.md ✓ → [3/4] 应用 1.2-to-1.3.md...
MUNDO - THE EMPEROR. Complete AI orchestration system with 1208 skills, 25 capability modules, self-evolving, collective consciousness. GitHub Actions 24/7 automation.
Repo: LiHongwei-cn/lihongwei-cn
给所有想把"感觉"变成可校准预测的内容创作者。**方法论通用**——打分 → 盲预测 → T+3d 复盘 → 进化 rubric 的循环适用任何能被量化(播放 / 阅读 / 收听 / 点击)的内容。**rubric 是循环的内容,不是循环本身**——当前内置一份观点视频 rubric(参考博主 25+…
提议并执行 rubric 或 bucket 升级。两种模式:**完整 rubric bump**(最高风险动作,5 步强制 + 跨模型审核)和 **--bucket-only 轻量重校**(只换 bucket 边界,不动 rubric 公式)。**Phase 2 强制走 cheat-score-blind…
cheat-on-content 的首次 onboarding 与脚手架创建器。统一流程——所有用户都走相同 5 阶段闭环,唯一区别是"发过视频的人"会在 init 时多一步:抓取已有视频建立历史 context(用于后续 cheat-seed 给更贴合的选题、更准的…
从对标账号导入 script + 数据 → 拆 pattern + 派生 base rubric 信号 → 写到 benchmark.md / script_patterns.md / rubric_notes.md。**这是工具最早期信号的来源**——cold-start…
从复盘评论数据派生 / 刷新账号的受众画像,写入 audience.md。这是和 rubric 平行的第二个派生物——rubric 答"怎么打分",persona 答"谁在看"。cheat-seed 选题 / 写稿时读它。**audience.md 含实绩信号,cheat-score-blind…
给最终稿写一份 immutable 盲预测日志。这是 cheat-on-content 整个校准循环的核心动作——预测段一旦写完不可改,由 hook 强制。**自动检测**:如目标文件已有 `## 预测` / `## 预测 v1` 段(被 cheat-shoot 调用走 v2 模式),改成 append `## 预测…