Skip to content
Automation
Skill

/cheat-init

cheat-on-content 的首次 onboarding 与脚手架创建器。统一流程——所有用户都走相同 5 阶段闭环,唯一区别是"发过视频的人"会在 init 时多一步:抓取已有视频建立历史 context(用于后续 cheat-seed 给更贴合的选题、更准的 baseline)。触发词:"初始化"/"init"/"首次使用"/"我是新用户"/"setup cheat-on-content"。**必须在用户第一次会话执行;其他子 skill 在 .cheat-state.json 不存在时自动路由到此。**

From plugin
lihongwei-cn
5200 skills1 agent
Install
$ npx -y skills add LiHongwei-cn/lihongwei-cn --skill cheat-init --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/cheat-init

Context preview

The summary Claude sees to decide when to auto-load this skill.

cheat-on-content 的首次 onboarding 与脚手架创建器。统一流程——所有用户都走相同 5 阶段闭环,唯一区别是"发过视频的人"会在 init 时多一步:抓取已有视频建立历史 context(用于后续 cheat-seed 给更贴合的选题、更准的 baseline)。触发词:"初始化"/"init"/"首次使用"/"我是新用户"/"setup cheat-on-content"。**必须在用户第一次会话执行;其他子 skill 在 .cheat-state.json 不存在时自动路由到此。**

SKILL.md

cheat-init.SKILL.md
name: cheat-init
description: cheat-on-content 的首次 onboarding 与脚手架创建器。统一流程——所有用户都走相同 5 阶段闭环,唯一区别是"发过视频的人"会在 init 时多一步:抓取已有视频建立历史 context(用于后续 cheat-seed 给更贴合的选题、更准的 baseline)。触发词:"初始化"/"init"/"首次使用"/"我是新用户"/"setup cheat-on-content"。**必须在用户第一次会话执行;其他子 skill 在 .cheat-state.json 不存在时自动路由到此。**
argument-hint: [— form: opinion-video|long-essay|short-text|podcast]
allowed-tools: Bash(*), Read, Write, Edit, Glob, WebFetch, Skill

/cheat-init — 首次 onboarding

让用户从零到能跑第一篇预测,全程 ≤ 5 分钟(没发过历史的)或 ≤ 10 分钟(已发过、要 import 历史的)。

Overview

[用户首次说"初始化"]
  ↓
[Phase 0: 检测当前状态]
  ↓
[Phase 1: 首屏文案 — 适用性 + 期望管理]
  ↓
[Phase 2: 6 个问题(Q1-Q5 都问;Q2 决定是否走 user-history import)]
  ↓
[Phase 2.5: 对标账号 — 强烈建议(cold-start 必须问,已发用户可选)]
  ↓
[Phase 3: 创建脚手架(含 scripts/ + videos/ + samples/ 空目录 + 模板文件含 benchmark.md)]
  ↓
[Phase 3.5: user-history import 流程(仅 Q2=有发过历史 + 用户同意)]
  ↓
[Phase 4: 测试 hook 是否生效]
  ↓
[Phase 5: 给"下一步该说什么"清单]

Constants

  • **DEFAULT_RETRO_WINDOW_DAYS = 3**
  • **INSTALL_HOOKS = ask** — 默认询问;用户选 `auto` 直接装;`skip` 不装
  • **TREND_DEFAULT_SOURCES = ["manual-paste"]**

Inputs

无。所有信息从 6 个对话问题里收集。

Workflow

Phase 0: 检测当前状态

1. 读用户当前工作目录(**用户的 content project,不是 cheat-on-content 自己**) 2. 检查是否已存在 `.cheat-state.json`:

  • 存在 → 提示"项目似乎已初始化(state file 存在)。要重新初始化会覆盖现有配置——确认?" 等用户明确确认才继续
  • 不存在 → 进入 Phase 1

3. 检查是否已存在 `rubric_notes.md` / `predictions/` 等核心文件——存在但 state file 不存在 → 是"半初始化"状态,提示用户并询问"要从现有文件推断状态还是重置?"

Phase 1: 首屏直白告知期望(含适用性验证)

向用户输出(一字不漏,不要软化):

🎯 Cheat on Content / 网红外挂 — 初始化

你的下一条内容已经在改写 3 个月后的你。
规律是客观存在的,区别是你**看见**还是**没看见**。
这套让你看见。

接下来 5-10 分钟我会问你 5-6 个问题搞清楚你做什么、有什么、怎么用。
两件事先说在前面:

1. **早期预测会不准**——前 5 篇精度大概 ±50%,这是数学事实。
   工具用 🔴🟠🟡🟢🔵 标 confidence 等级,不藏数字——
   你自己判断这次能不能信。

2. **强烈建议导对标账号**——5-10 条对标视频,工具立刻有 anchor。
   不然第一批预测基本是占星。后面 Q5 会再问一次。

准备好开始吗?

如果用户答"继续"或类似肯定回应 → Phase 2。 不再因为 content_form 拒绝继续——任何形态都允许,只是 `rubric_form_mismatch` 字段标真,cheat-status 后续会持续提示用户"你的形态需要 bump 调权重"。

