---
name: skill-publish-checklist
description: >-
  发布前完整性检查：逐项检查标题、封面、标签、格式、合规标记、链接、CTA 是否齐全，
  确保内容没有遗漏就能发布。当用户说"检查一下能不能发"、"发布前检查"、"checklist"、
  "查漏补缺"、"发之前看一眼"、"发布清单"、"漏了什么没"、"能发了吗"时触发。
  和 skill-quality-gate 的区别：quality-gate 做深度合规审核和质量评分，
  publish-checklist 只做"有没有漏东西"的快速完整性检查。
layer: publish
---

# 发布前完整性检查

> 发布前的最后一道关卡，逐项检查内容是否齐全，防止漏标题、漏封面、漏标签等低级错误。

## 与其他 SKILL 的区别

| SKILL | 定位 | 检查深度 |
|---|---|---|
| **publish-checklist**（本 SKILL） | 完整性检查——"有没有漏东西" | 浅层，逐项打勾 |
| skill-quality-gate | 深度合规 + 质量审核 | 深层，评分 + 返工 |
| skill-persona-check | 人设一致性 | 风格/调性维度 |
| skill-risk-scanner | 原创度 + 版权 | 抄袭/侵权维度 |

## 输入

用户提供待发布的内容，支持以下形式：

- **产物目录路径**：指向 `outputs/主题名/` 下的完整产物目录（含 meta.json、正文、图片等）
- **单篇文案文本**：直接贴文案内容
- **混合**：文案 + 图片路径 + meta.json

可选指定目标平台（小红书、抖音、微博、公众号、LinkedIn、X 等），未指定时做通用检查。

## 输出

输出结构化检查报告，JSON 格式：

```json
{
  "status": "ready | not_ready",
  "score": "7/10",
  "platform": "平台名或generic",
  "checklist": [
    {
      "item": "检查项名称",
      "status": "pass | fail | warn",
      "detail": "具体说明"
    }
  ],
  "blocking_issues": ["必须修复才能发布的问题"],
  "warnings": ["建议修复但不阻塞发布的问题"],
  "summary": "一句话总结：可以发 / 还差什么"
}
```

- `status` 为 `ready`：所有必检项通过，可以发布
- `status` 为 `not_ready`：存在阻塞问题，列出待修复项

## 执行步骤

### Step 1 — 识别内容形态与目标平台

1. 判断输入是产物目录还是单篇文案
2. 如果有 `meta.json`，读取其中的 `platform`、`type`（图文/视频）、`title`、`tags` 等字段
3. 如果有 Profile 上下文，读取 `platform` 字段确定目标平台
4. 无法确定平台时，使用通用检查清单

### Step 2 — 逐项检查（通用清单）

按以下维度逐项检查，标记 pass / fail / warn：

**必检项（fail 则阻塞发布）：**

| # | 检查项 | 检查内容 |
|---|---|---|
| 1 | **标题** | 是否有标题；标题长度是否在平台限制内 |
| 2 | **正文/内容** | 是否有实质内容；是否为空或占位符 |
| 3 | **封面/首图** | 图文帖是否有封面图；视频是否有封面帧 |
| 4 | **格式完整** | Markdown 结构是否完整；图片引用是否有效；链接是否可访问 |

**建议项（warn 但不阻塞）：**

| # | 检查项 | 检查内容 |
|---|---|---|
| 5 | **标签/Hashtags** | 是否有标签；数量是否在 3-10 个合理区间 |
| 6 | **CTA（行动号召）** | 是否有引导互动的语句（点赞、收藏、关注、评论等） |
| 7 | **链接有效性** | 正文中的 URL 是否格式正确 |
| 8 | **图片规格** | 图片尺寸是否符合平台要求（竖版/横版/正方形） |
| 9 | **文案长度** | 字数是否在平台推荐范围内 |
| 10 | **Emoji 使用** | 是否有适当 emoji 增强可读性（视平台而定） |

### Step 3 — 平台特有检查（有平台信息时追加）

根据目标平台追加检查项：

**小红书：**
- 卡片数量是否在 3-9 张
- 每张卡片文字是否 ≤ 80 字
- 是否有 caption（发布配文）
- 封面是否为 3:4 竖版（1080×1440，小红书标准比例）

**抖音/视频号：**
- 视频时长是否在限制内
- 是否有字幕文案
- 封面是否有吸引力标题

**微博：**
- 正文是否 ≤ 2000 字
- 话题标签格式是否正确（#话题#）

**公众号：**
- 是否有摘要/导语
- 是否有原文链接
- 封面图尺寸是否为 2.35:1

**X/Twitter：**
- 单条是否 ≤ 280 字符
- 是否需要拆分为 thread

**LinkedIn：**
- 正文是否 ≤ 3000 字符
- 是否有专业性 CTA

> 以上平台字数/尺寸为**参考值（as of 2026-07）**，以平台最新规则为准（如 X Premium 已放宽单条字数上限）。

### Step 4 — 生成检查报告

1. 汇总所有检查项结果
2. 统计通过数 / 总数，计算完成度分数
3. 区分阻塞问题（blocking_issues）和建议（warnings）
4. 判定 `status`：有任何 fail 项则为 `not_ready`，否则为 `ready`
5. 生成一句话总结

### Step 5 — 输出结论与建议

- `ready`：告知用户可以发布，列出优化建议（如有）
- `not_ready`：明确列出缺失项，给出具体补全指引

## Profile 感知

- **有 Profile**：读取 `platforms.md` 确定目标平台，启用平台特有检查项；读取 `style.md` 辅助判断封面风格是否匹配；读取 `identity.md` 检查账号名称等信息完整性
- **无 Profile**：只做通用完整性检查（Step 2），跳过平台特有检查；报告中附注"如提供账号 Profile（含平台信息），可启用平台特有检查项"

> 自研溯源与参考项目见同目录 `EASEL-META.md`。
