pptx by anthropics/skills
npx skills add https://github.com/anthropics/skills --skill pptx| 任务 | 指南 |
|---|---|
| 读取/分析内容 | 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 获取完整详情。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
thumbnail.py 分析模板阅读 pptxgenjs.md 获取完整详情。
当没有模板或参考演示文稿可用时使用。
不要创建无聊的幻灯片。 白底黑字的普通项目符号不会给任何人留下深刻印象。为每张幻灯片考虑以下列表中的想法。
选择与主题匹配的颜色——不要默认使用通用的蓝色。使用这些调色板作为灵感:
| 主题 | 主色 | 辅色 | 强调色 |
|---|---|---|---|
| 午夜行政 | 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 (海军蓝) |
每张幻灯片都需要一个视觉元素——图片、图表、图标或形状。纯文本幻灯片容易被遗忘。
布局选项:
数据显示:
视觉润色:
选择有趣的字体组合——不要默认使用 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 或偏移形状以考虑内边距假设存在问题。你的工作是找出它们。
你的第一次渲染几乎从来都不正确。将质量保证视为错误排查,而不是确认步骤。如果你在第一次检查中没有发现任何问题,说明你检查得不够仔细。
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-fixed
pip install "markitdown[pptx]" - 文本提取pip install Pillow - 缩略图网格npm install -g pptxgenjs - 从零开始创建soffice) - PDF 转换(通过 scripts/office/soffice.py 为沙盒环境自动配置)pdftoppm) - PDF 转图片每周安装量
43.8K
仓库
GitHub 星标
101.0K
首次出现
2026年1月20日
安全审计
安装于
opencode35.7K
gemini-cli34.2K
codex34.1K
github-copilot31.9K
cursor31.3K
amp29.5K
| Task | Guide |
|---|---|
| Read/analyze content | python -m markitdown presentation.pptx |
| Edit or create from template | Read editing.md |
| Create from scratch | Read 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/
Readediting.md for full details.
thumbnail.pyReadpptxgenjs.md for full details.
Use when no template or reference presentation is available.
Don't create boring slides. Plain bullets on a white background won't impress anyone. Consider ideas from this list for each slide.
Choose colors that match your topic — don't default to generic blue. Use these palettes as inspiration:
| Theme | Primary | Secondary | Accent |
|---|---|---|---|
| Midnight Executive | 1E2761 (navy) | CADCFC (ice blue) | FFFFFF (white) |
| Forest & Moss | 2C5F2D (forest) | 97BC62 (moss) | F5F5F5 (cream) |
| Coral Energy |
Every slide needs a visual element — image, chart, icon, or shape. Text-only slides are forgettable.
Layout options:
Data display:
Visual polish:
Choose an interesting font pairing — don't default to Arial. Pick a header font with personality and pair it with a clean body font.
| Header Font | Body Font |
|---|---|
| Georgia | Calibri |
| Arial Black | Arial |
| Calibri | Calibri Light |
| Cambria | Calibri |
| Trebuchet MS | Calibri |
| Impact | Arial |
| Palatino | Garamond |
| Consolas | Calibri |
| Element | Size |
| --- | --- |
| Slide title | 36-44pt bold |
| Section header | 20-24pt bold |
| Body text | 14-16pt |
| Captions | 10-12pt muted |
margin: 0 on the text box or offset the shape to account for paddingAssume there are problems. Your job is to find them.
Your first render is almost never correct. Approach QA as a bug hunt, not a confirmation step. If you found zero issues on first inspection, you weren't looking hard enough.
python -m markitdown output.pptx
Check for missing content, typos, wrong order.
When using templates, check for leftover placeholder text:
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"
If grep returns results, fix them before declaring success.
⚠️ USE SUBAGENTS — even for 2-3 slides. You've been staring at the code and will see what you expect, not what's there. Subagents have fresh eyes.
Convert slides to images (see Converting to Images), then use this prompt:
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.
Do not declare success until you've completed at least one fix-and-verify cycle.
Convert presentations to individual slide images for visual inspection:
python scripts/office/soffice.py --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide
This creates slide-01.jpg, slide-02.jpg, etc.
To re-render specific slides after fixes:
pdftoppm -jpeg -r 150 -f N -l N output.pdf slide-fixed
pip install "markitdown[pptx]" - text extractionpip install Pillow - thumbnail gridsnpm install -g pptxgenjs - creating from scratchsoffice) - PDF conversion (auto-configured for sandboxed environments via scripts/office/soffice.py)pdftoppm) - PDF to imagesWeekly Installs
43.8K
Repository
GitHub Stars
101.0K
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode35.7K
gemini-cli34.2K
codex34.1K
github-copilot31.9K
cursor31.3K
amp29.5K
97,600 周安装
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) |