skill-post-scorer · git:20260828.21694dd · 2026-08-28 · sha256 3042e344ee8dd74b

skill-post-scorer git:20260828.21694ddA

Immutable. This exact content is served forever at /api/v1/blob/3042e344ee8dd74b.

---
name: skill-post-scorer
description: >-
  对社媒帖子草稿进行互动潜力评分,基于历史表现数据输出结构化评分卡。
  当用户说"帖子打分""评分""这条能火吗""发布前评估""内容质量分""评分卡""草稿评估"时使用。
  和 skill-topic-evaluator 的区别:evaluator 评还没做的选题潜力,本 SKILL 评已写好的草稿质量;
  和 skill-social-performance-review 的区别:本 SKILL 评单条草稿(发布前),review 做月度组合复盘(发布后)。
layer: attribute
---

# 帖子表现评分

> 对社媒帖子草稿进行互动潜力评分,基于历史表现数据输出结构化评分卡。

**加载后立即开始评分流程,不做摘要或等待确认。**

## 输入

用户 prompt 中提供待评分的帖子草稿,支持以下形式:

- **文本内容**:直接粘贴帖子文案
- **文件路径**:指向 `outputs/` 中的草稿文件
- **平台指定**:可选,指定目标平台(小红书、抖音、微博、知乎、公众号、B站等)

示例 prompt:
```
Execute /skill-post-scorer
帖子:
我花了3年时间才明白一个道理:
最好的内容不是"写"出来的,而是"提炼"出来的。
以下是我总结的5个内容提炼方法...
```

## 输出

输出代码块格式的评分卡:

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
帖子表现评分卡
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
钩子强度        ██████████  8/10
声音匹配度      ███████░░░  7/10
价值密度        ████████░░  8/10
结构与格式      ███████░░░  7/10
发布就绪度      ██████░░░░  6/10
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
总分            36/50
判定            值得发布,建议优化钩子
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

改进建议:
1. [最弱维度] 具体修改建议
2. ...
```

## 执行步骤

### 第一步:获取帖子

读取用户粘贴的帖子内容。如果 prompt 中没有帖子文本,主动询问用户提供。

### 第二步:加载评分数据

按优先级获取表现数据:

1. **Profile 中的历史数据**:检查 `=== EASEL ACCOUNT PROFILE ===` 标记,读取 `performance_data` 路径指向的历史帖子数据
2. **用户提供数据**:询问用户是否有历史帖子导出数据(各平台创作者中心/后台可导出 CSV/Excel,或整理成 JSON 数组)
3. **通用基准**:以上都没有时,使用 `references/fallback-benchmarks.md` 中的基准数据

### 第三步:分析高表现帖子

> **互动分与 Top 10% 筛选交给脚本,LLM 只做特征提炼。** 由
> [`scripts/score.py`](scripts/score.py) 完成(复用
> `../../shared/scripts/social_stats.py` 的 `engagement_score`)。

有历史/用户数据时,把帖子整理成 JSON 数组(每条含点赞与评论字段),调用:

```bash
python3 skills/openclaw/skill-post-scorer/scripts/score.py top --input history.json
python3 skills/openclaw/skill-post-scorer/scripts/score.py top --input history.json --top-pct 5
```

脚本自动:按 `互动分 = 点赞 + 评论×3` 逐条计算(字段兼容 likes/reactions/点赞、
comments/评论)、按互动分降序、算出 Top N% 门槛与分布(均值/中位数/最高/最低)、
样本量不足警告。**LLM 拿到脚本输出的 Top 帖子后**,提取其共性特征:

- 开头钩子类型(提问、数据、故事、反常识)
- 文本长度和段落节奏
- 格式特征(列表、分隔、emoji 使用)
- 行动号召(CTA)类型
- 主题分类
- 句式节奏(长短交替、断句频率)

无历史数据时跳过本步,直接用 `references/fallback-benchmarks.md` 的通用模式特征。

### 第四步:五维评分

按 5 个维度打分,每项 1-10 分,总分 50 分。

评分标准详见 `references/scoring-criteria.md`。

| 维度 | 评判重点 |
|------|----------|
| 钩子强度 | 前两句是否能阻止滑动,制造好奇或共鸣 |
| 声音匹配度 | 是否契合账号一贯的语气、人设和表达习惯 |
| 价值密度 | 每段是否提供具体洞察,而非空泛陈述 |
| 结构与格式 | 排版是否适配目标平台的阅读习惯 |
| 发布就绪度 | 能否直接发布,还是需要润色或补充 |

**评分纪律:**
- 诚实评分,不做讨好
- 除非帖子确实匹配 Top 10% 的模式特征,否则不给 8 分以上
- 有真实数据时用数据说话,没有时明确标注"基于通用基准"

### 第五步:输出评分卡

按照上方「输出」部分的格式输出评分卡,包含:
- 五维分数(含进度条可视化)
- 总分和判定结论
- 针对最弱维度的具体改进建议

判定标准:
- **40-50**:优秀,直接发布
- **30-39**:值得发布,建议优化标注的弱项
- **20-29**:需要修改,重点改进最弱的 1-2 个维度
- **< 20**:建议重写

> 更细分档(含各边界档的判定措辞)见 `references/fallback-benchmarks.md`,两处口径一致。

### 第六步:提供改写服务

输出评分卡后,主动提出:

> 是否需要我改写得分最低的部分?

如果用户同意,针对最弱维度进行定向改写,保留其他部分不变,改写后重新评分对比。

## Profile 感知

### 有 Profile

- 读取 `voice` / `tone` 字段,作为「声音匹配度」的评判标准
- 读取 `platform` 字段,调整「结构与格式」的平台适配规则
- 读取 `performance_data` 字段指向的历史数据文件,用真实数据替代通用基准
- 读取 `topics` / `niche` 字段,评估内容是否在账号定位范围内

### 无 Profile

- 「声音匹配度」退化为通用可读性评估
- 「结构与格式」使用通用社媒最佳实践
- 使用 `references/fallback-benchmarks.md` 中的基准数据
- 评分卡末尾附注:"如提供账号 Profile(含历史表现数据),评分将更精准"