- name
- ppt-master
- description
- 专业PPT设计制作技能。⚠️【强制】必须先完成需求分析(Step 1),不允许直接开始制作。无论用户提供什么材料,都必须通过提问收集完整需求后才能继续。触发条件:用户需要制作PPT、设计幻灯片、汇报演讲、课件制作、PPT模板设计、PPT美化、PPT排版、幻灯片设计、slides、.pptx文件生成等任何与PPT相关的任务。融合了专业设计原理(CRAP原则、配色心理学、版式设计)、PptxGenJS代码生成能力和SVG高级图形绘制,包含22个PptxGenJS预建模板、52种SVG图表模板和Q1-Q9设计决策框架。
# PPT Master - 专业PPT设计制作技能
## 🚀 首次使用准备
### 安装依赖
> ⚠️ **重要**:首次使用前必须安装依赖,之后可跳过此步骤
**PPTX 依赖**(必须):
```bash
cd "技能目录\assets"
# 检查有没有 node_modules,没有再安装
if not exist node_modules npm install
```
### 目录结构说明
```
ppt-master/
├── assets/ ← PPTX 相关(需要 npm install)
│ ├── package.json ← 依赖配置
│ ├── node_modules/ ← 依赖安装后生成(不要手动修改)
│ ├── slide-*.js ← PPTX 模板
│ ├── chart-*.js ← 图表模板
│ ├── compile*.js ← 编译脚本(compile / compile-v2-base / compile-enhanced)
│ └── output/ ← 输出目录
├── components/ ← 组件
├── references/ ← 参考文档(28+ 个,含 slide-techniques.md)
├── templates/ ← SVG 图形模板(52个)
├── scripts/ ← 项目完工工具链
│ ├── lint.js ← 编译前静态检查(NBSP/颜色/async 等)
│ ├── punct-fix.js ← 标点规范化(NBSP/智能引号 → ASCII)
│ ├── audit_pptx.py ← PPTX 元数据审计
│ ├── extract_pptx.py ← 文本抽取
│ └── extract_images.py ← 图片抽取
└── SKILL.md ← 你正在读
```
---
## ⚠️ 执行警示(必读)
> **10%核心原则**:PPT设计的80%价值来自20%的核心知识。不要为了查"图片处理12法"而忽略了核心原则的应用。
### 每次必查的20%
| 原则 | 文件 | 为什么重要 |
|------|------|------------|
| **CRAP四原则** | [design-principles.md](references/design-principles.md) | 对比/重复/对齐/接近贯穿始终 |
| **叙事弧模板** | [narrative-arc.md](references/narrative-arc.md) | 内容结构化方法论 |
| **配色7:2:1法则** | [references/color-system.md](references/color-system.md) | 控制颜色不超过3种+黑白灰 |
| **场景信息密度** | [references/scenarios/*.md](references/scenarios) | 决定一页放几个要点 |
| **实战代码模式** | [slide-techniques.md](references/slide-techniques.md) | slideConfig/假渐变/数据驱动,真实项目沉淀 |
---
## 🚨 强制执行警告
> 🚨 **违规警告**:如果在没有完成 Step 1 需求分析的情况下直接开始生成内容,所产生的内容不被认为是正确的技能执行。正确的流程永远是:**提问 → 确认 → 执行**。
>
> ⚠️ **【强制规则 - 绝对禁止跳过】**
> - 即使用户给了完整文档,也要提问确认
> - 即使用户说"直接做",也要先完成需求收集
> - 需求分析是**第一步也是唯一的第一步**,在完成之前禁止:
> - ❌ 阅读用户材料
> - ❌ 分析内容
> - ❌ 生成任何内容
> - 违反此规则将导致生成内容不符合用户需求
---
## 核心决策流程
```
⚠️ 【强制入口】必须从这里开始,不允许跳过
↓
[Step 1: 需求分析] → ★★★ 必须先完成 Step 1 ★★★
↓
[Step 2: 场景判定] → ★ 必须等 Step 1 完成 ★
↓
★ [叙事弧规划] → ★ 用叙事弧组织整体结构 ★
↓
[Step 3前: 设计决策] → ★ Q1-Q9 + CRAP框架自问 ★
↓
[Step 3: 设计执行] → 按must-read + scenario读取references
↓
★ [SVG决策] → ★ 复杂图形用SVG模板 ★
↓
[Step 4前: 设计验证] → ★ 单页+全局检查清单 ★
↓
[Step 4: 代码生成] → PptxGenJS实现
```
---
## Step 1: 需求分析(强制执行)
> ⚠️ **【强制规则 - 绝对禁止跳过】**
> 在完成需求分析之前,你 **绝对不能** 做以下任何事情:
> - ❌ 阅读用户的材料文件
> - ❌ 分析材料内容
> - ❌ 规划PPT结构
> - ❌ 生成任何代码
>
> **必须使用 AskUserQuestion 工具提问**
### 必要信息检查
| 必要信息 | 说明 |
|----------|------|
| 主题 | 汇报什么/演讲什么 |
| **受众** | **谁来听(影响风格和内容深度)** |
| **页数** | **预计多少页(影响信息密度)** |
| **风格** | **正式/轻松/技术深度(影响用词和视觉)** |
| **场景** | 什么场合 |
> ⚠️!!! **即使提供了材料,也要向用户确认以上信息**。材料 ≠ 完整需求。
### 提问清单
| # | 问题 | 选项示例 |
|---|------|---------|
| 1 | 听众是谁? | 内部同事/领导/客户/投资人/学术/其他 |
| 2 | 什么场景? | 工作汇报/商业提案/产品发布/培训/个人展示 |
| 3 | 几分钟/几页? | 5-10页/10-20页/20-30页/40页+ |
| 4 | 有材料吗? | 完整文档/部分素材/大纲/无材料 |
| 5 | 什么风格? | 正式商务/科技简约/轻松活泼/高端大气 |
**进阶分析**:观众分层和KANO需求分析见 [references/thinking.md](references/thinking.md)
### 需求确认模板
```
## 需求摘要(待确认)
| 项目 | 您提供 |
|------|--------|
| 主题 | [提炼的主题] |
| 受众 | [用户选择 - 决定风格和内容深度] |
| 场景 | [用户选择 - 决定信息密度] |
| 时长/页数 | [用户选择 - 决定篇幅] |
| 风格 | [用户选择 - 决定视觉和用词] |
请确认以上信息是否准确?
```
---
## Step 2: 场景判定(核心决策点)
根据受众+场景组合判定PPT等级和设计策略。
### 听众 → 内容深度
| 听众 | 技术深度 | 术语处理 |
|------|----------|----------|
| 学生/学术 | 低 | 通俗解释 |
| 技术人员 | 高 | 可用专业术语 |
| 管理层 | 中 | 侧重价值/成本 |
| 客户/投资人 | 低~中 | 侧重商业价值 |
| 普通大众 | 极低 | 避免术语 |
### PPT三等判定
| 等级 | 特征 | 适用场景 |
|------|------|---------|
| **一等** | 极简、故事、打动人 | 产品发布/路演/TED |
| **二等** | 结构清晰、信息分层 | 学术汇报/培训/工作汇报 |
| **三等** | 功能完整、操作熟练 | 日常汇报/入门演示 |
### 场景 → 等级映射
| 场景 | 等级 | 信息密度 | 核心原则 |
|------|------|----------|----------|
| 产品发布/路演 | 一等 | 极低(一页一信息) | 乔布斯极简法 |
| 学术汇报/培训 | 二等 | 中~高 | 专业严谨、逻辑清晰 |
| 工作汇报/述职 | 二等 | 中 | 结论先行、数据支撑 |
| 商业提案/BP | 一等~二等 | 低~中 | 结论先行、说服力 |
| 内部分享 | 二等~三等 | 中~高 | 技术清晰、适度详细 |
### 三维体系快速自检
| 维度 | 问题 | 检查点 |
|------|------|--------|
| **难忘感** | 观众离开后能记住什么? | 金句/画面/数据 |
| **设计感** | PPT是否专业好看? | 配色/字体/排版 |
| **仪式感** | 演讲是否有感染力? | 开场/结尾 |
完整说明见 [references/three-dimensions.md](references/three-dimensions.md)
### ★ 叙事弧应用(内容结构化)
**使用时机**:在Step 2场景判定后,用叙事弧来规划整体内容结构。
**为什么在这里用**:
- 叙事弧是**宏观规划工具**,解决"讲什么、怎么讲"的问题
- Q1-Q9是**微观设计工具**,解决"每页怎么设计"的问题
- 顺序:叙事弧 → Q1-Q9 → 配色/字体
**五段式结构**:
```
钩子(Hook) → 1 页 : 抛一个反差 / 问题 / 硬数据让人停下来
定调(Context) → 1-2 页 : 说明背景 / 你是谁 / 为什么讲这个
主体(Core) → 3-5 页 : 核心内容,用版式穿插
转折(Shift) → 1 页 : 打破预期 / 提出新观点
收束(Takeaway) → 1-2 页 : 金句 / 悬念问题 / 行动建议
```
**页数规划参考**:
| 时长 | 总页数 | 分配 |
|------|--------|------|
| 5分钟 | 8-10页 | Hook(1) + Context(1) + Core(5) + Shift(1) + Takeaway(1) |
| 15分钟 | 15-20页 | Hook(1) + Context(2) + Core(10) + Shift(2) + Takeaway(2) |
| 30分钟 | 25-30页 | Hook(1) + Context(2) + Core(18) + Shift(3) + Takeaway(3) |
详细模板见 [references/narrative-arc.md](references/narrative-arc.md)
---
## ★ Step 3前: 设计决策(强制节点)
> ⚠️ **必须执行**:在选择配色/字体/版式之前,先用 Q1-Q9 + CRAP框架自问。
### Q1-Q9 设计决策清单
> 每页必须完成 Q1-Q9,**Q4 记忆点不能答"无"**。
**快速清单**:
| # | 问题 | 关键检查 |
|---|------|---------|
| Q1 | 观众是谁?关注什么? | 核心观众+关注点 |
| Q2 | 演示后观众会做什么? | 具体行动 |
| Q3 | 需求层级? | 基本型/期望型/兴奋型 |
| Q4 | 记忆点?(不能"无") | 金句/画面/数据 |
| Q5 | PPT等级?目标? | 一等打动人/二等说明白/三等做出来 |
| Q6 | 3秒能说清核心吗? | 一句话核心信息 |
| Q7 | 有念稿内容吗? | 念稿→删除 |
| Q8 | 删减检查? | 每句回答保留/删除 |
| Q9 | 字体选择? | 参考typography-guide.md |
完整模板:
```
页面 {N}:
- Q1观众:{核心观众}
- Q2行动:{演示后观众会}
- Q3需求:{层级}
- Q4记忆点:{金句/画面/数据}
- Q5等级:{一等/二等/三等}
- Q6核心:{一句话}
- Q7念稿:{有/无}→{处理}
- Q8删减:{保留/删除}
- Q9字体:{字体名}
- 版式:{选择}
- 配色:{确定值}
```
**CRAP自问**:
| 原则 | 自问 | 检查 |
|------|------|------|
| 对比 | 标题vs正文≥2倍?颜色有区分? | 是/否 |
| 重复 | 整体风格一致? | 是/否 |
| 对齐 | 元素有参考线? | 是/否 |
| 接近 | 相关内容靠近?间距一致? | 是/否 |
### 版式判定树
**内容页(6种):** 标题+正文 | 左右分栏 | 上下分割 | 三栏并列 | 卡片式 | 时间轴
**封面(3种):** 居中式(学术/正式) | 左右分栏(企业/产品) | 全图型(创意/活动)
**目录(2种):** 垂直列表(3-5章) | 双栏网格(4-6章)
---
## Step 3: 设计执行
按场景读取必要文件,选择设计要素。
### 必读文件(每次)
| 文件 | 内容 |
|------|------|
| [design-principles.md](references/design-principles.md) | CRAP四原则 |
| [color-system.md](references/color-system.md) | 配色7:2:1 |
### 场景文件(必须读)
| 场景 | 文件 |
|------|------|
| 学术汇报 | [scenarios/academic.md](references/scenarios/academic.md) |
| 产品发布/路演 | [scenarios/commercial.md](references/scenarios/commercial.md) |
| 培训课件 | [scenarios/training.md](references/scenarios/training.md) |
| 工作汇报 | [scenarios/workplace.md](references/scenarios/workplace.md) |
### 按需读取
| 场景 | 文件 |
|------|------|
| 字体决策 | [typography-guide.md](references/typography-guide.md) |
| 数据图表 | [charts.md](references/charts.md) |
| 创意灵感 | [master-inspiration.md](references/master-inspiration.md) |
| **复杂图形/SVG** | **[svg-graphics-guide.md](references/svg-graphics-guide.md)** |
---
## 🚫 【强制禁止规则】
> ⚠️ 禁止不读场景文件就直接跳过
| 场景 | 必须读 |
|------|--------|
| 学术汇报 | academic.md |
| 商业/产品发布 | commercial.md |
| 培训/教育 | training.md |
| 工作汇报 | workplace.md |
| 涉及数据表格 | charts.md |
| 涉及配色 | color-system.md |
| 涉及字体 | typography-guide.md |
| **涉及复杂图形** | **svg-graphics-guide.md** |
### 3.5 设计要素选择
**配色**:见 [color-system.md](references/color-system.md) 行业配色18套
**字体**:见 [typography-guide.md](references/typography-guide.md)
### 动画设计(可选)
> ⚠️ PptxGenJS不支持动画,需在PowerPoint中手动添加
**三大作用**:指南针(引导逻辑)| 魔术师(制造悬念)| 放大镜(强调重点)
**规划**:每页最多1个动画,时长≤3秒,风格统一
---
## ★ Step 4前: 设计验证(强制节点)
### 单页检查
```
□ 核心信息突出? □ 对比足够?(标题vs正文≥2倍)
□ 风格统一? □ 元素对齐?
□ 适当留白? □ 记忆点视觉化?
□ 3秒测试通过?
```
### 全局检查
```
□ 配色统一? □ 字体统一? □ 标题位置一致?
□ 页码位置一致? □ 信息密度符合场景?
```
详细清单见 [references/quality-checklist.md](references/quality-checklist.md)
---
## ★ Step 4 前置: 质量门禁(Hard Constraints)
> ⚠️ **必读**:在开始写任何 slide-XX.js 代码之前,先把下面 15 条硬约束读 3 遍。
> 这 15 条是 A 真实项目多次踩坑后沉淀的"红线",**违反任何一条都可能导致编译失败、文件损坏或交付质量不达标**。
### Hard Constraints 15 条
| # | 约束 | 验证方式 |
View on GitHub