基于 agents 插件市场:用 spec-first 工作流构建可编辑 PPTX 演示文稿
【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents
导读
pptx-deck-creation-builder是 agents 仓库 中pptx-deck-creation插件(位于 plugins/pptx-deck-creation)的核心 Agent 定义。它定义了一套"先写规范(spec-first)、坐标显式、原生可编辑"的 PPTX 生成方法论:以英寸为单位的 JSONlayout_tree作为最终事实来源,通过只读分析参考演示文稿、逐幻灯片独立编排坐标、构建后用几何与可访问性检查审计,最终交付可二次编辑的 PowerPoint 文件。读完本文,你将掌握该 Agent 的完整工作流、六个不可妥协规则、JSON 布局契约结构、质量闸门与交付边界,以及如何在本仓库配套 skill 与脚本的支撑下落地这套流程。
一、核心定位:可编辑 PPTX,而不是"图片化"幻灯片
与许多"把整页渲染成一张图"的生成方案不同,pptx-deck-creation-builder的底线是:
使用原生文本、形状、线条、表格、连接符和图片;绝不把整页图片当作幻灯片的主要内容。
这一定位在 README.md 中表述为"创建可编辑、生产就绪的 PowerPoint 演示文稿",并且明确划出了插件边界:只在用户真正请求 PPTX 时才生成一个小型、任务专属的python-pptx构建脚本,不附带通用渲染器、不克隆模板、不需要浏览器、不使用 MCP 服务,也不需要凭据或在线服务。
配套技能pptx-slide-specification(见 SKILL.md)进一步收紧了这条红线:最终坐标必须直接写在layout_tree里,"任何渲染器都不得在审计之后再决定放置、缩小文本或推断布局"。这意味着布局的最终决策权永远在规范文件手里,而不是在渲染引擎手里。
二、不可妥协规则:生成前的六条硬约束
Agent 文档列出了六条非协商规则,它们是整个工作流的设计地基,也是审计判定的依据:
| 规则 | 内容 | 配套佐证 |
|---|---|---|
| 1. 参考稿只读 | 只提取设计信号,绝不复制、克隆或修改提供的幻灯片 | pptx-reference-deck-analysis技能明确"此技能从不复制、克隆或修改源演示文稿"(见 SKILL.md) |
| 2. 独立编排坐标 | 每张生成的幻灯片都要有独立创作的、坐标显式的布局 | 布局契约要求"为每个目标幻灯片独立创作每个坐标" |
| 3. 按需构建 | 仅在用户请求 PPTX 时使用小型任务专属python-pptx构建器,不捆绑渲染器或辅助框架 | 见 README.md 的 Boundaries 一节 |
| 4. 原生对象 | 标题、说明、标签、指标、表格、图表、图示一律用原生对象;图片仅作辅助视觉 | pptx-quality-gates通过"有意义的幻灯片内容必须保持原生可编辑对象"这一通过标准落实 |
| 5. 不虚构事实 | 品牌、来源、许可、无障碍等缺失信息不得臆造,须指出缺口并请求决策 | pptx-deck-context规则要求"记录来源清单、许可证据" |
| 6. 生产工件齐备 | 规范、构建记录、来源清单、审计报告与 PPTX 一并交付 | 见下文"交付物"一节 |
其中第 5 条在pptx-deck-context(SKILL.md)中被展开为:没有记录许可证据,就不复制外部字体、图片、图标或 Logo;也不得把长篇幅原始资料原样塞进幻灯片规范,而应请求摘要或与决策相关的摘录。
三、六步工作流:从简报到大纲再到可编辑文件
Agent 文档给出六步流程,下面结合各配套 skill 展开每一步的实际做法。
第 1 步:确定受众、决策、素材、页数、语言与品牌方向
这是pptx-deck-context技能的"决策序列"第一步:确认受众、决策、幻灯片数量、语言、来源与品牌要求。若用户没有提供叙事框架,该技能提供一组可选框架供用户选择,且不得静默替用户做决定:mckinsey、scqa、pyramid、mece、action-title、assertion-evidence、exec-summary-first、custom。
第 2 步:准备叙事、来源清单与设计上下文
- 为每个指标、引述、图表数值和事实性主张分配稳定来源 ID并规划
source_ref(pptx-deck-context第 3 条); - 选择有文档记录的设计方向:优先用户品牌手册,其次只读参考稿证据,再次可复用设计档案(见下文设计档案);
- 在动笔之前,把框架、假设、来源清单、调色板、字体、间距与签名元素记录到
summary中。
设计档案速查(详见 design-profiles.md):
| Profile | 适用场景 | 设计信号 |
|---|---|---|
fluent-ui-design-tokens | 企业及微软生态对齐的演示文稿 | 克制的中性色、清晰的层级、基于 token 的间距、适度的圆角 |
primer-primitives | GitHub 及开发者向演示文稿 | 利落表面、强文本对比、功能性强调色、紧凑标签 |
editorial-minimal | 高管叙事与研究型演示文稿 | 充足留白、高对比字体、有限调色板、单一视觉母题 |
档案只是"设计证据":选定后必须把调色板、字体、间距、签名元素锁定进summary.design_context,再转换为显式的layout_tree颜色、填充、字体、规则线、卡片外壳与 bbox。
第 3 步:只读分析参考演示文稿
如果提供了参考稿,将其作为设计证据只读分析;仅当高层级提取无法确立所需事实时,才深入检查其 OOXML 包。pptx-reference-deck-analysis技能给出了四种提取模式:
- 紧凑提示上下文:幻灯片数量与尺寸、文本摘要、形状计数、样式、品牌信号、模板使用与布局节奏;
- 完整提取:
summary、幻灯片与只读layout_tree证据; - 文件夹诊断:每份演示文稿一条结果加清单;
- 样式母版分析:颜色、字体、尺寸分布、母版/版式使用与流模式;
- 派生模板目录:零基源索引、版式角色、可用区域、占位符、视觉结构与约束。
OOXML 底层工具(scripts/inspect.py、scripts/unpack.py、scripts/validate_package.py,位于 scripts)仅在高层提取无法覆盖主题、关系、备注、批注、动画、媒体、母版或版式时使用;使用前需按 requirements.txt 安装可选本地依赖defusedxml。安全要求包括:绝不在文件名上推断幻灯片顺序、必须相对.rels所有者解析关系目标、用defusedxml解析不可信 XML(不启用实体扩展、DTD 加载或网络访问),脚本本身也会拒绝路径穿越、符号链接、超大成员与压缩炸弹。
第 4 步:编写完整 JSON 布局契约
这是整套方法论的心脏:写出带最终英寸 bbox、z 序、样式、阅读顺序与来源引用的完整 JSON 布局契约。详见 layout-contract.md,核心约束包括:
- 根 JSON 包含
summary与slides; - 每张幻灯片具有稳定
id、消息导向的title、可访问性阅读顺序与完整layout_tree; - 布局树声明幻灯片尺寸、根组、以 id 为键的组与对象、最终英寸 bbox、样式、z 索引与分类;
- 每个有意义对象具备
id、kind、role、classification、content、style、bbox、z_index; - 生产级
summary含显式layout_policy(安全边距、内容底部、页脚顶部、最小间距)与无障碍元数据。
下面是契约文档中的完整示例结构:
{ "summary": { "layout_policy": { "safe_margin": 0.5, "content_bottom": 6.7, "footer_top": 6.85, "minimum_gap": 0.12 }, "accessibility": { "language": "en-US", "presentation_title": "Quarterly operating review" } }, "slides": [{ "id": "s01_overview", "title": "Operating margin improves after the cost reset", "accessibility": { "reading_order": ["title"] }, "layout_tree": { "slide_size": { "width": 13.333, "height": 7.5 }, "root_group_id": "root", "groups": { "root": { "id": "root", "role": "slide", "layout_mode": "absolute", "object_ids": ["title"], "group_ids": [], "bbox": { "x": 0, "y": 0, "width": 13.333, "height": 7.5 } } }, "objects": { "title": { "id": "title", "kind": "text", "role": "title", "classification": "content", "content": { "text": "Operating margin improves after the cost reset" }, "style": { "font_size": 30, "color": "#111827" }, "bbox": { "x": 0.75, "y": 0.55, "width": 10.8, "height": 0.65 }, "z_index": 2 } } } }] }契约文档强调:"最终树是审计契约,而不是渲染提示。" 配套的创作规则还包括:正常内容保持在安全边距内并位于页脚轨道之上(只有背景layout_design对象允许出血到整页);内容文本不小于 9 pt,宁可缩短、缩放或拆分稠密内容也不降字号;使用共享网格、一致间距、显式颜色、显式字号与有意的 z 序。
第 5 步:仅选用已批准的辅助视觉素材
pptx-visual-assets(SKILL.md)规定视觉素材只用于支撑幻灯片信息,绝不能压平或替代可编辑内容:
- 只有能提升理解时才选择素材类型(图标、图片、SVG、图示或信息图);
- 放置前确认本地路径、来源、使用权与简洁 alt 文本;
- 以最终英寸 bbox、有意的 z 索引与
content或layout_design分类加入素材; - 保持宽高比,确保没有素材遮挡可读文本、也没有把关键信息锁死在图片里。
细则见 asset-guidance.md:标题放在图片旁侧空间而非压在图上方;视觉素材在 z 序上位于可读文本之下;只有干净矢量源才能算可编辑视觉——绝不允许把位图包进 SVG 然后宣称可编辑;信息图只是辅助视觉,其关键信息必须用原生对象重建。若权限、来源或合适素材不可得,宁可省略素材并报告缺口,也绝不把占位符当作成品视觉交付。
第 6 步:构建并审计,直到通过或记录例外
按需生成每份演示文稿专属的小型构建脚本,然后审计演示文稿。构建契约(来自pptx-slide-specification)要求:构建器从空白幻灯片版式出发,用Inches(...)映射所有 bbox;显式设置换行、禁用自动缩放、文本内边距、锚点、对齐、字体、颜色、线条设置、图片宽高比与隐藏幻灯片状态;在添加对象前拒绝零值或负值几何。
四、质量闸门:通过标准与审计清单
pptx-quality-gates(SKILL.md)在交付前把关,并明确"把确定性失败当作修复工作,而不是例外"。其工作流为:
- 确认规范、构建器、PPTX、来源清单与审计路径;
- 构建前对坐标契约应用审计清单;
- 重新打开 PPTX,将幻灯片数量、实际边界、隐藏幻灯片与请求几何和布局树比对;
- 生产级演示文稿运行
pptx-reference-deck-analysis/scripts/validate_package.py并保存 JSON 报告; - 检查文档语言、幻灯片标题、有意义图片的 alt 文本、阅读顺序、表头与来源引用;
- 若环境中已有兼容渲染器,检查预览中的裁剪、字体回退、对比度、裁切与层级——不引入渲染器依赖;
- 修复规范或任务本地构建器,重建并重跑同样的检查。
通过标准:零内容碰撞、零文本溢出、零不安全内容边界、零无效正几何、零包完整性错误;有意义的幻灯片内容保持原生可编辑对象,图片仅起辅助作用。
手工审计清单(详见 audit-checklist.md)在构建前检查 10 项、构建后检查 4 项,其中值得注意的技术细节:
- 内容碰撞判定使用精确的 bbox 相交公式:
A.x < B.x + B.w && B.x < A.x + A.w && A.y < B.y + B.h && B.y < A.y + A.h; - CJK/全角文本按每行字符数减半来预估文本容量;
- 来源溯源要求每条有来源的主张具备可解析的来源 ID、定位符、主张类型与核验状态;
- 构建后重开包比对实际幻灯片数量、边界、隐藏状态与请求几何,并运行 OOXML 包校验器修复格式错误的 XML、断裂关系、内容类型缺口与重复版式链接。
修复顺序(来自 layout-contract.md)也值得记住:先移动或缩放 bbox、调整 z 序或拆分稠密幻灯片;再缩短文案或扩大文本 bbox;改字号永远放在最后,且内容不得低于 9 pt;最后重建并与契约比对实际对象边界。
五、交付物与边界
Agent 文档规定:当用户请求演示文稿规范时,返回严格 JSON;否则报告工件路径、假设、审计状态与未决决策,使用直接、简洁的业务英语,避免占位内容。
生产级交付需把以下工件放在一起:
- 幻灯片规范(spec)
- 生成的 PPTX
- 构建记录(build record)
- 几何审计、可访问性审计与包完整性 JSON 报告
- 来源清单(source manifest)
任何被记录的例外都必须标注:幻灯片 ID、对象 ID、责任人、原因与复核日期(这一要求同时出现在pptx-quality-gates与 audit-checklist.md 中)。
插件边界再次强调:只生成任务专属的小型python-pptx构建器;不附带通用渲染器、不克隆模板、不需要浏览器、不使用 MCP 服务、不需要凭据或在线服务——这保证了该工作流可以离线、可复现地运行在本地工作区中。
六、在 agents 仓库中实践
- 阅读本插件的完整说明:plugins/pptx-deck-creation/README.md;
- 体验各阶段 skill:上下文准备 pptx-deck-context/SKILL.md、规范创作 pptx-slide-specification/SKILL.md、参考稿分析 pptx-reference-deck-analysis/SKILL.md、视觉素材 pptx-visual-assets/SKILL.md、质量闸门 pptx-quality-gates/SKILL.md;
- 需要 OOXML 底层分析时,运行 scripts/inspect.py、scripts/validate_package.py 或 scripts/unpack.py,并先按 requirements.txt 安装
defusedxml。
一句话总结这套方法论的取舍:用"规范即契约 + 坐标即事实"取代"自动排版 + 全页图片",用只读分析与严格审计换取每一张幻灯片都可编辑、可追溯、可修复的生产级质量。
【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考