关于 powerpoint-automation
用于生成、翻译、重组和编辑 PowerPoint 演示文稿的技能,采用分阶段工作流,并以 `content.json` 作为内容基准。它适合需要模板化输出、质量检查或直接编辑已打开演示文稿的创作者。
主要功能
- 01将网页文章或结构化内容制作成 PPTX
- 02翻译并重组现有演示文稿
- 03以 `content.json` 作为内容基准
- 04使用模板构建演示文稿
- 05检查渲染幻灯片的布局与一致性
- 06通过 COM Automation 编辑已打开的演示文稿
适用场景
- 01将网页文章改编为幻灯片
- 02翻译现有 PPTX
- 03用模板根据已确认内容生成幻灯片
- 04编辑并检查 PowerPoint 中已打开的演示文稿
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aktsmm/ agent-skills --skill powerpoint-automation安装后在 Claude Code 中输入/powerpoint-automation确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitattributesLICENSE.txtassets/template_layouts.jsontemplate.pptxreferences/AGENTS.mdcontent-guidelines.mdIMPLEMENTATION_PATTERNS.mdreferences/agents/brainstormer.agent.mdjson-reviewer.agent.mdlocalizer.agent.mdorchestrator.agent.mdpptx-reviewer.agent.mdsummarizer.agent.mdreferences/instructions/com-automation.instructions.mdcommon.instructions.mdcustomer-facing-deck.instructions.mddeck-iteration-review.instructions.mderror-recovery.instructions.mdlocalize.instructions.mdplan-phase.instructions.mdpurpose-blog.instructions.mdpurpose-incident.instructions.mdpurpose-lt.instructions.mdpurpose-report.instructions.mdquality-guidelines.instructions.mdscript-dependencies.instructions.mdtemplate-advanced.instructions.mdtemplate-content-json.instructions.mdtemplate-replacements.instructions.mdtemplate.instructions.md详细介绍
PowerPoint 自动化
基于 Orchestrator-Workers 模式的 AI 驱动 PPTX 生成。
适用场景
- 想将网页文章或博客制作成幻灯片时
- 想翻译或重构现有 PPTX 时
- 想通过 COM Automation 直接编辑已打开的 PPTX 时
- 想基于模板生成 PPTX 时
- 想将 content.json 作为 SSOT,分离提取、翻译、生成和审阅流程时
快速开始
从网页文章生成
Create a 15-slide presentation from: https://zenn.dev/example/article
从现有 PPTX 生成
Translate this presentation to Japanese: input/presentation.pptx
使用 COM 编辑已打开的 PPTX
Edit the currently open PowerPoint deck with COM Automation and verify RefURL, notes, overflow, and hyperlinks.
工作流
TRIAGE → PLAN → PREPARE_TEMPLATE → EXTRACT → TRANSLATE → BUILD → REVIEW → DONE
| 阶段 | 主要执行者 | 用途 |
|---|---|---|
| EXTRACT | reconstruct_analyzer.py | 来源 -> content.json(图片由 extract_images.py 处理) |
| BUILD | create_from_template.py | content.json -> PPTX |
| REVIEW | PPTX Reviewer | 溢出 / 一致性 / 质量 |
核心资源
脚本
脚本选择、参数和验证入口定义在 references/SCRIPTS.md 中。
content.json
content.json 是此 skill 的 SSOT。在提取、翻译、生成和审阅过程中,始终以它为准。
{
"slides": [
{ "type": "title", "title": "Title", "subtitle": "Sub" },
{ "type": "content", "title": "Topic", "items": ["Point 1"] }
]
}
架构详情请参阅 references/schemas/content.schema.json。
模板
标准模板为 assets/template.pptx。布局和用途详情由 template 负责管理,main SKILL 中仅保留必要内容。
python scripts/create_from_template.py assets/template.pptx content.json output.pptx --config assets/template_layouts.json
Agent
角色定义和交接流程见 references/AGENTS.md 和 references/agents/。
操作规则
- SSOT:根据已批准的稿件生成 content.json,并保留稳定的主题/问题到幻灯片映射。内容未变时复用审批结果;主张发生变化或有明确范围限制时,需要确认。针对演示文稿格式压缩相关问答,不要删去限定条件。
- 一个阶段,一个目的:不要混合提取、翻译、生成和审阅
- 快速失败:出现问题时,不要强行进入下一阶段
- 人在环路中:在 PLAN 阶段征求用户确认
- 技术内容必须经过验证:Azure / Microsoft 的内容须先通过 MCP 确认一手信息,再纳入
- 先处理 PowerPoint 锁定问题:不要使用 python-pptx 覆盖已打开的 PPTX。读取也会触发
PermissionError,因此先用Copy-Item复制到%TEMP%,再读取。markitdown的输出通过 PowerShell 管道传输会乱码,因此使用-o写入文件 - 打开的演示文稿使用 COM:对于已打开的 PPTX 或现有演示文稿的直接编辑,请参阅 references/instructions/com-automation.instructions.md
- 要么保持打开,要么彻底关闭:COM 操作结束时,必须决定是“保持打开以供用户查看”还是“彻底关闭”。不要留下空白的 PowerPoint 窗口。如果仅用于内部处理,在
Presentation.Close()后确认Presentations.Count为 0,再调用Application.Quit();若仍有POWERPNT进程,只停止 MainWindowTitle 为空或不含文件名的进程(带文件名的进程表示用户正在使用) - 了解演示文稿的打开方式:通过
Invoke-Item/ 文件资源管理器打开的 OneDrive・SharePoint 上的 PPTX,其Presentation.FullName会是https://URL,且SaveCopyAs即使没有抛出异常,也会因未写入 %TEMP% 而失败。导出 PDF 前检查FullName;如果是 URL,先 Close,再使用本地绝对路径重新调用Presentations.Open()打开,然后执行SaveAs($tmp, 32) - 备注也是可分发内容:在备注中提供演示者指引,但整个交付物不得包含收件人无权接收的材料,包括隐藏幻灯片、备注和嵌入的来源。请使用单独的受限文件;NDA 标签和隐藏标记不代表获得了共享许可。
- 先交代受众背景:在答案和后续操作之前,介绍每个主题的目的或触发因素、当前情况以及尚未解决的问题。将这些背景放在主幻灯片上,而不只是写在备注中;备注仅用于允许提供的演示者指引和实施细节。
- 模板就是模板:如果用户指定了模板,尤其是封面,应使用模板中已有的占位符/布局,不要叠加其他图形将其遮挡
- 可复用模板应使用幻灯片母版:如果用户要求“制作模板”,封面、正文和 Ending 的可复用设计应放在
SlideMaster.CustomLayouts中,而不是直接放在幻灯片上;可编辑的文字应保留为 placeholder / text shape - PPTX 资源元数据检查关卡:在将模板或分发用 PPTX 纳入 skill asset / public artifact 前,使用
scripts/clean_template.py清理并净化docProps/custom.xml(MIP 标签、tenant、SharePoint 字段、同事邮箱)和docProps/core.xml(cp:lastModifiedBy/cp:revision)。PowerPoint 每次从 OneDrive / SharePoint 打开文件时都会重新添加 MIP,因此每次 check-in 前都要运行。详情请参阅 references/instructions/template.instructions.md。不要仅根据幻灯片正文搜索来判断安全性 - 日文模板默认字体:日文可复用模板的 master/layout 默认日文字体统一设置为
BIZ UDPゴシック,不要设计成每次都要在生成的幻灯片上进行后处理来修正字体 - 交付前进行渲染质检:构建或通过 COM 微调后,导出每张幻灯片;检查重叠、字体一致性和表格可读性。如果有支持图像的只读审阅者,可委托其审阅预览图、已批准的 content.json 和模板限制;仅要求其提供审阅过的幻灯片 ID、问题和修复建议。否则在本地检查。修复后重新渲染并复查受影响的幻灯片。
- 像评论者一样审阅,而不是像生成器一样:在给用户查看前,通过渲染图自行查找并修正“内容稀疏、文字过小、图标粗糙、未充分沿用模板、残留旧文案”等问题。详情请参阅 references/instructions/deck-iteration-review.instructions.md
- 媒体恢复检查关卡:用户审阅后插入/删除/恢复幻灯片时,继续操作前必须重新检查预期幻灯片数量以及嵌入视频/媒体的位置
- 模板基础幻灯片检查关卡:通过复制模板生成时,先明确要保留的示例幻灯片,并通过结构编辑删除不需要的 contact / next-event 等内容。完成前,根据内容清单推导预期页数,并验证剩余占位符和幻灯片顺序
- 可编辑图表:生成的图片只是可选的设计参考,不是可编辑的输出。根据已批准的 content.json,使用适当授权的图标资源重建文字、形状和连接线;保留图表中的关系。照片/屏幕截图应保留为图片;不要用 ASCII 艺术或整页栅格图替代可编辑幻灯片。
- 优先使用网格定位:在一致的布局网格上初始化位置,根据实际幻灯片渲染结果进行微调,并从最终导出文件中移除临时网格覆盖层。
- 附录 URL 使用“标题 - URL”格式:统一参考 URL 的显示格式
- 分别审阅内容和视觉效果:生成后,除了审阅外观,还要检查官方信息的准确性、URL 超链接数量、备注数量,以及 placeholder / 内部措辞
参考资料索引
常用资料
- references/SCRIPTS.md
- references/USE_CASES.md
- references/content-guidelines.md
- references/IMPLEMENTATION_PATTERNS.md
- references/instructions/com-automation.instructions.md
- references/instructions/template.instructions.md
- references/instructions/customer-facing-deck.instructions.md
- references/instructions/deck-iteration-review.instructions.md
有关形状示意图、模板 XML、SlideMaster 编辑、视觉 QA、超链接、RefURL、锁定、居中、损坏恢复和媒体嵌入,请参阅 Implementation Patterns。
完成标准
- source 和 goal 已固定
- 以 content.json 为准,各阶段已分离
- 已确认 template / layout 的前提条件
- technical content 已完成一手资料核查
- 操作性文本未出现在幻灯片页面上
- 使用模板时,已检查布局是否单调重复,以及是否存在多余的 placeholder
- 包含模板保留/删除对象在内的预期幻灯片数量与实际 slide set 一致
- 使用渲染图像进行 visual QA,并在修改后重新检查相应幻灯片
- 表格正文原则上不小于 16pt,并已确认 header 居中对齐、垂直居中且清晰可辨
- build 后已完成 overflow / consistency / hyperlink 检查
评论
支持 Markdown