Phase 2: 6 个问题(一问一答,**不**批量提问)

**Q1: 内容形态**

> "你的内容更接近哪一种? > a) **观点视频**(评论 / 时评 / 论说 / 议题讨论 / 个人观点)— 直接匹配内置 rubric > b) **长文 essay**(公众号 / Substack / Medium)— 可借观点视频 rubric 起步,bump 时调权重 > c) **短文 / thread**(X / 微博 / 即刻)— 同上 > d) **播客 / 视频长内容**(YouTube 长片 / 播客)— 同上 > e) **教程 / 工具教学 / Builder**(教别人怎么用 X 工具 / 怎么做 Y 项目)— 同上 > f) **其他**(游戏 / 美食 / 妆教 / 新闻 / 剧情)— 工作流通用,但 rubric 维度需要调 > (ER / SR / HP 这套对你形态可能不太预测,需要自己拆出适合的维度) > g) **混合**"

记录到 `content_form` + `rubric_form_mismatch`。

**Q1 → `content_form` enum 映射**(**必须存 enum 值,不是字母**):

| 用户答 | `content_form` 写入值 | |---|---| | a | `"opinion-video"` | | b | `"long-essay"` | | c | `"short-text"` | | d | `"podcast"` | | e | `"tutorial-builder"` | | f | `"other"` | | g | `"mixed"` |

`rubric_form_mismatch` 派生:

  • 选 a → `false`
  • 选 b/c/d/e/f/g → `true`,cheat-status 持续提示"你的形态可能需要 bump 调权重"
  • **不再有"严重不匹配"档**——所有形态都能跑工作流,只是有的 rubric 需要更激进的 bump

**Q1.5: 典型时长**(仅 Q1=a/d/f 时问)

> "你的视频典型时长? > a) 30秒-1分钟 b) 1-3分钟 c) 3-5分钟(推荐起步) > d) 5-10分钟 e) 10分钟以上"

记录到 `typical_duration_seconds`(30 / 90 / 240 / 450 / 900)。

**Q1.6: 发布频率**

> "你打算多久发一篇? > a) 日更 b) 隔日 c) 每周 d) 灵活 / 不固定(关闭 buffer 监控)"

记录到 `target_publish_cadence_days`(1 / 2 / 7 / null)。

**Q2: 你这个频道发过视频吗?**

> "a) 没发过 — 我会帮你从兴趣 + 热点 brainstorm 5 个候选 + 写 5 份初稿 > b) 发过 — 不管 1 条还是 100 条,我会帮你抓历史让后续 brainstorm 更贴合你做过什么"

如选 a → state 写 `calibration_samples: 0`,**Phase 3.5 跳过**,直接进入 Phase 4。 如选 b → 进入 **Q2.1**。

**Q2.1: 平台 + 抓取计划**(仅 Q2=b)

> "你内容主要在哪个平台? > a) 抖音 — 装 douyin-session adapter(Playwright + 扫码登录抖音创作者中心) > b) 小红书 — 装 xhs-explore adapter(Playwright + 扫码登录小红书创作者中心) > c) YouTube — 装 youtube-data-api adapter(需 API key) > d) B 站 — bilibili-stat adapter > e) 其他 / 多平台 — 走 manual paste 模式"

如选 a/b/c/d → 询问 Q2.2;如选 e → 跳到 Q2.3 manual。

**Q2.2: adapter 安装时机**(仅 Q2.1=a/b/c/d)

> "现在装 adapter 自动抓取,还是先手动告诉我? > - 现在装 — 引导你装 Playwright + 扫码 → 抓回最近 N 条数据 > - 等下再装 — 先 manual 模式,state 标 'pending_adapter_setup', > cheat-status 持续提示装"

如选"现在装"→ 走 adapter install 引导(详见各 adapter README)→ 验证抓取可用 → Q2.3。 如选"等下"→ 跳到 Q2.3 manual。

**Q2.3: 抓取范围 / 历史规模**

如 adapter 已装并验证可用: > "我可以抓你最近多少条作为基础? > (建议 10-25 条;样本越多 baseline 越准。最多到你账号实际数量)" → 用户给数字 N,Phase 3.5 抓取 N 条

如 manual 模式: > "你大概发过多少条?给个范围就行(比如 '5-10 条' / '20+ 条'), > 这只用来标 calibration_samples 估值,不用准确。" → 用户给一个估值,Phase 3.5 跳过抓取,calibration_samples 写估值

**Q3: 数据回收方式**

> "T+3 天复盘怎么拿数据? > > a) 手动粘 — 候补方案。**你必须粘 top 20+ 评论(带赞数)**,不是只粘播放数。 > 评论才是真信号——'她不一样'这种模因爆发只能从评论看出, > 播放数永远告诉不了你什么内容真的击中了观众。 > b) **[推荐默认]** adapter 自动抓 — 评论 + 数据全要。 > 如果你现在没装 adapter,没关系,state 标 'pending_adapter_setup', > 第一次 publish 之前装上就行(cheat-status 会持续提醒装)。 > 装的指引在 adapters/perf-data/<platform>/README.md。"

