当涉及到 .pptx 文件的任何操作时使用此技能——无论是作为输入、输出还是两者兼有。包括:创建幻灯片、演示文稿或路演材料;读取、解析或提取任何 .pptx 文件中的文本(即使提取的内容将用于其他地方,如邮件或摘要);编辑、修改或更新现有演示文稿;合并或拆分幻灯片文件;处理模板、布局、演讲者备注或批注。当用户提到“演示文稿”、”幻灯片“、”PPT“或引用 .pptx 文件名时触发,无论他们之后打算如何使用内容。如果需要打开、创建或操作 .pptx 文件,就使用此技能。
重要: 所有
scripts/路径都相对于此技能目录。 运行方式:cd {this_skill_dir} && python scripts/...或使用execute_shell_command的cwd参数。
npm install -g pptxgenjs):从零开始创建演示文稿soffice):演示文稿转 PDFpdftoppm 不可用,可使用 Python 备选方案 pdf2image。PATH 中可用;如果缺失,报告依赖问题并停止(不要反复重试)。| 任务 | 指南 |
|---|---|
| 读取/分析内容 | python -m markitdown presentation.pptx |
| 编辑或基于模板创建 | 阅读 editing.md |
| 从零开始创建 | 阅读 pptxgenjs.md |
# 文本提取
python -m markitdown presentation.pptx
# 视觉概览
python scripts/thumbnail.py presentation.pptx
# 原始 XML
python scripts/office/unpack.py presentation.pptx unpacked/阅读 editing.md 了解完整细节。
thumbnail.py 分析模板阅读 pptxgenjs.md 了解完整细节。
当没有模板或参考演示文稿可用时使用。
不要创建无聊的幻灯片。 白底加纯文本要点无法打动任何人。为每张幻灯片考虑以下设计思路。
选择与主题匹配的颜色——不要默认使用通用蓝色。以下配色方案供参考:
| 主题 | 主色 | 辅助色 | 点缀色 |
|---|---|---|---|
| Midnight Executive | 1E2761 (navy) | CADCFC (ice blue) | FFFFFF (white) |
| Forest & Moss | 2C5F2D (forest) | 97BC62 (moss) | F5F5F5 (cream) |
| Coral Energy | F96167 (coral) | F9E795 (gold) | 2F3C7E (navy) |
| Warm Terracotta | B85042 (terracotta) | E7E8D1 (sand) | A7BEAE (sage) |
| Ocean Gradient | 065A82 (deep blue) | 1C7293 (teal) | 21295C (midnight) |
| Charcoal Minimal | 36454F (charcoal) | F2F2F2 (off-white) | 212121 (black) |
| Teal Trust | 028090 (teal) | 00A896 (seafoam) | 02C39A (mint) |
| Berry & Cream | 6D2E46 (berry) | A26769 (dusty rose) | ECE2D0 (cream) |
| Sage Calm | 84B59F (sage) | 69A297 (eucalyptus) | 50808E (slate) |
| Cherry Bold | 990011 (cherry) | FCF6F5 (off-white) | 2F3C7E (navy) |
每张幻灯片都需要视觉元素——图片、图表、图标或形状。纯文本幻灯片令人印象淡薄。
布局选项:
数据展示:
视觉润色:
选择有趣的字体搭配——不要默认使用 Arial。选择一个有个性的标题字体,搭配一个简洁的正文字体。
| 标题字体 | 正文字体 |
|---|---|
| Georgia | Calibri |
| Arial Black | Arial |
| Calibri | Calibri Light |
| Cambria | Calibri |
| Trebuchet MS | Calibri |
| Impact | Arial |
| Palatino | Garamond |
| Consolas | Calibri |
| 元素 | 尺寸 |
|---|---|
| 幻灯片标题 | 36-44pt 粗体 |
| 章节标题 | 20-24pt 粗体 |
| 正文 | 14-16pt |
| 说明文字 | 10-12pt 柔和色 |
margin: 0 或偏移形状以补偿内边距假设存在问题,你的任务就是找到它们。
你的首次渲染几乎不会完全正确。将质量检查视为找 Bug 的过程,而非确认步骤。如果第一次检查就零问题,说明你检查得不够仔细。
python -m markitdown output.pptx检查是否有遗漏内容、错别字、顺序错误。
使用模板时,检查是否有残留的占位符文本:
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"如果 grep 返回结果,修复后再宣布完成。
⚠️ 使用子代理——即使只有 2-3 张幻灯片。你一直盯着代码看,会看到你期望看到的而非实际的内容。子代理有全新的视角。
将幻灯片转换为图片(参见转换为图片),然后使用以下提示:
视觉检查这些幻灯片。假设存在问题——找到它们。
检查以下方面:
- 元素重叠(文字穿过形状、线条穿过文字、元素堆叠)
- 文本溢出或在边缘/框边界处被截断
- 为单行文本定位的装饰线,但标题换成了两行
- 来源引用或页脚与上方内容冲突
- 元素间距过小(< 0.3" 间隙)或卡片/区域几乎相接
- 间距不均(某处大面积留白,另一处过于紧凑)
- 距幻灯片边缘的边距不足(< 0.5")
- 列或类似元素未一致对齐
- 低对比度文字(如浅灰色文字在奶油色背景上)
- 低对比度图标(如深色图标在深色背景上且没有对比色圆圈)
- 文本框过窄导致过度换行
- 残留的占位符内容
对每张幻灯片列出问题或关注点,即使是小问题也要列出。
读取并分析这些图片:
1. /path/to/slide-01.jpg(预期:[简要描述])
2. /path/to/slide-02.jpg(预期:[简要描述])
报告发现的所有问题,包括轻微问题。在完成至少一个修复-验证循环之前,不要宣布成功。
将演示文稿转换为单独的幻灯片图片以进行视觉检查:
python scripts/office/soffice.py --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide这将创建 slide-01.jpg、slide-02.jpg 等文件。
修复后重新渲染特定幻灯片:
pdftoppm -jpeg -r 150 -f N -l N output.pdf slide-fixed734c8b9
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.