mcpField
P
pptx

pptx

github.com/crazymsn文档处理2336 次安装22 周前更新
代码仓库

关于 pptx

pptx 是用于读取、创建和编辑 PowerPoint 演示文稿的技能,涵盖内容提取、模板编辑以及幻灯片内容与视觉检查。

主要功能

  1. 01提取演示文稿文本
  2. 02从头创建幻灯片
  3. 03基于模板编辑幻灯片
  4. 04渲染幻灯片以供视觉检查
  5. 05检查内容与版式质量

适用场景

  1. 01审阅演示文稿文本
  2. 02无模板创建演示文稿
  3. 03修改现有幻灯片
  4. 04检查渲染后的幻灯片版式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crazymsn/academic-skills --skill pptx

安装后在 Claude Code 中输入/pptx确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

editing.md
LICENSE.txt
pptxgenjs.md
scripts/
__init__.py
add_slide.py
clean.py
scripts/office/
pack.py
scripts/office/helpers/
__init__.py
merge_runs.py
simplify_redlines.py
scripts/office/schemas/ecma/fouth-edition/
opc-contentTypes.xsd
opc-coreProperties.xsd
opc-digSig.xsd
opc-relationships.xsd
scripts/office/schemas/ISO-IEC29500-4_2016/
dml-chart.xsd
dml-chartDrawing.xsd
dml-diagram.xsd
dml-lockedCanvas.xsd
dml-main.xsd
dml-picture.xsd
dml-spreadsheetDrawing.xsd
dml-wordprocessingDrawing.xsd
pml.xsd
shared-additionalCharacteristics.xsd
shared-bibliography.xsd
shared-commonSimpleTypes.xsd
shared-customXmlDataProperties.xsd
shared-customXmlSchemaProperties.xsd
shared-documentPropertiesCustom.xsd
shared-documentPropertiesExtended.xsd

详细介绍

PPTX 技能

快速参考

任务指南
读取/分析内容python -m markitdown presentation.pptx
基于模板编辑或创建阅读 editing.md
从零开始创建阅读 pptxgenjs.md

读取内容

# Text extraction
python -m markitdown presentation.pptx

# Visual overview
python scripts/thumbnail.py presentation.pptx

# Raw XML
python scripts/office/unpack.py presentation.pptx unpacked/

编辑工作流

阅读 editing.md 了解完整细节。

  1. 使用 thumbnail.py 分析模板
  2. 解包 → 操作幻灯片 → 编辑内容 → 清理 → 打包

从零开始创建

阅读 pptxgenjs.md 了解完整细节。

在没有可用模板或参考演示文稿时使用。


设计思路

不要制作无聊的幻灯片。 白底上的普通项目符号不会给任何人留下印象。为每张幻灯片参考此列表中的思路。

开始之前
  • 选择大胆、贴合内容的配色方案:配色方案应感觉是为这个主题量身设计的。如果把你的颜色换到一个完全不同的演示文稿中仍然“可行”,说明你的选择还不够具体。
  • 主导而非均等:一种颜色应占主导(60-70% 的视觉比重),搭配 1-2 种辅助色调和一个鲜明的点缀色。绝不要让所有颜色权重相等。
  • 深/浅对比:标题页 + 结论页用深色背景,内容页用浅色(“三明治”结构)。或者全程采用深色以营造高级感。
  • 坚持一种视觉母题:选择一种独特的元素并重复使用——圆角图片边框、彩色圆圈中的图标、粗单边边框。在每张幻灯片中延续它。
配色方案

选择与你的主题相匹配的颜色——不要默认使用通用的蓝色。可将以下配色方案作为灵感:

主题主色辅色点缀色
午夜高管1E2761(藏青)CADCFC(冰蓝)FFFFFF(白色)
森林与苔藓2C5F2D(森林绿)97BC62(苔藓绿)F5F5F5(奶油色)
珊瑚活力F96167(珊瑚色)F9E795(金色)2F3C7E(藏青)
温暖陶土B85042(陶土色)E7E8D1(沙色)A7BEAE(鼠尾草绿)
海洋渐变065A82(深蓝)1C7293(青绿)21295C(午夜蓝)
炭黑极简36454F(炭灰)F2F2F2(米白)212121(黑色)
青绿信赖028090(青绿)00A896(海沫绿)02C39A(薄荷绿)
浆果与奶油6D2E46(浆果色)A26769(灰玫瑰)ECE2D0(奶油色)
鼠尾草静谧84B59F(鼠尾草绿)69A297(桉树绿)50808E(石板灰)
樱桃大胆990011(樱桃红)FCF6F5(米白)2F3C7E(藏青)
每张幻灯片

每张幻灯片都需要一个视觉元素——图片、图表、图标或形状。纯文字幻灯片很容易被遗忘。

