文档与知识 · anthropics/skills

pptx

Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.

风险提醒:蓝色 · 知晓即可AI 侦查报告
作者 anthropicsGitHub anthropics/skills ↗Stars 175386许可 Proprietary(skill 自带 LICENSE.txt:© 2025 Anthropic, PBC. All rights reserved. 按 Anthropic Consumer/Commercial Terms of Service 授权并附 ADDITIONAL RESTRICTIONS;非开源许可)commit 41bbe19d1a
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

与 docx/xlsx 同一容器哲学:`.pptx` 也是 ZIP+XML,按任务选路线——新建走 pptxgenjs(npm)编程生成;编辑既有/模板走 unzip→改 slideN.xml→zip;读取走 markitdown。

skills/pptx/SKILL.md
A `.pptx` is a ZIP archive of XML files. Choose your approach by task:
注:路线表:'| **Create** a new deck | Write a `pptxgenjs` script — see gotchas below |'、'| **Edit** an existing deck, or build from a template | unzip → edit `ppt/slides/slideN.xml` → zip |'。模板改造是高频场景,故有全套模板专用流程。

结构操作必须走脚本而非手工复制:add_slide.py 负责复制 slide/layout 并补齐包内注册(rels/content-type/sldIdLst),clean.py 删除孤儿部件——文件级一致性由工具保证。

skills/pptx/SKILL.md
`add_slide.py` does every registration a new slide needs and reports what it made
注:脚本表:'`scripts/clean.py unpacked/` | Delete slides, media, and rels no longer referenced. Run **after** `<p:sldIdLst>` is final'。SKILL 强调 'Do all structural work — add, delete, reorder — before editing any slide's content.'

创建侧 gotcha 清单极厚(pptxgenjs 坑):颜色禁 #/8 位十六进制、透明度用 transparency、阴影 offset≥0、列表 bullet:true、组合图需 valAxes+catAxes 双轴声明、dataLabelPosition outEnd 会损坏文件等——且全部有 validate.py 兜底复检。

skills/pptx/SKILL.md
It reports the two chart faults above and the slide-XML defects PowerPoint refuses, and names the fix for each.
注:SKILL 明言生态错位:'pptxgenjs emits chart XML PowerPoint refuses to open, and every other tool accepts: python-pptx opens those decks, LibreOffice renders them, the XSD passes them.'——所以必须以 validate.py 为准。

图表策略='能原生的绝不图片化':PowerPoint 可画的用 addChart(),库不支持的(趋势线/误差线)自行算 series 或后处理 OOXML,只有 PowerPoint 无原生形态的图(Sankey/network/chord)才转图片插入。

skills/pptx/SKILL.md
Use `addChart()` for everything PowerPoint can chart
注:图标管线则相反:react-icons 渲染 SVG→sharp 栅格化≥256px→base64 插入('the `image/png;base64,` prefix is required')。

模板编辑有 XML 安全要求:变换必须用 defusedxml.minidom 解析,禁止 xml.etree(会重写命名空间前缀损坏文件);模板槽位≠源条目(4 人模板配 3 人就删整组而非只删文字)。

skills/pptx/SKILL.md
If you script an XML transform, parse with `defusedxml.minidom` — round-tripping OOXML through `xml.etree.ElementTree` rewrites namespace prefixes and corrupts the deck.
注:另有 `<a:t>` 前后空格需 xml:space="preserve"、列表项一对一 `<a:p>`、bullet 继承 layout 等 XML 细节规则。

QA 分三层强制:内容 QA(markitdown 文本检查+占位符残留 grep)、文件 QA(validate.py 必跑,模板派生物必须 --original 基线化)、视觉 QA(soffice 转 PDF→pdftoppm 出图逐张目检,建议 subagent 新鲜视角)。

skills/pptx/SKILL.md
After staring at the generating code you tend to see what you expect rather than what rendered, so look at the images fresh (a subagent works well for this if you have one)
注:视觉 QA 清单覆盖溢出/重叠/对齐/对比度/占位符残留等具体缺陷,'Text overflow or text cut off at a box or slide boundary — check this first.'

设计层内置『反 AI-slop』指导:主题色板先行、60-70% 主色占比、避免色彩条/下划线 motif、禁默认蓝色/奶油底、字体分 QA 可信/不可信两档(LibreOffice 换字宽差异会误导溢出判断)。

skills/pptx/SKILL.md
**NEVER use accent lines under titles** — these are a hallmark of AI-generated slides
注:字体策略:'Safe fonts (render true-to-width in QA *and* ship with Office): Arial, Calibri, Cambria…'——QA 用 LibreOffice 渲染但交付在 PowerPoint,字体度量差异被显式管理。

2核心能力

01pptxgenjs 编程建 deck(含原生图表/组合图/图标管线/演讲者备注),带全套 footgun 规则
02模板/既有 deck 编辑:解包→slide XML 编辑→回封,缩略图选版(thumbnail.py)
03slide 增/删/重排的包级 bookkeeping(add_slide.py/clean.py)
04结构校验:schema/关系/content-type/chart 检查,--original 模板基线化
05三层 QA:内容(markitdown+占位符 grep)、文件(validate.py)、视觉(转图目检)
06读取/解析:markitdown 文本块 + thumbnail 网格;python-pptx 兼容性提示(不复制 slide/不保格式/读不了 SVG-EMF)
07设计体系:主题色板库(10 组)、版式/间距/排版规范与禁用清单

