# Cover Generator

> Claude Code 教程封面图生成技能：根据教程文章内容自动生成配套公众号封面图。 封面图包含教程标题（艺术字形式）和IP形象（手绘线描小猫）， 比例为2.35:1的超宽屏格式，风格与教程主题、情感基调相匹配。 当用户出现以下行为时自动触发： - 说"请为{文章路径}生成封面" - 说"生成封面"、"制作封面"、"生成封面图"并附带文章路径或标题 - 说"为这篇教程/文章生成封面图"

- Skill: `lingxiaobc/cover-generator` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add lingxiaobc/cover-generator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lingxiaobc/cover-generator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: lingxiaobc (https://skillmd.com/u/lingxiaobc)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lingxiaobc/cover-generator

---


# 公众号封面图生成技能

## 技能定位

本技能专为**微信公众号**封面图生成设计，核心特点：

- **IP形象**：手绘线描风格小猫（戴圆框眼镜、手持原子权杖），**黑白灰**，严谨学术气质，造型固定，出现在封面右侧
- **标题艺术字**：风格与文章主题高度贴合的创意艺术字，展示于左侧，可彩色
- **背景**：可彩色，简约风格，色调与文章内容和情绪匹配
- **比例**：21:9 超宽屏比例（API支持的最接近2.35:1的规格）

---

## 输入处理

根据 `$ARGUMENTS` 或用户上下文获取文章路径：

- **本地文件路径**：使用 `Read` 工具读取文章内容
- **仅提供标题**：直接使用标题，跳过文章读取步骤
- **未提供任何输入**：询问用户"请提供需要生成封面的文章路径或标题"

---

## 生成工作流程

### 第零步 — 说明流程并确认

在执行任何操作之前，向用户说明本次任务的完整流程与目标，格式如下：

> **即将执行：公众号封面图生成**
>
> **输入来源：** [本地文件：路径 / 仅标题：xxx]
>
> **执行步骤：**
> 1. 从文件名提取文章标题
> 2. 读取文章内容，分析核心主题、情感基调与关键词
> 3. 根据情感基调，确定 IP 形象（Q版小猫）的微表情与行为描述
> 4. 根据文章标题、IP行为、背景色调，撰写完整的生图提示词（`image_prompt`）
> 5. 确定图片输出目录（文章所在目录下的 `cover/` 子文件夹）
> 6. 调用生图脚本，传入标题、`image_prompt` 和输出目录，生成封面图
> 7. **用主程序自身视觉审查图片是否满足要求**（禁止用 Read 工具读取图片）
> 8. 展示结果并告知保存路径，提示可调整方向
>
> **目标：** 生成与文章主题、情绪高度匹配的公众号封面图（21:9，IP在右，标题在左）。
>
> 请确认是否按此流程执行，或告知需要调整的地方。

**等待用户确认后，方可进入第一步。**

---

### 第一步 — 提取文章标题

从文件路径中提取标题：
- 取文件名（去掉扩展名），即为文章标题
- 例如：`我用AI写了一篇文章.md` → 标题为 `我用AI写了一篇文章`

### 第二步 — 读取文章内容

使用 `Read` 工具读取文章，提取：
- 文章的核心主题与关键词
- 文章的整体情感基调（严肃/轻松/震惊/励志等）
- 文章中最有视觉感的场景或概念（用于构图参考）

### 第三步 — 设定IP形象微表情与行为

**分析步骤：先判断情感基调，再选择微表情组合，最后确定动作。**

#### 3.1 判断文章情感基调

从文章中识别主导情绪（可多选，取最强的一个）：

| 情感基调 | 识别特征 |
|---------|---------|
| 自信/成就感 | 展示成果、分享经验、"我做到了" |
| 专注/探究 | 技术拆解、原理分析、深度讲解 |
| 好奇/发现 | 新工具、新方法、"发现了一件事" |
| 沉思/批判 | 观点输出、反思、质疑现象 |
| 从容/鼓励 | 励志、降低门槛、"你也可以" |

#### 3.2 微表情词汇库（严格在此范围内选取）

**眼神**：眼神专注 / 目光锐利 / 眼神平静 / 微微眯眼 / 眼中带光

**嘴部**：嘴角微微上扬 / 抿嘴专注 / 嘴角平静 / 微微扬起嘴角

**眉毛**：眉头微皱 / 眉毛舒展 / 单侧眉毛微扬

**姿态**：昂首挺立 / 微微前倾 / 身体放松 / 沉稳站立

**尾巴**：尾巴自然垂落 / 尾巴微微翘起 / 尾巴缓缓摆动

**权杖动作**：权杖指向前方 / 权杖轻搭肩上 / 权杖竖立握持 / 用权杖指向某物

#### 3.3 情感基调 → 微表情组合推荐

| 情感基调 | 推荐微表情组合 | 权杖动作 |
|---------|-------------|---------|
| 自信/成就感 | 眼神专注、嘴角微微上扬、昂首挺立 | 权杖轻搭肩上或指向前方 |
| 专注/探究 | 眼神专注、抿嘴专注、微微前倾 | 用权杖指向某物（如文件、屏幕） |
| 好奇/发现 | 眼中带光、单侧眉毛微扬、身体放松 | 权杖竖立握持，头微微侧倾 |
| 沉思/批判 | 目光锐利、眉头微皱、沉稳站立 | 权杖竖立握持，托腮或手扶眼镜 |
| 从容/鼓励 | 眼神平静、嘴角微微上扬、身体放松 | 权杖指向前方，尾巴微微翘起 |

#### 3.4 行为描述撰写规范

- **长度**：25-45字，完整描述表情 + 姿态 + 权杖动作
- **格式示例**：`眼神专注，抿嘴沉稳，微微前倾，用原子权杖指向桌上摊开的文件，尾巴自然垂落`
- **禁止**：描述彩色、描述改变造型、描述过于夸张的表情（大笑、哭泣、惊叫等）

### 第四步 — 撰写生图提示词（image_prompt）

基于前三步的分析结果，撰写完整的 `image_prompt` 字符串，作为脚本的 arg2 传入。

`image_prompt` 必须覆盖以下四个维度，全部使用中文，内容根据当前文章动态生成：

#### 4.1 标题渲染要求

- 写明完整标题内容，逐字列出，禁止遗漏
- 若标题较长（超过 12 字），明确给出分行方案（每行建议字数），例如：
  > 标题共 N 字，建议分 X 行显示，第一行「……」，第二行「……」，第三行「……」
- 强调"一字不少、不得截断、不得改写"

#### 4.2 IP 形象姿态与表情

- 将 Step 3 得出的行为描述完整写入
- 强调"不得沿用参考图站立握杖姿态"
- 若行为描述中不含握杖动作，须注明"权杖仅作背景道具，垂直靠墙或立于地面"

#### 4.3 背景与配色

- 根据文章情感基调，给出具体的背景色方向（如：深蓝渐变、暖灰纯色、青绿渐变等）
- 整体不超过 3 种主色

#### 4.4 构图与技术约束

- 左侧标题 / 右侧 IP 形象，IP 不遮挡标题
- 原子权杖若出现，线条清晰完整，仅允许垂直或斜靠姿态
- IP 形象黑白手绘素描风，严禁彩色或萌系改造

#### 撰写完成后展示给用户确认

将写好的 `image_prompt` 以代码块形式完整输出，让用户核对内容后再调用脚本。

---

### 第五步 — 确定输出目录

图片输出目录规则：
- **本地文件**：在文章所在目录下创建 `cover/` 子目录
  ```
  文章路径：P:/article_writing/draft/我的文章.md
  输出目录：P:/article_writing/draft/cover
  ```
- **未指定文件**：使用项目默认目录（脚本自动处理，调用时不传第三个参数）

### 第六步 — 调用生图脚本

运行以下命令生成封面图，其中 `image_prompt` 为第四步撰写的完整提示词：

```bash
python .claude/skills/cover-generator/scripts/cover_generator.py "文章标题" "image_prompt内容" "输出目录绝对路径"
```

脚本执行后输出图片路径（格式：`File saved to to: <路径>`），从中提取完整路径。

### 第七步 — 审查生成结果（必须执行）

**【强制】此步必须用主程序自身理解图片，严禁通过 Read 工具读取图片来判断。**

生成图片后，主程序必须**直接用眼睛看清楚**生成的封面图，自主判断是否满足以下所有要求：

**审查清单：**
1. **标题完整性**：标题全文是否一字不漏地完整显示？是否有截断？
2. **IP形象正确性**：是否只有一只小猫？是否保持黑白手绘线描风格？原子权杖是否清晰？
3. **构图是否合理**：IP在右侧、标题在左侧？是否有严重遮挡或重叠？
4. **背景与风格**：是否符合简约原则？是否有不应有的复杂装饰？
5. **整体情绪契合度**：封面是否传达了文章的核心情绪？

**审查结论的处理方式：**

- **若所有检查项均通过**：进入第八步，正常向用户展示结果
- **若有任何一项不通过**：立即向用户汇报具体问题（如"标题被截断"、"出现了两个IP形象"等），并询问是否需要重新生成

**禁止行为：**
- 不得用 Read 工具读取图片来"判断"图片内容
- 不得在未经自身视觉审查的情况下直接声称"图片已生成，请查看"
- 不得在未看清图片的情况下反复调用生图模型（每次调用前必须先审查上一张图的问题）

---

### 第八步 — 展示结果

向用户展示生成结果，说明：
- 图片保存路径
- 使用的文章标题
- IP形象的行为描述

并提示用户如果对结果不满意可以指定以下调整方向：
- 调整IP形象的表情或行为
- 更换背景风格或配色
- 修改标题的艺术字样式

---

## 执行约束

- **IP形象必须黑白**：IP形象只能使用黑、白、灰，严禁彩色上色；若生成结果出现彩色IP，需提示用户重新生图
- **IP形象画风不可改变**：必须保持手绘线描素描感，严禁改为光滑卡通、萌系可爱、3D风格
- **IP气质严谨学术**：禁止表现为过度可爱活泼的形象，必须保持冷静、专注、学术的气质
- **标题文字必须准确**：艺术字标题内容须与原标题完全一致，不得简化或修改
- **简约优先**：背景以纯色或渐变为主，全图不超过3种主色，禁止堆砌复杂元素
- **风格贴合文章**：背景/标题的色调与文章情绪相符
- **IP形象不遮挡标题**：IP在右侧，标题在左侧，二者不重叠
- **比例约束**：使用 `21:9`（API支持的最接近2.35:1的规格）
- **不捏造文章内容**：IP行为描述必须基于实际读取的文章内容，不得随意编造主题
- **终端命令须事先说明**：每次执行 Bash 命令前，须向用户说明该命令的具体用途，不得静默执行。
- **不确定即暂停汇报**：执行过程中若遇到任何不确定、没把握的情况，必须立即暂停并向用户汇报，等待指示后再继续。

