Gemini Enterprise Demo Generator 的 Professional Presentation Skill:用 python-pptx 构建咨询级演示文稿的完整指南
Gemini Enterprise Demo Generator 的 Professional Presentation Skill用 python-pptx 构建咨询级演示文稿的完整指南【免费下载链接】generative-aiSample code and notebooks for Generative AI on Google Cloud, with Gemini Enterprise Agent Platform项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai这篇技术指南深入剖析 Gemini Enterprise Demo Generator一个构建于 Google Apps Script 之上的低代码演示环境合成器中内置的professional-presentationAgent Skill。它以 SKILL.md 为规范定义了一套让 AI Agent 自动产出顶级咨询公司水准16:9 宽屏.pptx演示文稿的完整工作流从故事线规划、设计系统、图表渲染到强制校验与交付上传。读完本文你将掌握这套技能包的触发机制、五步制作流程、色彩/字体/版式设计规范、CJK 字体坑点规避、python-pptx 脚手架用法以及它在 Managed AgentAntigravity沙箱中的挂载与执行方式。Skill 定位何时触发、覆盖什么professional-presentation是一个以 YAML frontmatter 声明的 Agent Skill其元数据定义了它的身份与触发条件见 SKILL.md 首部name: professional-presentation description: Build a professional, executive-quality presentation deck (.pptx) with python-pptx. Use whenever the task asks for slides, a deck, a board/executive presentation, or a pitch. Covers design system, slide patterns, build process, and delivery.从这段描述可以看出它的使用边界只要任务涉及幻灯片 / 演示文稿 / 高管board-level汇报 / 商业提案pitchAgent 就应当读取并遵循本技能。它覆盖了设计系统design system、幻灯片模式slide patterns、构建流程build process与交付delivery四个维度最终交付物是一份.pptx文件。在该仓库中这一技能包属于 demo_skills 目录 下三大可交付物制作技能之一与professional-document商务文档.docx/PDF和web-report自包含 HTML 报告并列。它们面向的是 Demo Generator 体系中的Managed AgentAntigravity自主沙箱该沙箱内预装了数据科学工具链能够在后台花数十分钟自主规划、执行、自检并迭代生成专业交付物最终把成品以可下载链接交回用户。语言规则交付物跟随任务语言技能有一个前置硬性约束幻灯片上所有用户可见文本标题、正文、标签、演讲者备注必须与任务描述所用语言保持一致。技能文件本身用英文书写但成品语言由任务决定。这一点与整个 Demo Generator 的 i18n/l10n 架构一脉相承——在 ge-demo-generator 技能规范 中系统会依据客户域名 TLD如.co.jp自动映射日语、.de映射德语、.fr映射法语或用户交互语言自动检测目标语言并强制所有用户可见文本严格匹配该语言同时保持表名、列名等技术标识符始终为英文snake_case。演示文稿技能正是这一语言一致性规则在交付物层面的落地。五步制作流程从规划到交付SKILL.md 规定了一个端到端的五步流程强调先讲故事线、后写代码环境准备python-pptx与matplotlib通常已由环境预热预装——先尝试 import仅在缺失时执行pip install python-pptx。故事线规划写代码之前一份董事会级board-grade的 Deck 必须遵循固定叙事骨架封面title议程agenda执行摘要EXECUTIVE SUMMARY——把结论与 Top 3 发现前置只用一页3~5 个内容章节每章由一个极简的分节页section-divider开启Primary-dark 背景 章节序号 论断式标题建议 / 下一步recommendations / next steps一页只讲一件事One message per slide并且必须先完整写出大纲写入outline.md。单脚本构建用一个Python 脚本完成整份 Deck 的构建参考 scripts/build_deck.py 脚手架复制后按需改造。渲染 → 开档检查见校验节→ 修复 → 重试。交付见交付节。此外流程要求在执行摘要页与每个章节的关键页上添加演讲者备注speaker notesslide.notes_slide.notes_text_frame.text # 2-3 句该说什么而非复述幻灯片文字备注必须是要讲的话而不是页面文字的复制。设计系统一切在代码中落实SKILL.md 强调一条铁律所有设计规则都在代码中显式应用绝不依赖模板默认值。以下每一条都可以在脚手架build_deck.py中看到对应实现。画布与版式幻灯片尺寸固定为 16:913.333 × 7.5 英寸必须显式设置prs.slide_width Inches(13.333) prs.slide_height Inches(7.5)外边距 0.6 英寸标题区为顶部 1.2 英寸内容区建立在隐形 12 列网格之上优先采用文字 视觉双栏布局避免整版纯文字墙。在脚手架的new_deck()中尺寸被实现为模块级常量SLIDE_W Inches(13.333)、SLIDE_H Inches(7.5)、MARGIN Inches(0.6)所有排版函数均以这些常量为基准保证任何文本、图形都不会越出画布。配色体系定义一次、全局复用共六色角色色值用途Primary dark#1A2B4A标题、页眉条、小节分隔页背景Accent#2E6FDB高亮、图表序列、关键数字Secondary accent#E8A33D标注、增量deltas——克制使用Body#333F50正文字色Muted#8A93A6次要文字、页脚背景 / 浅色面板#FFFFFF/#F2F5FA页面底色 / 交替表格行、面板在 build_deck.py 中对应为六个RGBColor常量PRIMARY、ACCENT、WARN、BODY、MUTED、PANEL与规范逐字对应。字体排印全程只用一种无衬线字体族Arial 永远可用。字号阶梯标题 30–34pt 粗体章节标题 24–28pt正文 14–18pt说明文字 11–12pt。任何文本不得低于 11pt。内容密度上限每页最多约 5 条 bullet每条最多约 12 个词。脚手架的text_box()与content_slide()即按此实现标题 30pt 加粗 Primary 色、正文 16pt Body 色、页脚 10pt Muted 色。版式元素每个内容页的标题下方都有一条细的强调线accent rule一个 0.03 英寸高、Primary-dark 色的矩形。脚手架accent_rule()用MSO_SHAPE.RECTANGLE从左边距画到右边距高度用Emu(27432)精确对应 0.03 英寸。大数字页每个 KPI 一个面板数字用 40–54pt Accent 色标签 12pt Muted 色2–4 个等宽面板排布。页脚除封面外每页都有——左侧为简短 Deck 标题、右侧为页码、10pt Muted 色。脚手架中由两个位于Inches(7.05)的text_box实现左页脚 右对齐页码。图表matplotlib 优先首选用 matplotlib 生成图表 PNG沿用同一套配色、不画多余的网格线、尽量用直接标注替代图例、150 dpi再用add_picture放置到幻灯片上。简单的柱状图/折线图也可接受 pptx 原生图表。与设计系统一致图表取色直接复用ACCENT、PRIMARY等常量。CJK 字体坑点日/中/韩文本必读SKILL.md 用一个专门小节警告matplotlib 默认字体没有任何 CJK 字形非纯 ASCII 标签会渲染成一排空心方块。因此在渲染任何含非 ASCII 标签的图表之前必须先注册匹配字体日语最快路径pip install japanize-matplotlibimport japanize_matplotlib # 紧跟在 import matplotlib 之后一次性注册其他文字系统下载覆盖该语言的 Noto Sans 字体用matplotlib.font_manager.fontManager.addfont(path) # 注册字体文件 matplotlib.rcParams[font.family] 字体名 # 设为全局字体族完成注册。渲染完成后必须重新打开 PNG 检查是否存在空心方块字形确认无误后再放入幻灯片——这是验证在前、排版在后的强制动作。这一要求与仓库对多语言交付物的一贯态度一致演示文案、PDF 标题、Excel 表头、扫描件手写文字等所有用户可见内容都要按目标语言本地化而这里则把同样的语言正确性延伸到图表像素层面。表格表头行填充 Primary dark 白色粗体文字正文行在白色与浅色面板#F2F5FA之间交替字号 11–12pt。内容质量红线除了视觉规范SKILL.md 还定义了内容层面的三条硬性标准标题必须是论断assertions而不是主题。例如 Revenue grew 18% on repeat customers而不是 Revenue。读者仅凭标题就能读懂整份论证。数字必须来自所提供的数据按可读性四舍五入如12.4M、18%、3.2x绝不虚构任何数字。收尾必须是下一步 / 建议页包含具体、可指定负责人的行动项owner-assignable actions。这三条共同服务于董事会级 Deck的定义——一页一事、结论前置、数据可稽核、行动可落地。强制校验Verification构建后必须重开文件断言构建完成之后Agent 必须用 python-pptx重新打开生成的文件并执行一系列断言预期页数实际页数必须等于规划页数无溢出所有文本框不得溢出其形状用文本长度对比形状大小做启发式判断任何形状不得超出幻灯片边界标题与页脚每页都有非空标题内容页页脚带正确页码字体完整性遍历每个文本框中的每个 run确认没有任何字符来自缺失的字体路径CJK Deck 中尤其要确认 Deck 字体覆盖对应文字系统并复查图表 PNG 无空心方块字形。发现问题则修复并重建。SKILL.md 特别强调即使第一遍构建看起来正常也必须至少完整地做一遍复查—重建循环——对照任务陈述的质量条件重新通读整份 Deck再决定是否交付。脚手架 build_deck.py 的verify(path, expected_slides)函数正是这一规范的代码化落地断言页数相等并遍历每一页每个 shape 检查其left/top非负、leftwidth与topheight不超过画布容差Emu(1)全部通过后打印verify OK: path。构建与校验的职责因此被明确切分content_slide等函数只管画verify负责把关。交付Delivery构建与校验通过后按以下顺序交付命名使用有描述性的文件名例如q3_revenue_review.pptx。上传若任务提供了交付物上传 URL用 PUT 方式上传Content-Type必须是 PPTX 的 MIME 类型curl -sS -X PUT --upload-file file \ -H Content-Type: application/vnd.openxmlformats-officedocument.presentationml.presentation \ upload_url失败时重试一次。汇报最终报告中必须包含文件名、幻灯片总数以及每页一行的内容摘要。仓库中的落地从规范到沙箱技能包脚手架源码build_deck.py技能把复制并改造作为推荐用法build_deck.py不是被 import 的库而是一个可直接复制的工作脚手架文件头注释明确写了 Scaffold for a professional 16:9 deck. Copy and adapt; do not import this file.。它演示了三条最佳实践内容即数据define SLIDES as data, then render mechanically把幻灯片内容组织成数据再用content_slide(prs, title, bullets, footer_text, page_no)机械渲染。注释指出这样做让校验通过和后续修改都变得微不足道。统一入口new_deck()创建 16:9 画布blank()使用slide_layouts[6]全空白版式起步完全绕开模板默认样式——与绝不依赖模板默认值的规范呼应。accent_rule()、text_box()、content_slide()三个函数把设计系统中的配色、强调线、页脚等规则收敛为可复用代码。仓库中存在两份几乎相同的技能副本skills 技能包中的副本供 Coding Agent 版本使用与 agent_template 中的副本供 Web 应用版本生成的 setup 脚本抓取。从仓库结构看这两份副本允许各自演化需要同步修改时需留意两处。技能包如何挂载到 Managed Agent这份 SKILL.md 不是给读者看的说明文档而是运行时真实生效的指令源。其挂载链路可以在仓库中完整追到项目主 README 说明Managed Agent 方案默认启用会将交付物技能包从抓取的 agent template 上传到演示项目的 GCS dashboards 桶并预热沙箱环境预装交付物工具链与 Workspace CLI。create_managed_agent.py 的源码确认了挂载方式当传入SKILLS_SOURCE时环境配置写入env[sources] [{type: gcs, source: SKILLS_SOURCE, target: /.agent/skills}]即把 GCS 上的技能包挂载为沙箱内的/.agent/skills目录。demo_skills 目录 README 补充了交付细节生成脚本把这些SKILL.md复制进 demo 项目的skills/目录create_managed_agent.py将该目录注册为 Agent 的技能源没有构建步骤——直接编辑 SKILL.md 即生效。沙箱内如何消费技能Code.gs 中嵌入的 Managed Agent 系统指令进一步定义了沙箱内的行为契约从源码结构可推断其关键约束技能包挂载在/.agent/skills注意挂载相对工作目录绝对路径不存在指令特别提醒列出目录前先确认路径。构建任何交付物演示文稿、文档、PDF、网页之前必须先列出技能目录、读取匹配的 SKILL.md并严格遵循其流程、设计系统与校验步骤。若技能包缺失Agent 仍需用自身最佳实践完成交付物——技能缺失不是停工的理由。成品文件完成后必须对照所遵循 SKILL.md 的校验清单逐项核查任何一项不过则修复并重建即便一切正常也至少完成一轮复查—修订——这与 SKILL.md 中至少一次完整 review-and-rebuild的强制要求完全一致可见规范在系统指令层被再次强化。技能包的写作规则作为给 Agent 读的规范demo_skills 目录 README 总结了这类技能的创作原则同样适用于professional-presentationFrontmatter 必须有namedescription且描述要写清何时使用该技能Agent 依据它做技能路由文件本身只用英文与可打印 ASCII成品语言跟随任务语言由各技能自行声明内容必须具体可执行流程process、设计系统design system、校验verification、交付delivery四要素齐全因为Agent 会逐字照做follows them literally。小结professional-presentation技能把咨询级演示文稿从玄学变成了一套可复现、可校验、可自动执行的工程规范先写故事线大纲先行→ 单脚本渲染内容即数据→ 设计系统代码化配色/字体/网格/强调线/页脚全在常量与函数中→ 图表像素级把关含 CJK 字体规避→ 重开文件强制校验页数/溢出/页脚/字形→ 按 MIME 类型上传交付。它既是 SKILL.md 规范的最佳实践范本也是整个 Gemini Enterprise Demo Generator让 Agent 产出专业交付物能力链上的关键一环与 build_deck.py 脚手架、技能挂载实现 与 系统指令层 相互印证构成了一套从指令到运行到校验的闭环。若你正在为 Agent 编写类似的交付物技能这份 SKILL.md 的四要素 语言规则 强制校验结构本身就是一份值得直接借鉴的模板。【免费下载链接】generative-aiSample code and notebooks for Generative AI on Google Cloud, with Gemini Enterprise Agent Platform项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考