**Q3 → `data_collection` enum 映射**:

| 用户答 | `data_collection` 写入值 | |---|---| | a | `"manual"` | | b(默认) | `"adapter"` |

默认推荐 b——除非用户明确说 "a 我就要手动"。

**Q4: 候选选题**

> "你现在有候选选题列表吗?(如有外部 markdown / Notion 维护的) > a) 没有(默认)— 一会儿我帮你 brainstorm,或日常用 /cheat-trends 抓 > b) 有,markdown 列表 > c) 有,Notion / 其他"

**Q4 → `pool_status` enum 映射**:

| 用户答 | `pool_status` 写入值 | |---|---| | a(默认) | `"none"` | | b | `"markdown"` | | c | `"notion"` |

**Q5: 装几个 hook(默认装,不需要你决定)**

> "Q5:我顺便装几个 hook,回 'yes' 或 'enter' 就装: > > 1. **预测锁** — 我们一起做完预测后,文件被锁。你或我都不能改预测段。 > 复盘只能往同一文件下半段追加,不污染上半段判断。 > (没这个锁,事后看到数据想"修一下当时的预测"几乎是必然的——你或我都会犯) > > 2. **SessionStart 自动报告** — 每次开新会话顶部显示 buffer / 待复盘 / 候选 top > > 3. **静默使用日志** — 异步记录使用频率,不阻塞,给将来诊断用 > > 三个一起装。**不装也可以**(回 'no')但你失去预测锁,校准价值会下降。 > > 回 yes / no。"

**Q5 → `hooks_installed` 映射**:

| 用户答 | `hooks_installed` 写入值 | |---|---| | yes / enter / 默认 | `true`(bool,**不是字符串 `"yes"`**) | | no | `false` |

默认 yes——除非用户明确说 no。

Phase 2.5: 对标账号(**所有用户都问**,cold-start 强烈建议)

> 工具早期最重要的信号源是**对标账号**——你 init 完没数据,rubric 等权 v0 等于占星。 > 但如果你能找一个你想做成那样的账号,导入 5-10 条它的高 / 中 / 低样本,工具就有了 anchor。

询问:

🎯 对标账号

你能找一个对标账号吗?至少 3 条该账号的视频。

  - 你**完全没发过历史**(Q2=a/b)→ **强烈建议**——rubric 没 anchor 全靠对标。
    不找的话用通用 v0 等权 rubric,前 5 篇精度更差更久
  - 你**已发历史**(Q2=c)→ **可选**——你也可以只用自己历史 calibrate;
    但建议至少导 1 个对标做 sanity check(看你账号是否真的偏离对标方向)

a) 现
Read more
Ships withlihongwei-cn

MUNDO - THE EMPEROR. Complete AI orchestration system with 1208 skills, 25 capability modules, self-evolving, collective consciousness. GitHub Actions 24/7 automation.

Get the whole plugin
Stats
5
Stars
1
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
4mo ago
Created

Repo: LiHongwei-cn/lihongwei-cn

Other skills on lihongwei-cn.

cheat-on-content
Skill

cheat-on-content

给所有想把"感觉"变成可校准预测的内容创作者。**方法论通用**——打分 → 盲预测 → T+3d 复盘 → 进化 rubric 的循环适用任何能被量化(播放 / 阅读 / 收听 / 点击)的内容。**rubric 是循环的内容,不是循环本身**——当前内置一份观点视频 rubric(参考博主 25+…

cheat-bump
Skill

cheat-bump

提议并执行 rubric 或 bucket 升级。两种模式:**完整 rubric bump**(最高风险动作,5 步强制 + 跨模型审核)和 **--bucket-only 轻量重校**(只换 bucket 边界,不动 rubric 公式)。**Phase 2 强制走 cheat-score-blind…

cheat-migrate
Skill

cheat-migrate

把老用户的 .cheat-state.json 升级到当前 schema_version。读 migrations/registry.md 算迁移链,按顺序应用每一步迁移文件。幂等:跑两次结果一样。失败停在中间版本不前进。触发词:"迁移"/"升级 state"/"migrate"/"我的 state…

cheat-persona
Skill

cheat-persona

从复盘评论数据派生 / 刷新账号的受众画像,写入 audience.md。这是和 rubric 平行的第二个派生物——rubric 答"怎么打分",persona 答"谁在看"。cheat-seed 选题 / 写稿时读它。**audience.md 含实绩信号,cheat-score-blind…

cheat-predict
Skill

cheat-predict

给最终稿写一份 immutable 盲预测日志。这是 cheat-on-content 整个校准循环的核心动作——预测段一旦写完不可改,由 hook 强制。**自动检测**:如目标文件已有 `## 预测` / `## 预测 v1` 段(被 cheat-shoot 调用走 v2 模式),改成 append `## 预测…