Files
ppt-agent-skill/README.md
sunbigfly 5e23feacad feat: PPT Agent Skill - 专业演示文稿全流程 AI 生成助手
模拟顶级 PPT 设计公司的完整工作流,输出高质量 HTML 演示文稿 + 可编辑矢量 PPTX。

- 6步Pipeline: 需求调研->资料搜集->大纲策划->策划稿->风格+配图+HTML设计稿->后处理
- 8种预置风格 + 7种Bento Grid布局 + 6种卡片类型
- 专业排版系统(7级字号) + 色彩比例法则(60-30-10) + 跨页视觉叙事
- 8种纯CSS数据可视化 + 5种配图融入技法
- HTML->SVG->PPTX 全自动转换管线
2026-03-21 02:55:56 +08:00

125 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PPT Agent -- 专业演示文稿全流程 AI 生成助手
模仿万元/页级别 PPT 设计公司的完整工作流,输出高质量 HTML 演示文稿 + 可编辑矢量 PPTX。
## 工作流概览
```
需求调研 -> 资料搜集 -> 大纲策划 -> 策划稿 -> 风格+配图+HTML设计稿 -> 后处理(SVG+PPTX)
```
## 输出产物
| 文件 | 说明 |
|------|------|
| `preview.html` | 浏览器翻页预览(自动生成) |
| `presentation.pptx` | PPTX 文件PPT 365 中右键"转换为形状"可编辑 |
| `svg/*.svg` | 单页矢量 SVG可直接拖入 PPT |
| `slides/*.html` | 单页 HTML 源文件 |
## 环境依赖
### 必须
- **Node.js** >= 18Puppeteer + dom-to-svg 需要)
- **Python** >= 3.8(脚本执行)
- **python-pptx**PPTX 生成)
### 自动安装(首次运行自动处理)
- `puppeteer` -- Headless Chrome
- `dom-to-svg` -- DOM 转 SVG保留 `<text>` 可编辑)
- `esbuild` -- 将 dom-to-svg 打包为浏览器 bundle
### 可选(降级方案)
- `pdf2svg` -- 当 dom-to-svg 不可用时的降级方案(文字变 path不可编辑
- `inkscape` -- SVG 转 EMF备用
### 一键安装
```bash
# Python 依赖
pip install python-pptx lxml Pillow
# Node.js 依赖(首次运行脚本时自动安装,也可手动提前安装)
npm install puppeteer dom-to-svg
# 可选:降级方案
sudo apt install pdf2svg
```
## 目录结构
```
ppt-agent-workflow-san/
SKILL.md # 主工作流指令Agent 入口)
README.md # 本文件
references/
prompts.md # 5 套 Prompt 模板
style-system.md # 8 种预置风格 + CSS 变量
bento-grid.md # 7 种布局规格 + 卡片类型
method.md # 核心方法论
scripts/
html_packager.py # 多页 HTML 合并为翻页预览
html2svg.py # HTML -> SVGdom-to-svg保留文字可编辑
svg2pptx.py # SVG -> PPTXOOXML 原生 SVG 嵌入)
```
## 脚本用法
### html_packager.py -- 合并预览
```bash
python3 scripts/html_packager.py <slides_dir> -o preview.html
```
### html2svg.py -- HTML 转 SVG
```bash
python3 scripts/html2svg.py <slides_dir> -o <svg_dir>
```
- 底层Puppeteer + dom-to-svgDOM 直接转 SVG`<text>` 可编辑)
- 图片:自动读取 `<img>` 引用的文件转 base64 嵌入
- 降级dom-to-svg 不可用时自动退回 Puppeteer PDF + pdf2svg
### svg2pptx.py -- SVG 转 PPTX
```bash
python3 scripts/svg2pptx.py <svg_dir> -o output.pptx --html-dir <slides_dir>
```
- SVG 以 OOXML `asvg:svgBlip` 扩展原生嵌入 PPTX
- 同时生成 PNG 回退图(兼容旧版 Office
- PPT 365 中右键 -> "转换为形状" 可编辑文字和形状
## 技术架构
```
HTML slides
|
v
[Puppeteer] 打开 HTML -> [dom-to-svg] DOM 直接转 SVG
| (保留 <text> 元素,文字可编辑)
| (base64 内联图片)
| (color -> fill 属性后处理)
v
SVG files
|
v
[python-pptx + lxml] OOXML svgBlip 嵌入
| (PNG 回退图兼容旧版 Office)
v
presentation.pptx
```
## 触发方式
在 Claude 对话中,以下表达会触发此 Skill
- "帮我做个 PPT" / "做一个关于 X 的演示"
- "做 slides" / "做幻灯片" / "做汇报材料"
- "把这篇文档做成 PPT"
- "做培训课件" / "做路演 deck"