Blogger Distiller
otter1101/blogger-distiller
A skill your agent uses when the user wants to analyze or distill a blogger/account on Xiaohongshu or Douyin, benchmark a target creator, or diagnose their own content strategy.
Scores a single draft against the project's rubric and prints the composite to the console only, with no files written and no prediction made.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add XBuilderLAB/cheat-on-content --skill cheat-score -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install XBuilderLAB/cheat-on-content cheat-score --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-score .claude/skills/cheat-score && 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-score" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-score into .claude/skills/cheat-score/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-score", 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-scoreType 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-score -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install XBuilderLAB/cheat-on-content cheat-score --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-score .agents/skills/cheat-score && 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-score" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-score into .agents/skills/cheat-score/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-score", 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-score -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install XBuilderLAB/cheat-on-content cheat-score --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-score .cursor/skills/cheat-score && 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-score" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-score into .cursor/skills/cheat-score/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-score", 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-score--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-score -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install XBuilderLAB/cheat-on-content cheat-score --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-score .gemini/skills/cheat-score && 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-score" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-score into .gemini/skills/cheat-score/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-score", 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-scoreInstalls 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-score -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-score .github/skills/cheat-score && 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-score" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-score into .github/skills/cheat-score/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-score", 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-score -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-score --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-score .opencode/skills/cheat-score && 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-score" agent skill from https://github.com/XBuilderLAB/cheat-on-content/tree/main/skills/cheat-score into .opencode/skills/cheat-score/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cheat-score", 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-scoreScores a single draft against the project's rubric and prints the composite to the console only, with no files written and no prediction made.
This lightweight skill rates one draft against the rubric in rubric_notes.md so you can decide whether it deserves a formal prediction. It reads .cheat-state.json for the current rubric version, telling you to run /cheat-init first if that file is missing, then parses the formula, dimensions and weights. When the rubric format looks hand-edited, it asks you which formula applies rather than guessing.
Scoring is delegated through the Task tool to a blind cheat-score-blind sub-agent, whose prompt must not contain view counts, earlier predictions or retro material so the scores stay uncontaminated. The main agent parses the returned JSON, computes the composite from the formula, leaves the sub-agent's dimension scores untouched, and prints a table with reasons, or scores only when OUTPUT_DETAIL is set to compact. Nothing is written to disk. The skill text is mostly Chinese.
6 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:
ReadGlobGrepFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Cheat Score Draft Rater loads about 1.2k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 329 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 found no risky patterns in SKILL.md.
Automated 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). 329 words, ~1,184 tokens.
.claude/skills/cheat-score/SKILL.md (or your agent's skills folder).打分但不预测。用户用它快速看稿子的 composite,决定是否值得进入正式预测流程。
[用户:打分这篇 draft.md]
↓
[读 draft.md + rubric_notes.md]
↓
[逐维度打 0-5 + 写一行理由 + 算 composite]
↓
[控制台输出:评分 + composite + 推荐下一步]
↓
[结束 — 不写任何文件]💡 调用时覆盖:
/cheat-score draft.md — OUTPUT_DETAIL: compact
| 必填 | 来源 |
|---|---|
<draft-path> | 用户作为参数传入;如缺失则在对话里询问 |
rubric_notes.md | 用户项目根 |
.cheat-state.json | 用户项目根(用于读当前 rubric_version 与 mode) |
.cheat-state.json → 不存在则提示用户先跑 /cheat-init,停止<draft-path> → 不存在或无内容 → 报错并停止rubric_notes.md 找到当前生效的公式段(一般在"当前评分维度"或"综合分公式"位置)从 rubric_notes.md 解析出:
ER×1.5 + SR×1.5 + HP×1.5 + QL + NA + AB + SAT)/ 8.5 × 2.0)如果 rubric_notes.md 格式与预期不符(用户手改过结构)→ 询问用户当前公式是哪一行,不要自己猜。
主对话已经被用户对话 / 已发数据 / 历史 retro 段污染——inline 打分等于带着后视镜判分。
改成通过 Task tool 调 /cheat-score-blind sub-agent,主 Claude 只做调度 + review。详见 skills/cheat-score-blind/SKILL.md。
Task prompt 模板(只能含下面这些):
Spawn cheat-score-blind sub-agent.
Input:
script_path: <用户给的 draft path>
rubric_notes_path: rubric_notes.md
Task: 按 rubric_notes 当前公式给上面 script 打分。返回严格 JSON(见 cheat-score-blind SKILL.md Phase 2 schema)。
不要读 state file / predictions/ / videos/ 任何其他文件。
不要询问用户 —— 你没有用户。禁止塞进 Task prompt 的东西(cheat-score-blind/SKILL.md 的"主 Claude 调用契约"段):
predictions/*.md 路径调用前 grep 自检:echo "<prompt>" | grep -Ei '播放|阅读|点赞|评论数|实际|retro|复盘|实绩|w$|万$' 命中 → 改 prompt 重发。
sub-agent 返回严格 JSON。主 Claude:
self_check.any_contamination_signal == false,否则警告User Override 但 sub-agent 原始分留档如果 sub-agent 返回 refusal != null:
blocked_contaminated_input → 报告 Task prompt 含违禁字段,让主 Claude 重发script_path_invalid → 检查路径rubric_unparseable → 提示用户 rubric_notes.md 损坏non_blind_warning → 仍接受 dimensions(但 confidence 全 medium),警告按当前公式算综合分。控制台输出(OUTPUT_DETAIL=full):
📊 [draft.md 短标题] — 打分(rubric: v2)
| 维度 | 分 | 理由 |
|---|---|---|
| ER (情感共鸣) | 5 | "半夜三点翻聊天记录" 极端具象 |
| HP (钩子强度) | 5 | IS 句一句锁定受众 |
| QL (金句密度) | 5 | MVP 句"间歇性希望"独立可传 |
| NA (叙事性) | 3 | 平铺直叙,弱弧线 |
| AB (受众广度) | 5 | 暗恋/前任普适 |
| SR (社会议题共振) | 2 | 纯个人情感,无社会托底 |
| SAT (讽刺深度) | 4 | 致谢段自指反讽 |
公式:(ER×1.5 + SR×1.5 + HP×1.5 + QL + NA + AB + SAT) / 8.5 × 2.0
composite = (5×1.5 + 2×1.5 + 5×1.5 + 5 + 3 + 5 + 4) / 8.5 × 2.0 = **8.24**
📍 落在 30-100w 桶(基于 starter-rubrics 的 bucket 边界)
下一步建议:
- 如果你已写定最终稿、准备发布 → 说 "启动预测"
- 如果想再改稿子 → 改完再打一次(多次打分不留痕迹)
- 如果想看历史相近 composite 的样本 → 说 "找 composite 8.0-8.5 的锚点"OUTPUT_DETAIL=compact 时仅输出分数表 + composite,不附理由列。
/cheat-predict。原因:predict 必须走 blind check + 写 immutable 日志,score 跳过这些--skip-blind)。score 是轻量探索,没理由放弃隔离。如真的 Task tool 不可用 → 提示用户配置后再试cheat-predict 的前置探索:用户可以反复 score 不同稿子版本,确定一份再 predict.cheat-state.json——这是无副作用操作© 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-score of XBuilderLAB/cheat-on-content.
Open the folder on GitHubat commit 2d8211e
Cheat Score Draft Rater 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 |
|---|---|---|---|---|---|---|
| Cheat Score Draft Rater this skillXBuilderLAB/cheat-on-content | 7.2k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Blogger Distillerotter1101/blogger-distiller | 692 | — | ~3.8k | Automated safety check: Notes | MIT | |
| Blog Post Draftingluongnv89/claude-howto | 42k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Linkedin Content Plannersergebulaev/linkedin-skills | 4.3k | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| WeChat Hot Article AnalysisSpaceZephyr/creator-buddy | 1.6k | — | ~847 | Automated safety check: Pass | None | |
| Ralph Copywritermuratcankoylan/ralph-wiggum-marketer | 778 | — | ~2.4k | Automated safety check: Pass | None |
otter1101/blogger-distiller
A skill your agent uses when the user wants to analyze or distill a blogger/account on Xiaohongshu or Douyin, benchmark a target creator, or diagnose their own content strategy.
luongnv89/claude-howto
Guides drafting a blog post from an idea and optional source material: research, brainstorming, outlining and version-tracked drafts, with user approval at each step.
sergebulaev/linkedin-skills
Generate a 7-day LinkedIn content plan from a theme, audience, and pillars.
SpaceZephyr/creator-buddy
Fetches hot WeChat Official Account articles by sector or keywords and produces a data file and an HTML report with rankings, style patterns and writing references.
muratcankoylan/ralph-wiggum-marketer
A skill your agent uses when the user asks to "analyze my content", "learn my writing style", "research competitors", "find content angles", "improve my blog", "write like me", "embody my brand…
davila7/claude-code-templates
Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.
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
Scores a single draft against the project's rubric and prints the composite to the console only, with no files written and no prediction made. md so you can decide whether it deserves a formal prediction.json for the current rubric version, telling you to run /cheat-init first if that file is missing, then parses the formula, dimensions and weights.
Cheat Score Draft Rater fits situations like: getting a quick composite score for a draft before deciding whether to run a prediction; seeing per-dimension reasons for a post draft; checking a draft against the current rubric with compact output.
Run `npx skills add XBuilderLAB/cheat-on-content --skill cheat-score -a claude-code`. Or copy the skill folder (skills/cheat-score in XBuilderLAB/cheat-on-content) into .claude/skills/cheat-score in your project. Claude Code loads it when a task matches its description.
Run `npx skills add XBuilderLAB/cheat-on-content --skill cheat-score -a codex`. Or copy the skill folder (skills/cheat-score in XBuilderLAB/cheat-on-content) into .agents/skills/cheat-score 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-score -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-score, .gemini/skills/cheat-score, .github/skills/cheat-score and .opencode/skills/cheat-score in your project.
SKILL.md names no scripts, command-line tools or credentials: Cheat Score Draft Rater is instructions for the agent only. Our summary lists: A project set up with /cheat-init, which creates .cheat-state.json; A rubric_notes.md file in the project root; The cheat-score-blind sub-agent skill. Its frontmatter pre-approves these tools: Read, Glob, Grep.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Cheat Score Draft Rater is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.7k 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 Cheat Score Draft Rater: Blogger Distiller (otter1101/blogger-distiller, 692 stars), Blog Post Drafting (luongnv89/claude-howto, 42k stars), Linkedin Content Planner (sergebulaev/linkedin-skills, 4.3k stars) and WeChat Hot Article Analysis (SpaceZephyr/creator-buddy, 1.6k 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.