Atlas / Skills / xbuilderlab / Cheat Init

Cheat InitSAFE

skills/xbuilderlab/cheat-init

You're reading this. The skill predicted it. A workflow that turns every post into a calibrated experiment—score, blind-predict, retro, evolve. The future doesn't reward effort, it rewards those who see the pattern first. 1M followers in a month — not luck, system.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
1 documented
License
MIT
Stars
7,316
01

Overview

You're reading this. The skill predicted it. A workflow that turns every post into a calibrated experiment—score, blind-predict, retro, evolve. The future doesn't reward effort, it rewards those who see the pattern first. 1M followers in a month — not luck, system.

Read from source at commit 36a9adaed742OBSERVED · 2026-10-21
Advertisement
02

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
03

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
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) LinkedIn — 装 linkedin-session adapter(Playwright + 登录 LinkedIn,抓单帖分析)
> f) 微信视频号 — 装 wechat-channels adapter(Playwright + 扫码登录视频号助手,仅抓自己账号后台数据)
> g) 其他 / 多平台 — 走 manual paste 模式"

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

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

> "现在装 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)→ **强烈建议**——rubric 没 anc
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeNA
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (0)

No findings outside the package's declared scope.

Gates applied: no_behavioural_pass.

Audited 2026-10-21 · audit v0.4.1 · source sha 36a9adaed742full audit observations/trust-audit/skill/xbuilderlab__cheat-init.json · Report an issue / request a re-scan
05

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-2136a9adaed742SAFEB89first audit
06

Questions

What does the cheat-init — xbuilderlab/cheat-on-content skill do?

You're reading this. The skill predicted it. A workflow that turns every post into a calibrated experiment—score, blind-predict, retro, evolve. The future doesn't reward effort, it rewards those who see the pattern first. 1M followers in a month — not luck, system.

Is cheat-init — xbuilderlab/cheat-on-content safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can cheat-init — xbuilderlab/cheat-on-content access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

Which assistants does cheat-init — xbuilderlab/cheat-on-content work with?

Its documentation mentions claude-code. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (36a9adaed742), read on 2026-10-21. The repository is watched, and a new audit runs when it changes — this is the first audit.

Add this badge to your README

Shows this page's audit result and links back to it. It updates when the audit does.

ModelsAtlas audit badge

Markdown
[![ModelsAtlas audit: Cheat Init](https://modelsatlas.com/skills/xbuilderlab/cheat-init/badge.svg)](https://modelsatlas.com/skills/xbuilderlab/cheat-init/)

Not your listing, or something out of date? Claim or update your listing.

Advertisement