布局选项:

  • 双栏(左侧文字,右侧插图)
  • 图标 + 文字行(彩色圆圈中的图标、粗体标题、下方描述)
  • 2x2 或 2x3 网格(一侧为图片,另一侧为内容区块网格)
  • 半出血图片(占满左侧或右侧)并叠加内容

数据展示:

  • 大型数据标注(大号数字 60-72pt,下方配小标签)
  • 对比栏(之前/之后、优点/缺点、并排选项)
  • 时间线或流程图(编号步骤、箭头)

视觉打磨:

  • 章节标题旁的小彩色圆圈中放置图标
  • 用斜体强调文字标注关键数据或标语
排版

选择有趣的字体搭配——不要默认使用 Arial。选择一款有个性的标题字体,并搭配一款简洁的正文字体。

标题字体正文字体
GeorgiaCalibri
Arial BlackArial
CalibriCalibri Light
CambriaCalibri
Trebuchet MSCalibri
ImpactArial
PalatinoGaramond
ConsolasCalibri
元素字号
幻灯片标题36-44pt 粗体
章节标题20-24pt 粗体
正文文字14-16pt
说明文字10-12pt 柔和色
间距
  • 最小边距 0.5"
  • 内容区块之间 0.3-0.5"
  • 留出呼吸空间——不要填满每一寸
避免(常见错误)
  • 不要重复相同的布局 — 在各张幻灯片中变换栏、卡片和标注框
  • 不要将正文居中 — 段落和列表左对齐;只将标题居中
  • 不要在字号对比上偷懒 — 标题需要 36pt+ 才能从 14-16pt 的正文中脱颖而出
  • 不要默认使用蓝色 — 选择能反映具体主题的颜色
  • 不要随意混用间距 — 选择 0.3" 或 0.5" 的间隙并一致使用
  • 不要只美化一张幻灯片而让其余保持朴素 — 要么彻底投入,要么始终简洁
  • 不要创建纯文本幻灯片 — 添加图片、图标、图表或视觉元素;避免只有标题 + 项目符号
  • 不要忘记文本框内边距 — 当将线条或形状与文本边缘对齐时,在文本框上设置 margin: 0,或偏移形状以考虑内边距
  • 不要使用低对比度元素 — 图标和文本都需要与背景形成强烈对比;避免浅色背景上的浅色文字或深色背景上的深色文字
  • 切勿在标题下使用装饰线 — 这是 AI 生成幻灯片的标志;改用留白或背景色

QA(必需)

假设存在问题。你的任务是找出它们。

你的第一次渲染几乎从不正确。将 QA 视为找 bug,而不是确认步骤。如果你在首次检查时没有发现任何问题,说明你找得不够仔细。

内容 QA
python -m markitdown output.pptx

检查是否有缺失内容、拼写错误、顺序错误。

使用模板时,检查是否有遗留的占位文本:

python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"

如果 grep 返回结果,请在宣布成功之前修复它们。

视觉 QA

⚠️ 使用子 Agent — 即使只有 2-3 张幻灯片。你一直盯着代码看,会看到你预期的内容,而不是实际存在的内容。子 Agent 有全新的视角。

将幻灯片转换为图像(参见转换为图像),然后使用此提示词:

Visually inspect these slides. Assume there are issues — find them.

Look for:
- Overlapping elements (text through shapes, lines through words, stacked elements)
- Text overflow or cut off at edges/box boundaries
- Decorative lines positioned for single-line text but title wrapped to two lines
- Source citations or footers colliding with content above
- Elements too close (< 0.3" gaps) or cards/sections nearly touching
- Uneven gaps (large empty area in one place, cramped in another)
- Insufficient margin from slide edges (< 0.5")
- Columns or similar elements not aligned consistently
- Low-contrast text (e.g., light gray text on cream-colored background)
- Low-contrast icons (e.g., dark icons on dark backgrounds without a contrasting circle)
- Text boxes too narrow causing excessive wrapping
- Leftover placeholder content

For each slide, list issues or areas of concern, even if minor.

Read and analyze these images:
1. /path/to/slide-01.jpg (Expected: [brief description])
2. /path/to/slide-02.jpg (Expected: [brief description])

Report ALL issues found, including minor ones.
验证循环
  1. 生成幻灯片 → 转换为图像 → 检查
  2. 列出发现的问题(如果没有发现,请更批判性地再看一遍)
  3. 修复问题
  4. 重新验证受影响的幻灯片 — 一处修复常常会引发另一个问题
  5. 重复,直到完整一轮检查未发现新问题

在完成至少一个修复并验证的循环之前,不要宣布成功。


转换为图像

将演示文稿转换为单独的幻灯片图像以进行视觉检查:

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-fixed

依赖项

  • pip install "markitdown[pptx]" - 文本提取
  • pip install Pillow - 缩略图网格
  • npm install -g pptxgenjs - 从零创建
  • LibreOffice (soffice) - PDF 转换(通过 scripts/office/soffice.py 自动为沙盒环境配置)
  • Poppler (pdftoppm) - PDF 转图像

评论

支持 Markdown