用 PPTX Skill 生成不像 AI 做的幻灯片
- Smars
- Agent Skills , 演示
- 11 May, 2026
AI 几秒就能生成一份演示文稿。问题在于它看起来就是 AI 做的——蓝色主题、密集项目符号、每个标题下一条装饰线。Anthropic 的 PPTX Agent Skill 换了一种思路:把幻灯片生成当作软件开发来对待——有脚本、有模版、有 QA 循环。
它和普通 AI 生成有什么不同
大多数 AI 生成的幻灯片败在三件事上:布局重复、设计敷衍、输出翻车。PPTX skill 为每个问题都准备了对应机制。
两条创建路径。 没有模版时从零创建(PptxGenJS),有模版时走解包-编辑-打包工作流。Skill 不强制一种方式——它根据你给的内容选最合适的。
内置设计系统。 不是含糊的”让它好看点”,skill 直接给出 10 套配色方案、字体搭配、间距规则和布局变化表。这相当于给了设计师,而不是空话。
验证优先的 QA。 Skill 强制一个修复-验证循环:生成 → 转图片 → 让子 Agent 检查 → 修复 → 重新验证。它默认第一次渲染就是错的,把 QA 当成抓 bug 而不是走过场。
使用场景
Pitch deck 和客户演示。 模版工作流在这里最合适——用你已有的品牌模版,解包,在 XML 层面替换内容,打包验证。因为编辑的是实际的幻灯片 XML,布局精确度远高于 PDF 或图片导出。
会议演讲和内部培训。 从零创建路径给你完整的控制权——图表、表格、图标、自定义背景。skill 里的设计规则能避免”默认 PPT 风格”,又不需要设计师介入。
自动化报告生成。 基于脚本的工作流(PptxGenJS + Node.js)意味着你可以程序化生成 50 页统一风格的幻灯片,数据来自 API,图表原生渲染。
约束和前提条件
依赖不少。 需要 Node.js(pptxgenjs)、Python(markitdown 和脚本)、LibreOffice(PDF 转换)、Poppler(pdftoppm)。Skill 通过 scripts/office/soffice.py 自动配置沙箱环境的 LibreOffice,但完整工具链还是有不少安装工作。
模版工作流是 XML 级别编辑。 直接编辑 slide{N}.xml。这给了你精确控制,但意味着你要面对 PowerPoint 的 XML 结构——<a:p>、<a:r>、<a:rPr>、<a:t> 层层嵌套。子 Agent 可以帮忙,但初始搭建绕不开。
PptxGenJS 有不少坑。 十六进制颜色不能带 #、透明度要用属性而不是颜色字符串、每次调用都要新 shadow 对象、不支持渐变填充——skill 文档把这些都写明了,因为它们会导致文件静默损坏。
文件格式严格。 PPTX 本质是 XML 文件的 ZIP 压缩包。打包脚本会验证和修复,但某些操作(比如跨调用复用 PptxGenJS 的 option 对象)会损坏输出而不报错。
安装
# Python 依赖
pip install "markitdown[pptx]" Pillow
# Node.js 依赖
npm install -g pptxgenjs
# 系统工具
# LibreOffice: https://www.libreoffice.org/download/
# Poppler: https://poppler.freedesktop.org/
macOS: brew install libreoffice poppler
Skill 脚本已包含在 skill 目录中,无需额外安装。
快速上手
读取和分析现有演示文稿
# 提取所有文本
python -m markitdown input.pptx
# 生成缩略图网格
python scripts/thumbnail.py input.pptx
从零创建演示文稿
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Your Name";
pres.title = "My Presentation";
let slide = pres.addSlide();
slide.background = { color: "1E2761" };
slide.addText("Hello World", {
x: 1, y: 2, w: 8, h: 1.5,
fontSize: 44, fontFace: "Georgia",
color: "FFFFFF", bold: true, align: "center"
});
pres.writeFile({ fileName: "output.pptx" });
基于模版编辑
# 第一步:分析模版
python scripts/thumbnail.py template.pptx
python -m markitdown template.pptx
# 第二步:解包
python scripts/office/unpack.py template.pptx unpacked/
# 第三步:编辑幻灯片(在 unpacked/slides/slide1.xml 等文件中编辑)
# 第四步:QA
python -m markitdown output.pptx
# 转图片做视觉检查
# 第五步:打包
python scripts/office/pack.py unpacked/ output.pptx --original template.pptx
迭代工作流
Skill 强制执行一个固定的循环来打磨幻灯片:
- 生成或编辑演示文稿
- 转图片做视觉检查
python scripts/office/soffice.py --headless --convert-to pdf output.pptx pdftoppm -jpeg -r 150 output.pdf slide - 用子 Agent 检查 — 用”新眼睛”找元素重叠、文本溢出、对齐问题、对比度不足
- 修复问题 — 在源代码或 XML 中修复
- 重新验证受影响的幻灯片 — 一个修复经常引发另一个问题
- 重复 — 直到一轮完整检查没有新问题
子 Agent 的 QA prompt 写在 skill 的 SKILL.md 里 — 一份详细的检查清单,覆盖重叠元素、文本截断、间距违规等。
值得借鉴的设计规则
Skill 附带的设计准则可以照搬到任何演示工具:
选择与主题匹配的配色,而不是用公司品牌色。 Skill 提供了 10 套配色——森林苔藓、珊瑚能量、暖陶土、极简炭灰——并要求选一个贴合内容主题的。如果你的配色方案换什么主题都能用,那它太泛了。
每页布局都要变。 最大的错误是重复同一种布局。双栏、图标网格、通栏图片、数据大号展示、引用页——每页在结构上都应该和前一页不同。
标题下绝对不用装饰线。 Skill 明确禁止这个 AI 生成幻灯片标志性的做法。用留白或背景色代替。
字体搭配很重要。 Georgia + Calibri、Arial Black + Arial、Cambria + Calibri — skill 提供 8 组搭配和具体字号规则(标题 36-44pt、正文 14-16pt、说明文字 10-12pt)。
痛点
PptxGenJS 对象突变。 这个库会原地修改 option 对象。在两个 shape 之间复用同一个 shadow 配置,第二个会损坏。解决办法是用工厂函数每次返回新对象。
XML 层级编辑非常冗长。 模版工作流里改一段文字,都要在 PowerPoint 的 XML 结构里绕一圈。子 Agent 能帮忙,但复杂度是实打实的。
PptxGenJS 不支持渐变填充。 需要渐变就得先生成渐变图片当背景用。原生只支持纯色填充。
LibreOffice 渲染和 PowerPoint 不一致。 QA 图片来自 LibreOffice,但 PowerPoint(特别是 Windows 版)的实际渲染可能不同。文本溢出和字体回退是最常见的差异。
总结
PPTX skill 是对 AI 生成幻灯片疲劳的一剂解药。它把”生成一些幻灯片”替换成了一个结构化工程工作流——代码、模版、设计系统、QA 循环——产出的演示文稿看起来是精心设计的,而不是过程性生成器吐出来的。
如果你每个月要生成不止一份演示文稿,这套工具链的投资在第一份 Deck 就回本了。
参考:anthropics/skills/skills/pptx on GitHub