| description | 用于从 Markdown、PDF、DOCX、URL 或主题内容生成、设计、后处理并导出 PPTX 演示文稿。 |
| lazy_load | true |
| name | ppt |
| think_type | react |
PPT 高效生成技能
🚀 中文字体排版规范详见 @[skfile:references/typography.md](SVG font-family + PPTX a:ea 完整方案)
Overview
多格式源 → Strategist 策略规划 → Executor SVG 渲染 → 后处理 → PPTX 导出。20 套专业布局,33 种图表,640+ 图标,内置完整中文字体规范。
📁 目录约束(v5.2 更新)
| 目录 | 用途 | 说明 |
|---|
@[param:thread_dir]/tmps/ | 🏗️ 中间产物 | 项目目录(content / templates / pages / images / svg_final)、Python 脚本、临时文件 |
@[param:user_work_dir] | ✅ 最终交付 | 生成的 .pptx 文件 |
规则:
- 每次激活技能时,先确保
@[param:thread_dir]/tmps/ 和 @[param:user_work_dir] 目录可用
- 整个 PPT 项目构建过程在
@[param:thread_dir]/tmps/<project_name>/ 下完成
- 最终
.pptx 文件复制到 @[param:user_work_dir]
- 异常日志强制写入
@[param:thread_dir]/tmps/error.log
Capabilities & Triggering
🎯 该技能处理什么
| 能力 | 说明 |
|---|
| 多格式源处理 | PDF / DOCX / URL / Markdown → 结构化内容 |
| 策略规划 | Strategist 八确认流程(画布/页数/关键信息/风格/配色/图标/字体/图片) |
| SVG 渲染 | 高质量 SVG 页面生成,兼容 PPTX |
| 图表系统 | 33 种专业图表模板,详见 @[skfile:templates/charts/] |
| 图标系统 | 640+ SVG 图标,详见 @[skfile:templates/icons/] |
| 后处理管道 | 图标嵌入 → 图片处理 → PPTX 导出 |
| AI 图片生成 | 通过 MetisAI 内置 gen_image 工具生成图片 |
🚫 什么情况下不应激活此技能
| 不适用场景 | 说明 |
|---|
| 纯图片编辑/设计(非演示文稿) | 不处理单张图片的美化、滤镜、裁剪 |
| 数据分析/报表(无 PPT 需求) | 不处理纯数据透视、统计分析 |
| 旧版 .ppt 格式转换 | 本技能输出 .pptx,不支持 .ppt 回读 |
| PDF 内容理解/问答 | 源内容提取仅为了生成 PPT,不做语义问答 |
🔄 触发流程
用户请求 → 判断是否生成演示文稿
├─ 是 → 激活本技能
│ ├─ 源内容处理(PDF/DOCX/URL/MD → outline.md)
│ ├─ Strategist 策略规划 → design_spec.md
│ ├─ Executor SVG 渲染 → pages/
│ └─ 后处理 → output/*.pptx
└─ 否 → 不激活
Work Flow
Step 1: 源内容处理
| 输入类型 | 处理方式 |
|---|
| Markdown 文本 | 直接解析大纲结构 |
| PDF 文件 | @[param:python_env]/python @[skfile:scripts/pdf_to_md.py] <file> |
| DOCX 文件 | @[param:python_env]/python @[skfile:scripts/doc_to_md.py] <file> |
| URL 链接 | @[param:python_env]/python @[skfile:scripts/web_to_md.py] <url> |
Step 2: 项目初始化
项目根目录位于 @[param:thread_dir]/tmps/<project_name>/,所有中间产物在此构建。最终 .pptx 复制到 @[param:user_work_dir]。
@[param:thread_dir]/tmps/<project_name>/
├── content/outline.md # 源内容
├── templates/ # 模板 + design_spec.md
├── svg_output/ # 生成的 SVG 页面(注意:名称必须为 svg_output,finalize_svg.py 硬编码此目录)
├── images/ # 图片资源
├── svg_final/ # 后处理后的 SVG
└── output/*.pptx # 中间产物(最终版复制到 user_work_dir)
@[param:user_work_dir]/
└── <project_name>.pptx # ✅ 最终交付
Step 3: Strategist 策略规划(MANDATORY)
阅读 @[skfile:references/strategist-lite.md],执行八确认流程,先形成内容策略、模板候选和图片资产计划。最终 templates/design_spec.md 必须在模板确认后写入,并可参考 @[skfile:templates/design_spec_reference.md] 格式。
Step 4: 模板选择(MANDATORY STYLE DECISION)
在生成任何 SVG 页面之前,必须先完成风格模板决策:
- 读取
@[skfile:templates/layouts/layouts_index.json]。
- 根据主题、受众、场景推荐 3-5 个最匹配模板,并列出:模板名、适用理由、视觉气质。
- 明确询问用户选择哪一个模板。
- 如果用户已在原始需求中明确指定模板、品牌风格或“无偏好/你来定”,可直接选择最匹配模板,但必须在继续前向用户说明已选模板和理由。
- 模板决策完成后,将该模板目录下的
design_spec.md、01_cover.svg、02_toc.svg、02_chapter.svg、03_content.svg、04_ending.svg 及配套图片资产复制到项目 templates/ 目录。
- 若用户明确要求自定义模板,先阅读 @[skfile:references/template-designer.md],生成模板草案并请求用户确认。
禁止:跳过模板决策、静默选择模板、在既无用户选择也无可解释自动选择依据时开始批量生成 SVG。
Step 5: Executor 页面生成
阅读 @[skfile:references/executor-guide.md],严格遵循 design_spec.md 中的配色、字体、布局参数。
- 有模板时继承模板视觉框架
- 内容页模板仅定义页眉页脚,内容区域自由布局
- 非必要不生成图片;优先使用图表、图标、形状、色块、时间线、流程图等原生 SVG 表达
- 仅当用户明确要求、用户提供图片,或确有视觉表达必要且用户确认后,才在 SVG 中引用真实图片文件
- 使用
<use data-icon="name" .../> 占位符引用图标(图标库见 @[skfile:templates/icons/])
- 图表引用可用 @[skfile:templates/charts/] 中的图表模板
Step 5.5: 图片资产生成(ASK BEFORE GENERATING)
默认不调用 gen_image。当封面、章节页、内容页或背景确实需要图片且用户没有提供可用图片时,必须先询问用户是否生成图片,并说明:
- 哪些页面需要图片
- 每张图片的用途
- 预计生成的视觉风格
- 若不生成图片,将如何改用图标、图表、形状或纯排版方案
只有在用户明确同意后,才调用 gen_image 工具生成图片,并保存到项目 images/ 目录。
如果用户未回复、拒绝生成图片,或图片并非必要,应调整页面布局,使用非图片视觉方案完成页面,不要留下空白图片框。
调用要求:
work_dir 必须设置为 @[param:thread_dir]/tmps/<project_name>/images
filename 使用稳定语义名,如 cover_hero、slide_03_architecture
- 宽屏封面/背景使用
aspect_ratio="16:9";左右图文使用 4:3 或 3:2;人物/竖图使用 3:4 或 9:16
image_size 默认 1K,封面或大背景优先 2K
- prompt 必须包含主题、画面主体、构图、风格、配色,并与已选模板风格一致
- SVG 中必须使用相对路径引用生成结果,例如
../images/<file_name>;不得把 gen_image 返回的绝对 file_path 直接写入 SVG
只有两种情况允许使用图片占位符:
- 用户明确要求稍后替换图片;
gen_image 调用失败,且已向用户说明失败原因并继续生成可编辑占位版。
Step 6: 后处理与导出
@[param:python_env]/python @[skfile:scripts/total_md_split.py] <project_path>
@[param:python_env]/python @[skfile:scripts/finalize_svg.py] <project_path>
@[param:python_env]/python @[skfile:scripts/svg_to_pptx.py] <project_path> -s final
Step 7: 📦 交付最终结果
将生成的 .pptx 文件从中间目录复制到 @[param:user_work_dir]:
cp @[param:thread_dir]/tmps/<project_name>/output/*.pptx @[param:user_work_dir]/
返回 @[param:user_work_dir] 下的文件路径。
Failure Strategy
| 失败场景 | 回退策略 |
|---|
| 大纲过于简单 | 自动扩展 / 通用内容填充 / 提示用户补充 |
| 模板不匹配内容风格 | 推荐更合适的 / 自动调整配色 |
| 图表数据格式错误 | 验证数据格式 / 用默认数据替代 / 提示修正 |
| SVG 生成失败 | 检查 SVG 语法 / 简化元素 / 分步重新生成 |
| PPTX 导出失败 | 检查 SVG 兼容性 / 运行 finalize_svg.py 修复 |
Quick Reference
模板系统
20 套专业布局:mckinsey / google_style / government_blue / government_red / academic_defense / ai_ops / anthropic / smart_red / exhibit / 科技蓝商务 / 招商银行 / 重庆大学 / 中国电建_常规 / 中国电建_现代 / 中汽研_商务 / 中汽研_常规 / 中汽研_现代 / medical_university / pixel_retro / psychology_attachment
每套含:01_cover / 02_chapter / 02_toc / 03_content / 04_ending + design_spec.md
模板文件位于 @[skfile:templates/layouts/]
图表系统
33 种:柱状图、折线图、饼图、环形图、面积图、散点图、气泡图、雷达图、堆叠柱状图、分组柱状图、水平柱状图、双轴折线图、堆叠面积图、桑基图、树状图、热力图、瀑布图、漏斗图、甘特图、仪表盘、子弹图、哑铃图、帕累托图、箱线图、蝴蝶图、KPI 卡片、SWOT 分析、波特五力、2×2 矩阵、组织架构图、流程图、时间线、进度条
图表 SVG 位于 @[skfile:templates/charts/]
图标系统
640+ SVG 图标,使用占位符法:<use data-icon="name" x="..." y="..." width="..." height="..." fill="..."/>
图标文件位于 @[skfile:templates/icons/]
SVG 技术规范
| 项目 | 要求 |
|---|
| 禁止特性 | <foreignObject> / <clipPath> / CSS <style> / 复杂 filter / 外部字体 / <animate> |
| 画布 | 16:9 (1280×720) / 4:3 (1024×768) / 16:10 (1280×800) |
| 规则 | 使用 viewBox / 内联样式 / 标准 SVG 元素 / 相对路径引用图片 |
| 中文 font-family | 必须使用 fallback 链:'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',sans-serif |
配色参考
| 风格 | 色值 |
|---|
| 麦肯锡蓝 | #005587/#003355/#00A3E0 |
| 深蓝灰 | #1B365D/#4A6FA5/#E8913A |
| 经典黑金 | #1A1A2E/#16213E/#D4AF37 |
| 科技蓝 | #2563EB/#1E40AF/#F59E0B |
| 清新绿 | #059669/#047857/#F97316 |
| 活力紫 | #7C3AED/#6D28D9/#EC4899 |
CJK Typography
PPT 的中文字体规范分两个阶段:
- SVG 阶段:通过
font-family fallback 链 + fill 颜色定义
- PPTX 阶段:通过 python-pptx 的
run.font.name + a:ea + run.font.color 设置
完整规范(字体选择、配色、层级体系、平台映射、SVG 设置、python-pptx 配置、字体嵌入策略、排查表)详见:@[skfile:references/typography.md]
索引
| 内容 | 位置 |
|---|
| 中文字体规范(SVG + PPTX) | @[skfile:references/typography.md] |
| Strategist 策略规划指南 | @[skfile:references/strategist-lite.md] |
| Executor SVG 渲染指南 | @[skfile:references/executor-guide.md] |
| 共享 SVG/PPT 技术约束 | @[skfile:references/shared-standards.md] |
| 画布尺寸与格式 | @[skfile:references/canvas-formats.md] |
| 自定义模板设计指南 | @[skfile:references/template-designer.md] |
| 脚本工具总索引 | @[skfile:scripts/README.md] |
| 模板资源总索引 | @[skfile:templates/README.md] |
| Design Spec 参考格式 | @[skfile:templates/design_spec_reference.md] |
| 20 套布局模板 | @[skfile:templates/layouts/] |
| 33 种图表 SVG | @[skfile:templates/charts/] |
| 640+ 图标库 | @[skfile:templates/icons/] |