---
name: ppt-master
description: 专业PPT生成技能，支持20种图表类型、8大类别温和色系、5阶段交互工作流，生成可直接编辑的.pptx文件
version: 3.0.0
author: ppt-master
tags:
  - ppt
  - presentation
  - chart
  - python-pptx
  - office
---

# PPT Master Skill

## 技能描述

PPT Master 是一个专业的PPT生成技能，通过5阶段交互工作流，根据用户需求自动生成可直接编辑的 `.pptx` 文件。

### 核心能力

| 能力 | 说明 |
|------|------|
| **20种图表类型** | 柱状图、条形图、折线图、饼图、环形图、面积图、雷达图、散点图等 |
| **8大类别配色** | 营销推广、教育培训、汇报总结、企业宣讲、党政民生、人资行政、医疗健康、产品研发 |
| **温和色系** | 莫兰迪、北欧蓝、暖阳、清新等多套配色方案 |
| **5阶段工作流** | 需求分析 → 大纲确认 → 视觉定制 → 内容填充 → 最终生成 |
| **9种幻灯片类型** | cover、toc、section、content、chart、table、image、flowchart、ending |

---

## 触发条件

当用户提到以下关键词时自动触发：
- "做PPT"、"生成PPT"、"制作演示文稿"
- "汇报"、"演讲"、"展示"、"presentation"
- "帮我做个关于...的PPT"

---

## 5阶段交互工作流

### Phase 1：需求分析与方案推荐

**目标**：收集用户需求，推荐内容结构方案。

**步骤**：
1. 询问用户PPT主题
2. 询问应用类别（8选1）：
   - 营销推广
   - 教育培训
   - 汇报总结
   - 企业宣讲
   - 党政民生
   - 人资行政
   - 医疗健康
   - 产品研发
3. 如果用户对内容没有想法，提供 **3-5种** 内容结构方案供选择：
   - 问题解决型
   - 时间轴型
   - 总分总型
   - 对比型
   - 案例驱动型

**输出**：确认主题、类别、页数、内容结构方案。

---

### Phase 2：大纲确认

**目标**：确定PPT的章节目录和内容层级。

**步骤**：
1. 根据用户选定的方案，生成具体的章节目录（一级标题）
2. 询问用户是否需要项目符号或编号：
   - 圆点（•）
   - 数字序号（1. 2. 3.）
   - 对勾（✓）
   - 不需要
3. 确认每页的大致内容要点

**输出**：完整的大纲结构 + 项目符号类型。

---

### Phase 3：视觉风格定制

**目标**：根据类别和用户偏好确定配色、字体、版式。

**步骤**：

#### 3.1 配色方案
根据用户选定的类别，自动匹配推荐配色：

| 类别 | 主色 | 配色风格 |
|------|------|---------|
| 营销推广 | #E8634A | 活力红橙 |
| 教育培训 | #4A90D9 | 专业蓝 |
| 汇报总结 | #2C3E50 | 商务深蓝 |
| 企业宣讲 | #1A237E | 沉稳深蓝 |
| 党政民生 | #B71C1C | 庄重红金 |
| 人资行政 | #455A64 | 稳重灰蓝 |
| 医疗健康 | #00695C | 清新墨绿 |
| 产品研发 | #6A1B9A | 科技紫 |

**询问用户**：
- "根据您的类别，我推荐 `{配色名称}` 配色方案，是否确认？"
- 如用户不满意，提供 3-4 套备选配色（莫兰迪、北欧蓝、暖阳、清新）

#### 3.2 字体选择
- 默认：标题「微软雅黑」、正文「微软雅黑」
- 党政民生类别：标题「宋体」、正文「微软雅黑」
- 询问用户是否需要更换字体

#### 3.3 艺术字效果
- 询问封面或章节标题是否使用艺术字效果（是/否）
- 默认：否

#### 3.4 动画效果
- 询问是否需要动画效果
- 默认：手动放映，无自动动画

**输出**：完整的视觉风格配置。

---

### Phase 4：内容填充与素材处理

**目标**：填充每页的具体内容、图表、图片、表格。

**步骤**：

#### 4.1 文本内容生成
- 根据确认的大纲，撰写每页的正文内容
- 按用户选择添加项目符号或编号
- **必须进行错别字校对**

#### 4.2 图表生成（核心功能）

**支持的20种图表类型**：

| 中文名 | 配置值 | 适用场景 |
|-------|--------|---------|
| 柱状图（簇状） | `bar_clustered` | 类别比较 |
| 柱状图（堆积） | `bar_stacked` | 部分与整体 |
| 柱状图（百分比堆积） | `bar_100` | 占比变化 |
| 柱状图（3D） | `bar_3d` | 类别比较（视觉增强） |
| 条形图（簇状） | `bar_horizontal` | 类别比较（标签长） |
| 条形图（堆积） | `bar_h_stacked` | 部分与整体（标签长） |
| 条形图（百分比堆积） | `bar_h_100` | 占比变化（标签长） |
| 折线图（带标记） | `line_markers` | 时间序列趋势 |
| 折线图（堆积） | `line_stacked` | 累计趋势 |
| 折线图（百分比堆积） | `line_100` | 占比趋势 |
| 折线图（3D） | `line_3d` | 趋势（视觉增强） |
| 饼图 | `pie` | 比例（≤5类） |
| 饼图（3D） | `pie_3d` | 比例（视觉增强） |
| 环形图 | `doughnut` | 比例（强调整体） |
| 面积图 | `area` | 趋势+量级 |
| 面积图（堆积） | `area_stacked` | 累计量级 |
| 面积图（百分比堆积） | `area_100` | 占比量级 |
| 雷达图 | `radar` | 多维度比较 |
| 雷达图（填充） | `radar_filled` | 多维度比较（强调区域） |
| 散点图 | `scatter` | 变量关系 |

**图表生成流程**：
1. 用户提供数据后，参考 `references/chart-guide.md` 分析数据特征
2. 向用户推荐 1-2 种图表类型，说明推荐理由
3. 用户确认后，在配置中写入对应的 `chart_type` 值
4. 使用温和色系调色板渲染图表

**推荐话术模板**：
> "根据您的数据特征（{数据描述}），我推荐以下图表：
> 1. **{主推荐}** — {推荐理由}
> 2. **{备选}** — {适用条件}
> 
> 请选择一种，或告诉我您的偏好。"

#### 4.3 流程图生成
- 询问用户是否需要流程图
- 用户有想法 → 按描述生成
- 用户无想法 → AI根据业务逻辑自动设计
- 使用 `flowchart` 类型幻灯片，自动布局节点和箭头

#### 4.4 图片/照片处理
- 如果用户上传图片或要求配图，询问放置位置（封面/插图页/指定页码）
- 暂未确定 → 标记为 [待放置图片]，生成后再次确认

#### 4.5 表格生成
- 用户提供数据 → 使用 `table` 类型幻灯片自动生成
- 自动应用当前配色方案的表格样式

#### 4.6 视频与附件处理
- 用户要插入视频 → 询问放置页码，生成后再次确认位置
- 用户上传附件 → 询问引用位置，预留占位符

**输出**：完整的幻灯片内容数据（JSON格式）。

---

### Phase 5：最终生成与交付

**目标**：执行脚本，生成 `.pptx` 文件。

**步骤**：
1. 汇总所有确认的配置（大纲、配色、字体、图表数据等）
2. 生成完整的 JSON 配置文件（格式参考 `references/example-config.json`）
3. 执行 `scripts/generate_ppt.py`：
   ```bash
   python3 scripts/generate_ppt.py --config /tmp/ppt_config.json --output /workspace/xxx.pptx