3外部依赖

类型依赖
packagepptxgenjs(npm,deck 生成)
packagemarkitdown[pptx] / Pillow / defusedxml / lxml(pip:文本转储/缩略图/clean/validate)
packagereact-icons / react / react-dom / sharp(npm,图标管线,条件安装)
cliLibreOffice soffice(视觉 QA 渲染/.ppt 转换,经 soffice.py 包装)
clipdftoppm(Poppler,出图)

4风险提醒 风险提醒:蓝色 · 知晓即可

风险提醒:蓝色 · 知晓即可
  • 生成器陷阱多且『只有 PowerPoint 会拒收』 — chart 双轴、dataLabelPosition、阴影 offset 等错误不经过其它工具暴露,漏跑 validate.py 就会交付 PowerPoint 打不开的 deck。
  • 视觉 QA 依赖模型看图 — 转图目检最终靠模型/人眼;字体替换导致的溢出判断在 QA-不可信字体上不可靠(SKILL 自述)。
  • 依赖面偏重 — pptxgenjs/markitdown/Pillow/defusedxml/lxml/soffice/pdftoppm + 图标管线 react-icons/sharp,环境需预装或可安装。
  • 专有许可 — LICENSE.txt 为 Anthropic 服务条款式专有许可(含 ADDITIONAL RESTRICTIONS)。
  • 宏/恶意模板面 — 外部 .pptx/.potx 可能携带恶意部件;skill 无宏清理(对 .pptm/宏敏感环境需宿主自行把关)。
风险提醒:蓝色,知晓即可。运行自带 python/node 脚本与本地 CLI(soffice/pdftoppm)读写本地文件,无默认网络外发(npm/pip 仅条件回退到官方 registry)、无凭证读取。注意点:① 解析/编辑 OOXML 时已采用 defusedxml(安全解析器)而非 xml.etree,XXE 面有缓解;② 图标管线会现场执行 node(react-icons→sharp),依赖预装或条件安装;③ validate.py 承担『PowerPoint 兼容性』兜底,质量风险而非安全风险;④ 专有许可。

5第二遍独立确认

  • [ok] office/ 树与 docx/xlsx 一致 — diff -rq 三目录 office/ 零差异;soffice.py/validate.py 为同一文件副本。
  • [ok] add_slide/clean/thumbnail 行为声明 — SKILL.md 表与正文描述(注册报路径、孤儿清理、labeled 网格)与各脚本 docstring/实现相符。
  • [ok] pptxgenjs 坑清单与 validate 兜底 — 'corrupts the file' 类规则 + 'After writeFile(), run validate.py' 原文在;validate.py 确有 chart/slide 检查逻辑。
  • [ok] defusedxml 安全解析 — SKILL.md 明文禁止 xml.etree 做变换并指定 defusedxml.minidom;脚本中实际使用 defusedxml。
  • [ok] 网络/凭证零命中 — 脚本无网络调用;环境变量仅 soffice.py 拷贝环境设 VCL 插件与 LD_PRELOAD(无读取密钥)。
  • [ok] 夸大检查 — description 'any time a .pptx or .potx file is involved'——正文覆盖 create/edit/template/read/QA 全链,无越界承诺;设计指导属 prompt 层(依赖模型遵循+validate 兜底)。
  • [ok] 元数据 — 本地 HEAD==pin 41bbe19;LICENSE 专有与 frontmatter 'Proprietary' 一致。

6结论

  • 『交付到 PowerPoint 能打开』的质量底线:唯一把 pptxgenjs 生成的 chart XML 兼容性问题(其他工具全放行)显式化并给出 validate 关卡。
  • 模板套版工程化:thumbnail 选版→add_slide/clean 包级管理→XML 微编辑→validate --original,可直接用于品牌模板量产。
  • QA 与防 slop 双规范内建:三层 QA + 明确的『AI 痕迹』禁用清单(accent 下划线/色条/默认蓝)。
  • 渲染器差异被系统管理:字体 QA 可信度分级 + 冗余量策略,视觉 QA 结论可信。
  • XML 编辑采用 defusedxml 并给出详细操作纪律(结构先行、槽位≠条目、单 a:p 列表)。
  • 适合:适合在受管环境里批量产出/套版演示 deck(销售、课程、报告),尤其是『模板必须被严格遵守』与『PowerPoint 必须能打开』的双重要求场景;设计规范(色板/版式/字体)也适合作为团队 deck 风格基线。
    不适合:不适合无 LibreOffice/poppler/node 环境(视觉 QA 与生成不可用);不适合对图表要『绝对像素级还原』而非原生 PowerPoint 图表语义的场景;不适合纯文字快速草稿(流程成本高);不适合不能接受专有许可的组织。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-09
    方式 A · 人下载镜像包下载 pptx.tar.gz
    sha256: fa29d7374c319c8e…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit 41bbe19d1a;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库anthropics / anthropics/skills
    Stars175386
    最近推送2026-09-03
    本 skill commit41bbe19d1a
    许可Proprietary(skill 自带 LICENSE.txt:© 2025 Anthropic, PBC. All rights reserved. 按 Anthropic Consumer/Commercial Terms of Service 授权并附 ADDITIONAL RESTRICTIONS;非开源许可)
    本站信息
    收录日期2026-09-06
    分类文档与知识
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近