# Cheat Persona

从复盘评论数据派生 / 刷新账号的受众画像，写入 audience.md。这是和 rubric 平行的第二个派生物, , rubric 答"怎么打分"，persona...

- Repository: https://github.com/XBuilderLAB/cheat-on-content (7435 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add XBuilderLAB/cheat-on-content --skill cheat-persona -g -a claude-code -y`
Codex: `npx skills add XBuilderLAB/cheat-on-content --skill cheat-persona -g -a codex -y`
Cursor: `npx skills add XBuilderLAB/cheat-on-content --skill cheat-persona -g -a cursor -y`
Gemini CLI: `npx skills add XBuilderLAB/cheat-on-content --skill cheat-persona -g -a gemini-cli -y`

## Description

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

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /cheat-persona, 受众画像派生

从 `predictions/*.md` 复盘段的评论数据，聚类出账号真实受众画像，写入 `audience.md`。

---

## 核心定位

persona 是和 rubric **平行**的第二个派生物，**不是 rubric 的一部分**：

```
复盘数据（评论 + 完播 + 转粉）
   ├──→ rubric 进化（cheat-bump）, , "怎么打分"
   └──→ 受众画像（cheat-persona）, , "谁在看"
两者都喂给 cheat-seed，但用途不同
```

- **rubric**：这稿子会不会爆 → 喂 cheat-predict 打分
- **persona**：谁会因为这条多看 3 秒 / 留评论 / 转发 → 喂 cheat-seed 选题 + 写稿

**绝不混**：persona 不进打分公式。rubric 的 AB 维度（受众广度）可以参考 persona，但那是 cheat-bump 的事，不是这里。

## ⚠️ 污染隔离（不可省）

`audience.md` 从复盘评论派生 = **含已发布作品的实绩信号**。因此：

- `audience.md` 在 [cheat-score-blind](../cheat-score-blind/SKILL.md) 的 hard refusal list 里，refusal_code `blocked_audience`
- persona 影响 cheat-seed **写什么**（creative direction），不影响 cheat-predict **怎么打分**（blind sub-agent 永远不读 audience.md）
- 这是干净的：persona 塑造的内容进了成稿，blind sub-agent 照成稿本身打分, , 没有 leak。leak 只会发生在 sub-agent 能读 audience.md "因为这受众爱 X 所以加分" 的情况，而它读不到

## Overview

```
[用户：构造受众画像 / 更新 persona]
  ↓
[Phase 0: 收集数据, 扫 predictions/*.md 复盘段评论 + benchmark.md]
  ↓
[Phase 1: 数据量判定 → 派生 Confidence 等级]
  ↓
[Phase 2: 评论聚类, 自我认同 / 情绪寄存 / 反驳点 / 语言]
  ↓
[Phase 3: persona × rubric 交叉检验]
  ↓
[Phase 4: 写 audience.md（覆盖式重建，header 记 version + last_rebuilt）]
  ↓
[Phase 5: 控制台报告 + 跟上次画像的 diff]
```

## Constants

- **AUDIENCE_PATH = audience.md**, 受众画像落盘位置
- **MIN_RETROS_FOR_DATA_GROUNDED = 3**, 复盘数 ≥3 才算"数据扎实"（可基于评论质量软判断）
- **MIN_COMMENTS_PER_TRAIT = 3**, 一条"验证特征"至少要 3 条评论证据，否则降到"假设特征"
- **SEED_FROM_BENCHMARK = auto**, 无自己复盘数据但有 benchmark 时，seed 一份未验证画像

> 💡 调用覆盖：`/cheat-persona, seed-from-benchmark`（强制用 benchmark seed）/ `, rebuild`（即使数据没变也重建）

## Inputs

| 来源 | 用途 |
|---|---|
| `predictions/*.md` 的 `## 复盘` 段 | **主数据源**, , top 评论（带赞数）。persona 的金矿 |
| `videos/*/report.md` | 完播 / 转粉率, , 薄信号，推"留得住 vs 留不住" |
| `benchmark.md` | 冷启动 seed, , "看对标的人 ≈ 你想要的人" |
| `rubric_notes.md` | Phase 3 交叉检验用, , persona 食欲 vs rubric 校准现实 |
| `audience.md`（如已存在） | 上一版画像，用于 Phase 5 diff |

## Workflow

### Phase 0: 收集数据

The rest: https://github.com/XBuilderLAB/cheat-on-content/blob/HEAD/skills/cheat-persona/SKILL.md
