OpenDesign 中的 Claude PPT 技能:用编程 Agent 生成幻灯片的完整技术指南
「Claude 能做 PowerPoint 吗?」是眼下关于编程 Agent 最常被问到的问题之一,答案是:能——靠的是一种叫 PPT 技能(PPT skill) 的可安装单元,它教会你的 Agent 把一句提示词变成一整套幻灯片。本文基于当前仓库的实际实现展开:先讲清 PPT 技能是什么、2026 年哪些开源方案值得安装、如何真正上手使用;再结合 OpenDesign 仓库的 skills/ 目录与 Skills 协议文档,深入剖析技能在 agent-native 设计工作空间中的发现机制、od: 元数据扩展和 deck 工作流,让你既能独立使用这些技能,也能理解它们在一套完整工作流里的位置。
什么是 Claude PPT 技能?
技能(Skill)是一套打包好的指令和素材,编程 Agent(Claude Code、Codex、Cursor 等)会在任务进行中加载它,去完成某件具体的事。一个 Claude PPT 技能 教会 Agent 生成演示文稿:你用大白话描述这套幻灯片,Agent 套用技能里的版式系统和设计规则,然后把幻灯片交还给你——通常是 HTML,或者一份可编辑的 PowerPoint 文件。
从仓库的协议文档可以看到,这个定义并不是空话。Skills 协议明确规定了技能的基础形态:一个目录,至少包含一个 SKILL.md(清单 + 工作流指令),可选的 assets/(技能要写出的模板、图片、样板代码)和 references/(规划阶段读取的知识文件):
<skill-root>/
├── SKILL.md # manifest + workflow instructions
├── assets/ # templates, images, boilerplate the skill writes
│ └── …
└── references/ # knowledge files the skill reads during planning
├── components.md
├── layouts.md
└── …
SKILL.md 的 front-matter 采用 YAML,携带 name、description 和 triggers(触发短语)字段;正文是自由格式的 Markdown,描述 Agent 应当遵循的工作流——通常是编号步骤列表加设计原则。也就是说,所谓「技能」的本质是:给 Agent 的一段带清单的结构化 Prompt 工程产物,它回答的正是人们真正会去搜索的问题:
- Claude 能做 PPT 吗? 能——装一个 PPT 技能,然后给它提示词。
- 我怎么用 Claude 做 PPT? 描述主题、受众和篇幅;技能会处理结构、版式和样式。
- 它免费吗? 这些技能大多是开源且免费的;你只需自备模型的 API key。
相比一个完整的应用,它的取舍在于:你是通过 Agent 和一个代码仓库来工作,而不是一个打磨精致的图形界面——而这恰恰是开发者喜欢它们的原因。
2026 年值得安装的开源 PPT 技能
下面是社区中真正有热度的开源编程 Agent PPT 技能(星数取自原始指南撰稿时 GitHub 上的数据,许可证信息同样源自该指南):
frontend-slides(25k★,MIT)
Zara Zhang 的 frontend-slides 借助编程 Agent 的前端能力,把幻灯片当作网页来构建——干净、现代、基于 HTML,直接在浏览器里演示。它是这个领域星数最高的技能,如果你想要 web 原生的幻灯片和完整的 CSS 控制力,它是一个很好的默认选择,最适合习惯扎根在 web 平台上的开发者。当前仓库也收录了它的目录条目 skills/frontend-slides/SKILL.md:description 标注了「Generate animation-rich HTML presentations with visual style previews」,triggers 包含 html slides、animation slides、web ppt 等触发短语,od.mode 设为 deck。
guizang-ppt-skill(20.8k★,AGPL-3.0)
来自中国 AI 创作者 Guizang 的 guizang-ppt-skill,能生成风格强烈、编排考究的 HTML 幻灯片——杂志式排版和瑞士网格字体,看上去是「设计」出来的,而不是套模板套出来的。如果你在意这套幻灯片读起来像一件精心打磨的作品,就选它。如果你打算把它嵌进一个闭源产品里,请留意 AGPL-3.0 许可证。值得注意的是,OpenDesign 仓库对这个技能做了双轨集成:协议文档明确指出「bundled guizang integration is maintained under design-templates/guizang-ppt/」,即 guizang 风格被作为渲染模板集成进 design-templates/guizang-ppt/,保留原许可证并附加 OpenDesign 元数据;而对外分发则走插件系统。
dashiAI-ppt-skill(2.1k★,AGPL-3.0)
dashiAI("PPT 大师")自带十几套视觉主题和一个庞大的版式库,而且很少见地——导出的是可在浏览器里编辑的演示文稿。如果你的交付物最终必须是一个非开发者也能改动的东西,dashiAI 的可编辑输出就是它的差异化优势。AGPL-3.0 许可证。
codex-ppt-skill(3.4k★,MIT)
codex-ppt-skill 把编程 Agent 与图像生成(GPT-Image-2)配对,产出以图像为主的 PowerPoint 幻灯片——适合视觉丰富、封面感强的演示,每一页都是一张设计过的图,而不是一堆要点条目。MIT 许可证。
ppt-master(38k★,MIT)
严格来说它不算一个「技能」,但值得了解:ppt-master 通过一套 Agent 工作流,把任意文档变成一份真正可编辑的 PowerPoint,带原生形状和动画。如果你的硬性要求是带原生形状的可编辑 .pptx,它是最接近的开源选择。MIT 许可证。
Claude PPT 技能评分表
| 技能 | 星数 | 许可证 | 输出 | 最适合 |
|---|---|---|---|---|
| frontend-slides | 25k | MIT | HTML 网页幻灯片 | web 原生幻灯片、CSS 控制 |
| guizang-ppt-skill | 20.8k | AGPL-3.0 | HTML(编辑排版) | 精心打磨、有设计感的幻灯片 |
| dashiAI-ppt-skill | 2.1k | AGPL-3.0 | 可编辑演示文稿 | 非开发者也能改的输出 |
| codex-ppt-skill | 3.4k | MIT | 基于图像的 PPTX | 视觉化、以图像为主的幻灯片 |
| ppt-master | 38k | MIT | 可编辑 PPTX | 原生形状与动画 |
没有唯一的赢家——这取决于你需要的输出(HTML 还是可编辑的 .pptx)、你想要的观感(编辑排版还是以图像为主),以及你能接受的许可证。
一个容易忽略的维度是许可证:MIT 的三个项目可以自由嵌入商业产品;而 guizang 与 dashiAI 采用 AGPL-3.0,若你计划把它们的输出逻辑集成进闭源服务,需要在法务上确认网络交互条款。选型时把许可证和输出格式放在同一张决策表里,能避免后期返工。
如何实际使用一个 Claude PPT 技能
各个技能的流程大同小异:
- 安装技能——把技能克隆或添加到你的编程 Agent 的技能目录里(每个仓库都有配置步骤),并自备你的模型 key。
- 描述这套幻灯片——给 Agent 提示词,说明主题、受众、语气和大致页数。简报越具体,结构越好。
- 让技能运行——Agent 套用技能的版式系统并生成幻灯片。
- 迭代——用大白话要求修改("把开头收紧一点"、"把第 4 页做成对比表"、"换成编辑排版主题"),然后重新渲染。
- 导出——导成 HTML、PDF,或(对支持的技能而言)一份可编辑的
.pptx。
仓库里的现成技能:以 OpenDesign 为例
OpenDesign 仓库自身就内置了一批幻灯片类技能,可以直接作为上面这套流程的参照。以目录条目 skills/frontend-slides/SKILL.md 为例,它的 How to use 部分写明了标准动作:这个条目用于让 Agent 在规划阶段发现该技能;若要运行完整上游工作流(含原始素材、脚本和引用),需把上游 bundle 安装到你当前 Agent 的技能目录,然后用技能名(frontend-slides)或 frontmatter 中列出的任一触发短语来唤起它。
仓库中还收录了另外几个同类条目,展示了不同的上游来源与输出路线:
- skills/pptx/SKILL.md——「Read, generate, and adjust PowerPoint slides, layouts, and templates」,源自 Anthropic 官方技能仓库,面向高管演示、培训材料等场景,触发词含
pptx、powerpoint、slide deck。 - skills/slides/SKILL.md——「Create and edit .pptx presentation decks with PptxGenJS」,源自 OpenAI 的技能仓库,用 PptxGenJS 生成可编辑的
.pptx,适合销售 deck 和设计系统展示。 - skills/ppt-keynote/SKILL.md——一个完整的 deck 模板,frontmatter 中声明了
od.mode: deck、aspect_hint: "16:9 (1280×720)"和example_prompt(含中文化版本),正文则给出精确的版式规则:每张幻灯片是一个<section class="slide">,宽 1280 高 720 居中,第一页封面、最后一页致谢,ArrowLeft / ArrowRight / 空格键切换并维护#/3形式的 hash,页间使用 fade-in 动画。这些细粒度的版式约束正是「技能教会 Agent 设计」的具体体现。
技能在 OpenDesign 里的底层机制
理解了单个技能的内容,再看它在 OpenDesign 中如何被组织、发现和注入,能帮你判断何时该从「裸技能」升级到「工作空间」。
od: 元数据扩展
Skills 协议定义了在 Claude Code 基础格式之上的可选 od: 扩展字段,全部可选、缺失时有合理默认值:
| 字段 | 用途 |
|---|---|
od.mode |
注册表分类与创建面过滤(prototype / deck / template / design-system / image / video / audio 之一) |
od.surface |
web / image / video / audio 表面过滤 |
od.preview.type |
选择正确的 iframe 渲染器(如 html) |
od.example_prompt / od.example_prompt_i18n |
选择器 CTA 的英文兜底与本地化启动提示 |
od.design_system.requires |
是否把当前激活的设计系统上下文整体拼进提示 |
od.craft.requires |
注入哪些品牌无关的 craft/<slug>.md 工艺参考 |
od.critique.policy |
该技能的 Critique Theater 策略(required / opt-in / opt-out) |
协议的目标是对既有 Claude Code 技能零配置兼容:一个技能如果完全不带 od: 块,mode 会从描述与正文推断(兜底 prototype),surface 兜底 web,design_system.requires 兜底 true。这意味着上面提到的任何一个社区 PPT 技能,其 SKILL.md 都可以原样被读取,不需要改动。
技能发现、优先级与运行期暂存
从源码结构看,OpenDesign 的 daemon 把功能技能与渲染模板分开放置在两个注册表里(协议第 3 节):功能技能按「用户管理技能 → 内置 skills/」的优先级经 /api/skills 暴露;渲染模板按「用户管理模板 → 内置 design-templates/」经 /api/design-templates 暴露。同名 frontmatter name 在高优先级根中会遮蔽内置条目但不删除它;每次列表请求都会重新扫描,本地改动无需重启即可生效。
运行期有一个关键细节:OpenDesign 不会把激活的 bundle 以符号链接形式塞进每个 Agent 的全局配置。在项目运行前,daemon 会把每个激活技能/模板连同附属文件真实复制到项目下的 .od-skills/ 别名目录,提示词前言会同时给出这个 CWD 相对路径和一个绝对路径兜底——这样在符号链接或跨设备重命名语义不同的文件系统上,引用与素材依然可达(Runtime resource staging)。
命令行侧也提供了完整的检查面(第 6 节):
od skills list # 列出 /api/skills 返回的条目 id 与显示名
od skills show <id> # 查看单个技能的 daemon JSON 表示
od skill install github:owner/repo
od skill install https://example.com/my-skill.tar.gz
# 通过 POST /api/skills/install 安装一个公开技能 bundle
远程技能导入接受与插件 URL 导入相同的来源语法:github:owner/repo 或包含一个顶层 SKILL.md 的公开 HTTPS .tar.gz / .tgz 归档。下载有大小上限,并拒绝私有网络目标、路径穿越、符号/硬链接、畸形清单与重复技能 id;有意的替换必须显式先卸载旧的用户技能再安装新 bundle。
deck 模式的工作流
对幻灯片场景,od.mode: deck 有专门语义(第 4.2 节):
- 目的:多页演示文稿;预览为
html(单文件 deck,页内导航); - 主输出:
index.html;次输出:slides.json(供 PPTX 导出消费); - 典型工作流:确认主题与页数 → 选主题 → 从版式目录填充幻灯片 → 对照质量清单自检;
- 参考实现:内置的 design-templates/guizang-ppt/ 集成。
协议还给出了一个完整走查(第 7 节):daemon 经 /api/design-templates 列出 guizang 模板(独立于功能技能注册表);用户在 Deck 创建页选中该模板后,OpenDesign 把它存为项目的 skillId,daemon 的联合解析器加载该模板的 SKILL.md 与资源(而不会重复注入 Deck 页默认的 funktionale 技能);Agent 按模板工作流把 deck 文件写进项目工作区并执行交接前清单;文件写入实时流入 UI,index.html 变得可预览,deck 导出面消费产出的项目文件。
另外两个机制值得注意:
- 设计系统上下文:任何 bundle 都可声明是否消费激活的设计系统。开启时,daemon 按固定顺序把素材拼进系统提示——
USAGE.md指引、完整DESIGN.md正文、tokens.css、组件清单、丰富文件索引,最后是技能正文(第 5 节)。这解释了为什么「同一套幻灯片在不同品牌下输出」是可能的:品牌 token 在提示层就已经在场。 - 工艺参考(craft):一些工艺知识是品牌无关的普适规则(如「ALL CAPS 需要 ≥0.06em 字距」「
#6366f1是 AI 默认味的标志」)。它们独立打包在 craft/ 目录,技能通过od.craft.requires: [typography, color, anti-ai-slop]这样的声明按需引用;解析时 daemon 从 frontmatter 读出 slug(apps/daemon/src/skills.ts)、读取对应craft/<slug>.md(apps/daemon/src/craft.ts),并把拼好的工艺正文注入在 DESIGN.md 与技能正文之间(apps/daemon/src/prompts/system.ts)。品牌 token 冲突时 DESIGN.md 优先,craft 规则覆盖 DESIGN.md 未声明的一切。仓库侧还有更严格的校验:pnpm lint:craft与pnpm guard会拒绝无效或未解析的引用。
这些机制合起来,就是原文档所说的「技能是脚本、工作空间是层」的技术含义:技能本身只负责把一次性的幻灯片做对;跨项目的一致性、可编辑的产出、以及与你其余设计工作的协同,需要由上面这套注册表 + 提示组装 + 项目工作区机制来承载。
从技能到工作空间:OpenDesign 的位置
一个 PPT 技能,用来在你的终端里做一份一次性的幻灯片再合适不过。但技能本质上是一段脚本——它不会把你的品牌带到不同项目之间,不会让输出在一个真正的工作空间里保持可编辑,也不会让这套幻灯片和你其余的设计工作协同起来。
OpenDesign 是技能之上的那一层:一个开源(Apache-2.0)、本地优先、自备 key 的 agent-native 设计工作空间,它独立于你已经在用的编程 Agent 之外。你描述一套幻灯片,Agent 就对着一套设计系统生成一份可编辑的 deck——而且 OpenDesign 在其插件/模板库里提供了第一方的 HTML 幻灯片模板,包括 guizang 风格的编辑排版版式(见 design-templates/guizang-ppt/ 与 design-templates/html-ppt/,以及 templates/deck-framework.html 等 deck 框架文件)。
- 一致,而非一次性——幻灯片对着一套设计系统产出,符合品牌调性,而不是每次都从一个新模板开始;
- 可编辑、且归你所有的输出——Apache-2.0 且本地优先,所以工作流和成果都属于你;
- 同一个 Agent,更大的施展面——如果你今天已经在用编程 Agent 做幻灯片,看看 OpenDesign 如何与 Claude Code 协作(见 docs/agent-adapters.md)。
当你想从命令行快速得到一份幻灯片时,用技能。当这套幻灯片必须符合品牌调性、可编辑,并且是一整套更大的设计工作的一部分时,去找一个工作空间。
常见问题
Claude 能做 PowerPoint 吗? 能。装一个 Claude PPT 技能(比如 frontend-slides 或 dashiAI),把你的主题作为提示词交给它——Agent 就会生成幻灯片。有些技能直接导出可编辑的 .pptx(如仓库内基于 PptxGenJS 的 slides 技能);另一些产出你在浏览器里演示的 HTML。
有没有官方的 Claude PPT 技能? 如今强势的那些选择都是开源社区技能,而非某个官方的 Anthropic 产品。Anthropic 为 Claude/Claude Code 提供了一套技能系统(仓库中的 pptx 条目 正是从该官方仓库精选收录的);上面那些演示技能是社区在它之上构建的。
Claude PPT 技能是免费的吗? 本指南里的这些都是开源且可免费使用的——你自备模型的 API key。在把某个技能嵌进商业产品之前,先看清楚各个项目的许可证(MIT 还是 AGPL-3.0)。
我怎么用 Claude 做 PPT? 装一个 PPT 技能,然后向你的 Agent 描述这套幻灯片(主题、受众、篇幅)。用大白话迭代,再导出成 HTML 或 PowerPoint。在 OpenDesign 中还可以用 od skills list 查看可用技能、用触发短语直接唤起。
技能还是设计工作空间——我该用哪个? 技能最适合在终端里做一份快速、一次性的幻灯片。像 OpenDesign 这样的 agent-native 工作空间,则更适合你需要符合品牌调性、可编辑、并且与其余设计工作放在一起的幻灯片。
结语
用编程 Agent 做幻灯片,在 2026 年从一件新鲜事变成了一套真正的工作流。如果你想要一份快速的幻灯片,装一个 Claude PPT 技能——frontend-slides 做 web 原生幻灯片,guizang 求编辑排版的精致,dashiAI 要可编辑的输出。而当这套幻灯片需要符合品牌调性、可编辑,并且成为某个更大整体的一部分时,那就该由一个 agent-native 设计工作空间来接手了——本仓库的 Skills 协议与 skills/、design-templates/ 目录,提供了理解这一层机制的最直接入口。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0623
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00