SEO Plan
seranking/seo-skills
Build a phased SEO roadmap for a domain — quarter-by-quarter, tied to the site's competitive position, content gaps, technical debt, and AI Search readiness.
Chinese-language retro step that gathers a post's results after a set window, compares them with the earlier prediction and records lessons in rubric-memo.md.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add XBuilderLAB/cheat-on-content --skill cheat-retro -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install XBuilderLAB/cheat-on-content cheat-retro --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/XBuilderLAB/cheat-on-content.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cheat-retro .claude/skills/cheat-retro && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cheat-retro" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-retro into .claude/skills/cheat-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-retro", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-retroType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add XBuilderLAB/cheat-on-content --skill cheat-retro -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install XBuilderLAB/cheat-on-content cheat-retro --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/XBuilderLAB/cheat-on-content.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cheat-retro .agents/skills/cheat-retro && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cheat-retro" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-retro into .agents/skills/cheat-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-retro", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add XBuilderLAB/cheat-on-content --skill cheat-retro -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install XBuilderLAB/cheat-on-content cheat-retro --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/XBuilderLAB/cheat-on-content.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cheat-retro .cursor/skills/cheat-retro && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cheat-retro" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-retro into .cursor/skills/cheat-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-retro", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/XBuilderLAB/cheat-on-content.git --path skills/cheat-retro--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add XBuilderLAB/cheat-on-content --skill cheat-retro -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install XBuilderLAB/cheat-on-content cheat-retro --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/XBuilderLAB/cheat-on-content.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cheat-retro .gemini/skills/cheat-retro && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cheat-retro" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-retro into .gemini/skills/cheat-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-retro", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install XBuilderLAB/cheat-on-content cheat-retroInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add XBuilderLAB/cheat-on-content --skill cheat-retro -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/XBuilderLAB/cheat-on-content.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cheat-retro .github/skills/cheat-retro && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cheat-retro" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-retro into .github/skills/cheat-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-retro", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add XBuilderLAB/cheat-on-content --skill cheat-retro -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install XBuilderLAB/cheat-on-content cheat-retro --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/XBuilderLAB/cheat-on-content.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cheat-retro .opencode/skills/cheat-retro && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cheat-retro" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-retro into .opencode/skills/cheat-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-retro", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cheat-retroChinese-language retro step that gathers a post's results after a set window, compares them with the earlier prediction and records lessons in rubric-memo.md.
The feedback stage of a predict-then-review workflow for published content. It takes a prediction file or video folder, checks that the prediction sections are untouched, confirms the post was registered as published and that the retro window has passed, then collects the real numbers: plays, likes, comments, shares and saves, pasted by the user or fetched through an adapter. The default window is 3 days, adjustable to 1 for fast short-video platforms or 7 for long articles.
Top comments are treated as the real signal: it asks for 20 and refuses to continue with fewer than 5 unless comments are unavailable, in which case the retro is marked as less valuable. It then compares results with the prediction, writes new observations into a retro section of rubric-memo.md without ever changing the prediction section, and keeps rubric_notes.md limited to general rules with no sample names or figures. It can propose a calibration bump with /cheat-bump after repeated same-direction misses or one extreme miss.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2d8211e. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(*)ReadEditWriteGlobGrepSkillFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
bashpythonpipFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
v.douyin.comxiaohongshu.comxhslink.comlinkedin.combilibili.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Content Prediction Retro loads about 3.1k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 848 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash(*), Read, Edit, Write, Glob, Grep, SkillAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from XBuilderLAB/cheat-on-content at commit 2d8211e, republished under its MIT licence (© XBuilderLAB). 848 words, ~3,112 tokens.
.claude/skills/cheat-retro/SKILL.md (or your agent's skills folder).抓 T+N 天的实际表现 → 对比预测 → 提炼新观察 → 写入 rubric-memo.md。只追加 ## 复盘 段,绝不改预测段。rubric_notes.md 是 blind 白名单,只能保存通用公式、维度定义和抽象规则,不能写入样本名、实绩、评论、链接或播放/阅读数。
[用户:复盘 predictions/2026-05-04_...]
↓
[Phase 0: 校验 immutability + 校验时间窗口]
↓
[Phase 1: 抓数据(manual paste 或 adapter)]
↓
[Phase 2: 写实绩段 + top 评论关键词]
↓
[Phase 3: 验证/推翻预测的各假设]
↓
[Phase 4: 提炼新观察]
↓
[Phase 5: 落盘(追加到 ## 复盘 段)]
↓
[Phase 6: 写入 rubric-memo.md 的"观察记录"段]
↓
[Phase 7: 检测是否触发 bump 候选 → 提示用户跑 /cheat-bump]💡 调用时覆盖:
/cheat-retro <file> — window: 7 — source: adapter
| 必填 | 来源 |
|---|---|
<prediction-file> 或 <video-folder> | 用户参数;缺失则从 .cheat-state.json 的 pending_retros[0] |
rubric_notes.md | 用户项目根(只读,用于当前规则上下文;不得写入实绩观察) |
rubric-memo.md | 用户项目根(写入复盘观察、实绩证据、样本名与评论信号) |
.cheat-state.json | 状态文件 |
用户给的可能是:
predictions/2026-05-04_<id>_<short>.md → 直接用这个 prediction 文件videos/2026-05-04_<id>_<short>/ → 找对应的 prediction 文件(按 id 匹配)+ 把 report.md 写到该 video folder 里pending_retros[0] 取最早的<prediction-file>,确认存在## 预测... 段(可能含 ## 预测、## 预测 v1、## 预测 v2 等):## 预测 vN 作为本次校准的依据(v2 存在则用 v2;只有 v1 则用 v1;legacy 单段 ## 预测 直接用)v2_prediction_written 应与"是否存在 v2 段"一致——不一致则警告(state 与文件脱节)## 预测... 段的内容(用于 Phase 5 后核对——全部段不可改,不只是有效段)Published at → 没登记的不能复盘,提示用户先 /cheat-publishearly_retro: true)按 state.data_collection 字段分两条路径——抓回数据后写到 video folder 的 report.md(如果 prediction 关联 video folder),同时解析摘要 inline 到 prediction 的复盘段。
DATA_SOURCE=manual(候补方案)comments_unavailable,但这次复盘价值打折。"videos/<...>/report.md(如有 video folder)DATA_SOURCE=adapter按 prediction header 的 Platform 字段 + state 的 enabled_perf_adapters 决定调哪个:
| Platform | Adapter | 调用方式 |
|---|---|---|
douyin | adapters/perf-data/douyin-session/ | bash <adapters-dir>/douyin-session/run.sh <aweme_id> <video_folder> |
xhs | adapters/perf-data/xhs-explore/ | bash <adapters-dir>/xhs-explore/run.sh <note_id> <video_folder> |
linkedin | adapters/perf-data/linkedin-session/ | bash <adapters-dir>/linkedin-session/run.sh <activity_id> <video_folder> |
wechat_channels | adapters/perf-data/wechat-channels/ | bash <adapters-dir>/wechat-channels/run.sh <post_id> <video_folder> |
youtube | adapters/perf-data/youtube-data-api/(planned — batch 3, not yet available) | 调 YouTube Data API(需 API key) |
bilibili | adapters/perf-data/bilibili-stat/ | bash <adapters-dir>/bilibili-stat/run.sh <bvid> <video_folder> |
| 其他 | 无 adapter | 优雅降级到 Path A |
<adapters-dir>= 克隆源码处的cheat-on-content/adapters/perf-data/(install.sh 不复制 adapter 到 ~/.claude/skills,只复制 15 个 skill)。定位:find ~ -path '*/cheat-on-content/adapters/perf-data' -type d | head -1。
douyin-session 的特殊处理:
https://v.douyin.com/abc123)→ 短链解析 → 提取 aweme_id.auth/);不存在则提示用户先跑 python <adapter>/crawler.py login<video_folder>/report.md(adapter 的 renderer.py 已经按这个格式写)xhs-explore 的特殊处理:
https://www.xiaohongshu.com/explore/<note_id>?xsec_token=... 或 https://xhslink.com/xxx)→ 提取 note_id.auth-xhs/);不存在则提示先跑 python <adapter>/crawler.py loginview_count 等已写死);万一接口改版导致某项为 0,看 report.md 末尾 galaxy 原始 JSON,把新 key 加进 crawler.py 的 _normalize_notelinkedin-session 的特殊处理:
https://www.linkedin.com/feed/update/urn:li:activity:<id>/)或裸 activity_id → adapter 自动提取 activity_id.auth-linkedin/);不存在则提示先跑 python <adapter>/crawler.py loginextract.py 的 POST_METRICS 已存双语标签,万一某项为 None 看 .cheat-cache/linkedin-session-debug/post_<id>.txt 把新标签补进去wechat-channels 的特殊处理:
.auth-wechat-channels/python <adapter>/review.py login 并扫码;登录态只保存在内容项目本地report.md,但不落盘原始响应、请求体、完整后台 URL、后台截图、页面文本、评论者昵称或内部用户 IDbilibili-stat 的特殊处理:
https://www.bilibili.com/video/<BV号> 或 b23.tv 短链)或直接给 BV 号 → adapter 自动提取 BV 号crawler.py login 步骤、不碰 .auth/pip install -r <adapter>/requirements.txt任何 adapter 失败(cookie 过期 / 接口变化 / 网络)→ 优雅降级到 manual,提示用户:"adapter 调用失败,原因 [X]。改用 manual 模式——粘下面的数据"。不阻塞流程。
不管 Path A 还是 B,最终:
videos/<...>/report.md 含完整原始数据(数字 + top 评论)实绩数据格式(参考 prediction-anatomy.md 的复盘段格式):
### 实绩数据
- 播放:71.1w(落在 `30-100w` 桶内偏高,相对中枢 50w **+42%**)
- 点赞:2.4w(赞播比 3.38%)
- 评论:899(评播比 0.126%)
- 收藏:5251
- 分享:1.8w(分播比 2.53%,强)数据点之间的派生比率(赞播比、评播比、分播比)必须算出来——它们是单纯播放数无法暴露的信号。
top 评论关键词聚类:
对 prediction 文件里的每一项(推理因素表、关键校准假设、反事实场景),逐项判定:
### 哪些预测被验证 ✅ / 推翻 ❌
**验证 ✅**:
- 关键校准假设完全成立:本篇 71.1w / 谁问你了 11.7w = 6.07x,远超我押的 1.5-2x
- ER=5 主导情感传播力 → H1 强证据
- HP=5 验证:分播比 2.53% 与"金句被高频引用"匹配
**推翻 ❌**:
- 中枢 50w 被超出 +42%
- 反事实推理里"必须搭配强社会议题才能破 30w" 完全错误
- SR 押注("H2 SR 应上调")反向被推翻:SR 在情感向场景几乎不贡献关键纪律:
打分维度 / 公式 / bucket 边界相关的观察:
### 需要写进 rubric-memo.md 的新观察
1. **ER 在情感向场景的真实权重应 ≥ ×2.0**:与谁问你了 6x 流量比是 v2 rubric 最强的反事实证据
2. **议题分享冲动 (TS) 是隐藏维度**:joker / "她不一样" / 滤镜重构提供了安全的自嘲身份,转发不暴露处境,TS=5 的样本
3. ……每条观察必须可追溯到具体数据点(不写"情感很重要"——写"ER5/SR2 vs ER3/SR4 同 composite 下流量差 6x")。
Diff scripts/<id>.md(pre-shoot 草稿,可能是 cheat-seed 写或用户写)vs videos/<id>/script.md(实际拍摄稿——cheat-shoot 时用户提供的版本),找出改动且对流量有明显影响的部分:
| 用户做了什么 | 流量影响 | 是否提议追加 pattern |
|---|---|---|
| 砍掉某段 | 实绩 ≥ 中枢 → "砍掉没伤流量"——验证那段冗余 | 是,加到 script_patterns.md "用户改稿历史观察"表 |
| 加了某句 / 互动钩子 | 实绩超中枢 → 可能是新 pattern | 是,候选 Pattern N,标 ≥1 样本待验证 |
| 改了风格(如开头软化) | 高于同类样本 → 风格改动有效 | 是,候选 Pattern N |
| 没动结构 / 改动与流量无关 | — | 不追加 |
输出格式:
### 需要写进 script_patterns.md 的新 pattern 候选
1. **用户改稿模式**: 砍掉 [X 段] / 加了 [Y]
- 流量影响:实绩 [N] vs 中枢 [M],[偏差 / 命中]
- 建议:追加到 script_patterns.md 的"用户改稿历史观察"表
2. **新 pattern 候选 N**:[一句话描述]
- 单样本支持
- 触发条件:[何时该用]
- 建议:追加到 script_patterns.md 末尾的"新发现的 Pattern"段,标 ≥1 样本待验证询问用户:"要把这些追加到 script_patterns.md 吗?(yes / no / 选择哪几条)"。用户确认后才追加——避免把单点观察直接写成正式 pattern。
rubric 进化 ≠ 写作进化——两者解耦:
- rubric_notes.md 学的是"哪些维度真的预测流量"
- script_patterns.md 学的是"什么写法真的能起作用" 可能有交叉(如 MS 维度与"互动钩子" pattern),但记录在两个文件里是因为作用域不同——rubric 改了影响所有未来打分,pattern 改了影响所有未来 draft。
如果 videos/<id>/script.md 缺失(cheat-shoot 时用户标 script_lost) → 跳过 4b,没法 diff。
如果 script_consistency = "consistent"(用户拍时没改稿)→ 4b 仍然有意义(diff 也许是空),但可以快速跳过细查。
如果 script_consistency = "modified"(用户拍时改了)→ 4b 是核心,重点学这次改动 → 流量影响。
用 Edit 工具,仅追加到现有 ## 复盘 段(如有占位 (待填) 行先删除):
## 复盘
**复盘时间**: 2026-05-07(发布 T+3d)
**抓取时间**: 2026-05-07 09:30
**数据来源**: manual paste
### 实绩数据
[Phase 2 内容]
### Top 评论关键词
[Phase 2 内容]
### 哪些预测被验证 / 推翻
[Phase 3 内容]
### 需要写进 rubric-memo.md 的新观察
[Phase 4 内容]写完后再次校验:读取保存后的文件,对比所有 ## 预测... 段(v1 / v2 / legacy)的合并哈希应等于 Phase 0 cache 的合并哈希。任一段被改 → 报错并回滚。
按 observation-lifecycle.md 的 blind leak guard,追加到 rubric-memo.md 的 ## 观察记录 段。这里可以包含真实样本名、实绩数据、评论关键词和链接;这些内容绝不写入 rubric_notes.md:
### YYYY-MM-DD [标题简称] (id) — [一句话定性]
- 预测:composite=X.XX,bucket=Y
- 实绩:播放 / 点赞 / 评论 / 转发(带 T+Nd 标注)
- Top 评论关键词:[简短摘录 + 赞数]
- 判断:哪个维度被验证/推翻?为什么?
- Rubric 调整:[如果有,写明 "下次打 XX 类文章时改 YY"]
- 详见:[predictions/<file>.md]检测跨样本 pattern:扫描 rubric-memo.md 已有"观察记录",看新观察是否与某条已有观察形成 ≥2 样本支持。命中则在 rubric-memo.md 升级到"重大跨样本观察"段。只有在后续 /cheat-bump 落地时,才把已验证的规律抽象成通用语言写入 rubric_notes.md。
如 Phase 4b 用户回 "yes" 或选择性确认了某几条:
新 pattern 候选的格式(同 script_patterns.template.md 的 Pattern 11/12 示例):
### Pattern N(来自 [视频简称],单样本待验证)
**现象**:[Phase 4b 描述]
**原理**:[为什么有效——基于这一次观察的猜测]
**触发条件**:[何时该用]
**待验证**:需要 ≥2 样本支持才能升正式 pattern。跨样本 pattern 升正式:扫描"新发现的 Pattern"段,看是否有 ≥2 样本支持同一现象 → 升到核心 pattern 库 + 删 "待验证" 标记。
如用户在 Phase 4b 全否("no")→ 跳过 6b,rubric-memo.md 仍照写。
读 .cheat-state.json 的 consecutive_directional_errors 字段,按本次复盘判定向更新:
["high"] + 记录 deviation_magnitude(如 0.5x / 0.3x)["low"] + 记录 deviation_magnitudeClaude 判断是否提议 bump(不是固定门槛):
判断维度:
1. 连续同向次数(参考默认:≥3)
2. 单次偏差幅度(参考默认:>2x 或 <0.5x 算极端)
3. 偏差是否能解释为单一维度漏判(如 ER 或 SR 一致偏离)
4. 用户是否在复盘里反复提到同一现象
任一足够强 → 提议 bump:
- 3 次连续同向,每次都中等偏差 → 提议
- 1 次极端偏差(如 ≥10x),即使没连续 → 提议("一次性强信号")
- 2 次同向 + 评论区出现一致的反向证据 → 提议("评论 + 数据双信号")
不提议的情况:
- 3 次同向但每次都很小(<25%)→ 可能只是噪声
- 偏差跨多个维度无清晰方向 → bump 不知道改什么提议时输出:
🚨 检测到 [系统性偏差信号] / [极端单点偏差] 。
[简短描述:连续 N 次 / 1 次极端 / 评论双信号 等]
这可能是 rubric 系统性偏差的信号。建议:
- 跑 /cheat-bump 看是否需要升级公式
- 或先看 /cheat-status 详细分析
注:本次提议是 [default-aligned: 满足 ≥3 同向] / [judgment-driven: 1 次 10x 强偏差]更新 state file:
{
"calibration_samples": <+1>,
"pending_retros": [<剔除本次>],
"last_retro_at": "<ISO>",
"consecutive_directional_errors": [...]
}数据来源: manual paste 或 数据来源: adapter:douyin-session 写进复盘段/cheat-bump——避免一次操作做两件事early_retro: true,bump 时这种样本权重降级/cheat-publish 已登记 + 时间窗口达到consecutive_directional_errors 满 3 → 触发 /cheat-bump 提议calibration_samples +1(这是 cheat-status 显示进度的关键)© XBuilderLAB, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/cheat-retro of XBuilderLAB/cheat-on-content.
Open the folder on GitHubat commit 2d8211e
Content Prediction Retro next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Content Prediction Retro this skillXBuilderLAB/cheat-on-content | 7.2k | — | ~3.1k | Automated safety check: Notes | MIT | |
| SEO Planseranking/seo-skills | 160 | — | ~4.4k | Automated safety check: Pass | MIT | |
| Link In Bio And Trafficsocial-media-skills/skills | 116 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Track Online MentionsFlorianBruniaux/claude-code-ultimate-guide | 6.1k | — | ~2.4k | Automated safety check: Pass | CC-BY-SA-4.0 | |
| Google SEO APIsAgriciDaniel/claude-seo | 18k | 1 repos | ~4.2k | Automated safety check: Pass | MIT | |
| AnalyticsNexus-JPF/note-companion | 869 | 6 repos | ~2.2k | Automated safety check: Pass | MIT |
seranking/seo-skills
Build a phased SEO roadmap for a domain — quarter-by-quarter, tied to the site's competitive position, content gaps, technical debt, and AI Search readiness.
social-media-skills/skills
Link-in-bio and traffic strategy — convert social reach into clicks, subscribers, and owned audience.
FlorianBruniaux/claude-code-ultimate-guide
Searches the web for new mentions of the Claude Code Ultimate Guide or its author's public projects, checks them against YAML trackers and reports or adds the new ones.
AgriciDaniel/claude-seo
Pulls real Google data for SEO work: Search Console, PageSpeed Insights, CrUX field data, the Indexing API and GA4 organic traffic, through /seo google commands.
Nexus-JPF/note-companion
When the user wants to set up, improve, or audit analytics tracking and measurement.
zubair-trabzada/geo-seo-claude
Compares a baseline and a current GEO audit for a client, calculates score changes and action item progress, and writes a monthly progress report.
XBuilderLAB/cheat-on-content
Proposes and applies upgrades to a content-scoring rubric: a full formula bump with blind re-scoring and a cross-model audit, or a lighter bucket-boundary recalibration.
XBuilderLAB/cheat-on-content
Onboards a new user to the cheat-on-content workflow with a short question flow, creating the project scaffolding and optionally importing past video history.
XBuilderLAB/cheat-on-content
Imports scripts and engagement numbers from an account you want to emulate, then extracts content patterns and starting scoring signals from them.
XBuilderLAB/cheat-on-content
Upgrades an older .cheat-state.json to the current schema version by applying migration files in order, with dry-run, backup and stop-on-failure behavior.
XBuilderLAB/cheat-on-content
Turns content creation into a calibrated loop of scoring, blind prediction, post-publish review and rubric evolution, with a built-in rubric for opinion videos.
XBuilderLAB/cheat-on-content
Builds or refreshes an account's audience profile from the comments in its post retrospectives and writes it to audience.md for later topic and script work.
Categories
Chinese-language retro step that gathers a post's results after a set window, compares them with the earlier prediction and records lessons in rubric-memo.md. The feedback stage of a predict-then-review workflow for published content. It takes a prediction file or video folder, checks that the prediction sections are untouched, confirms the post was registered as published and that the retro window has passed, then collects the real numbers: plays, likes, comments, shares and saves, pasted by the user or fetched through an adapter.
Content Prediction Retro fits situations like: reviewing how a published post performed against its prediction; recording performance observations a few days after publishing; deciding whether prediction errors look systematic.
Run `npx skills add XBuilderLAB/cheat-on-content --skill cheat-retro -a claude-code`. Or copy the skill folder (skills/cheat-retro in XBuilderLAB/cheat-on-content) into .claude/skills/cheat-retro in your project. Claude Code loads it when a task matches its description.
Run `npx skills add XBuilderLAB/cheat-on-content --skill cheat-retro -a codex`. Or copy the skill folder (skills/cheat-retro in XBuilderLAB/cheat-on-content) into .agents/skills/cheat-retro in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add XBuilderLAB/cheat-on-content --skill cheat-retro -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cheat-retro, .gemini/skills/cheat-retro, .github/skills/cheat-retro and .opencode/skills/cheat-retro in your project.
Going by SKILL.md and its folder, Content Prediction Retro needs the command-line tools its instructions call (bash, python and pip). Our summary lists: A prediction file or video folder with a recorded publish date; rubric-memo.md and .cheat-state.json in the project root. Its frontmatter pre-approves these tools: Bash(*), Read, Edit, Write, Glob, Grep, Skill.
SKILL.md names 5 domains. In commands or code: v.douyin.com, xiaohongshu.com, xhslink.com, linkedin.com and bilibili.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Content Prediction Retro is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Content Prediction Retro: SEO Plan (seranking/seo-skills, 160 stars), Link In Bio And Traffic (social-media-skills/skills, 116 stars), Track Online Mentions (FlorianBruniaux/claude-code-ultimate-guide, 6.1k stars) and Google SEO APIs (AgriciDaniel/claude-seo, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
XBuilderLAB (a GitHub organization) maintains it in XBuilderLAB/cheat-on-content, which has 7,225 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 5, 2026.
Source: XBuilderLAB/cheat-on-content on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.