定义
HXMPPT 是一个基于 Moonshot AI 的 PPTD 格式构建的演示文稿创建与导出技能。它定义了一种 YAML 格式的中间 DSL(.pptd),该 DSL 抽象了 OOXML,并确保每个页面是自包含的。
默认输出不仅是 PPTD。 除非用户明确选择不输出,否则应同时生成以下两者:
- 完整的可编辑 PPTD 项目目录(
.pptd+pages/+media/及其他引用的依赖项); - 匹配的本地生成的
.pptx,默认情况下为每张幻灯片应用淡入淡出的幻灯片过渡效果。
PPTX 导出使用 python-pptx 在本地运行——无需 Node.js、无需浏览器、无需网络访问 Kimi 的公共编辑器。视觉质量预览图使用 Pillow 从相同的 PPTD 源在本地渲染。
为什么现在只支持本地? 以前的导出器通过 localhost SDK 桥接驱动 Kimi 公共浏览器端的 OOXML 编写器。Moonshot AI 关闭了那条逆向工程的路径并清除了上游仓库。当前的导出器是一个自包含的 Python 渲染器,直接遵循 PPTD 规范。本地编写器不支持字体嵌入和元素动画;不常见的图表类型会渲染为静态图片——请参阅此文件底部的“限制”部分。
现有的 PPTX 文件可以通过 scripts/import_pptx.py 转换为 PPTD 进行编辑(尽力而为:文本/形状/图片/表格/连接线会被导入;图表、组合、动画和备注将被跳过并给出警告——请参阅“限制”)。编辑后,两种输出将再次交付。
PPTD 格式
PPTD 格式是 OOXML 之上的一个简化抽象层,遵循基本的 YAML 语法。这种抽象保留了 OOXML 的核心内容(主题、页面布局、元素位置和定义等),同时移除了如母版等复杂的嵌套逻辑;每个页面都是自包含的——所见即所得。请查阅 reference/pptd.md 以获取此 DSL 的完整定义。
幻灯片制作工作流程
步骤 0:检查本地先决条件
默认交付包括 PPTX 导出和视觉质量预览,这需要一个小的本地 Python 工具链。在生成之前,请验证:
- python3(3.9 或更新):运行
python3 --version(在 Windows 上,python可能是正确的命令)。如果缺少python3且用户未明确选择仅输出 PPTD,请立即停止,告知用户从 https://www.python.org 安装 Python,并且不要继续;如果已约定仅输出 PPTD,则交付 PPTD 项目并报告阻塞项(与步骤 6 相同的后备方案)。 - 不需要 Node.js 和 agent-browser——本地转换器是纯 Python 的。复杂的图表类型(如烛台图/瀑布图/热力图/树图/旭日图/桑基图以及混合类型组合图)在存在时会额外使用 matplotlib;它会在首次使用时自动安装。
- 软依赖项由
scripts/export_pptx.py和scripts/export_images.py在缺失时通过 pip 自动安装:PyYAML、python-pptx、Pillow,以及(按需)matplotlib。如果存在活动的虚拟环境,则安装到其中,否则安装到pip install --user。设置HXMPPT_NO_INSTALL=1以在离线/CI 环境中禁用自动安装——此时导出器会报告缺失的具体包。 - 下面的脚本路径是相对于包含此 SKILL.md 的目录(技能根目录)的。 在调用命令时,请将其解析为已安装技能的绝对路径,例如
<skill-dir>/scripts/export_pptx.py。技能根目录下的install.sh脚本可将此技能安装到标准的 Claude/WorkBuddy 位置。
步骤 1:全面阅读上下文
阅读用户上传的所有文件、提供的 URL 以及 PPTD 格式指南 reference/pptd.md,以全面理解用户的需求。
步骤 2:快速需求确认(一轮问题,然后开始)
根据上下文理解用户的需求:
- 确定请求的目的
- 创建幻灯片:创建新的演示文稿(从零开始,或基于现有 pptx 模板)
- 编辑幻灯片:编辑用户上传的 PPT(本地修改、单页美化等)
- 复刻幻灯片:将非 pptx 格式(图片、PDF 等)的演示文稿复刻为 PPTD 格式
- 确定设计方向(自主设计 / 设计系统 / 模板 / 风格迁移——见步骤 3)
- 确定输入类型(仅主题 / 完整文档 / 大纲)。当输入为完整文档或大纲且未禁止扩展时,倾向于用相关材料进行扩展。
- 确定页数(用户请求优先;有则大纲 → 匹配;仅主题 → 推荐并确认)。
速度规则(强制)
- 最多问一轮问题。 将主题/输入/页数/风格/受众合并到一次提问中,并为每个问题给出默认答案,以便用户可以只用一个词或什么都不回就来确认。
- 如果用户没有回答,用一行陈述你的假设(例如“按商务咨询风格、约 15 页处理”)并继续。步骤 4 的人工审核门控可以低价捕获错误假设。
- 仅为真正的阻塞性问题(无法访问的文件/URL、相互矛盾的硬性约束)才打断用户。在草稿存在之前,不要在品味问题上浪费回合——草稿传达品味的效果远好于提问。
步骤 3:生成初稿(一次性完成——速度优先于润色)
在生成之前,首先阅读 reference/pptd.md 以了解 PPTD 格式定义和约束条件。
草稿优先规则(强制)
- 一次性生成整个幻灯片组。 预先设计好故事线和页面规划,然后并行批量编写每个
.page文件。不要编写一个页面,重新阅读它,然后再自己重写。 - 初稿的唯一任务是让人工判断方向——故事线、结构、密度和风格。“足够好以供判断”就是这个标准。在人工看到幻灯片组之前追求像素级完美是一种缺陷,而非优点。
- 在人工审核门控之前不要进行自我质量检查循环。 只运行一个完整性检查:导出器能够解析并运行,没有指示页面损坏的警告。不要运行视觉质量检查清单,不要自我修复,不要预先重新生成页面。
- 保持草稿廉价。 被拒绝的方向应该花费几分钟,而不是几小时——用户可能会根据草稿更换模型、风格或指示。
- 编写完草稿后,直接进入步骤 4(人工审核门控)。即使对于“简单”的幻灯片组,也不要跳过它。
复刻幻灯片
- 分析图片以估算元素位置、字体和大小等,并尽可能 1:1 地精确复刻。
- 对于难以辨认的部分,使用网格线和特写视图等方法以提高理解。
- 用元素复刻图片中的简单内容;图标可以使用 Font Awesome 提供的图标进行近似。对于无法用图标或形状近似的内容,如照片和头像,使用 bash 或 python 等工具从原始图片中裁剪和分割,然后将生成的图像元素添加到演示文稿中。
编辑幻灯片
- 使用
scripts/import_pptx.py将用户上传的 pptx 文件转换为 .pptd 格式(尽力而为的导入;检查报告的“已跳过”警告——图表/组/备注不会被导入)。 - 检查转换后的页面(结构和关键视觉细节)。之后单独阅读一些关键页面。
- 定位要编辑的页面,注意不要影响预期范围之外的部分。
从 pptx 到 pptd 的转换并非完美无损。如果用户后来报告格式错误、内容乱码等问题,请与原始 pptx 进行比较,并参考比较结果修复 pptd。
生成幻灯片
在生成幻灯片时,根据用户不同的[设计方向]采用不同的制作方法:
自主设计
- 阅读设计指南
reference/slides_categories.md,并阅读与用户查询对应的场景文档。 - 根据以上内容制作演示文稿。
生成其他格式的内容
- 当用户明确要求信息图、海报或高度视觉化的单页设计时,阅读
reference/general-poster.md并将其实现为单页或少量页面的可编辑 PPTD;当用户只要求图片时,仍先用 PPTD 构建,然后通过截图或渲染输出图片。不要为普通的幻灯片请求加载此参考文件。
设计系统
- 阅读
reference/slides_categories.md指南的通用约束部分,并阅读与用户查询对应的场景文档作为设计基础。 - 阅读指定的设计系统作为演示文稿风格:要么是用户提供的设计方案,要么是
reference/design_system/下的匹配预设。查阅reference/design_system/README.md以获取完整目录——它将每个预设映射到其推荐文件。某些预设存在两种格式(打磨过的design.md签名系统和原始的en/*.md源文档);当存在时,始终优先使用该文件夹的design.md。严禁引用或混入其他设计风格。 - 参考以上内容制作演示文稿。
- 在自主设计期间不要自动选取预设;仅在明确指定预设时才使用
reference/design_system/。
使用模板
- 使用
scripts/import_pptx.py将用户上传的 pptx 文件转换为 pptd 格式(尽力而为的导入;检查报告的“已跳过”警告)。 - 检查转换后的页面以了解模板的视觉风格(配色方案、字体样式、元素特征、布局特征、内容密度等)。
- 识别页面类型;重点阅读特殊页面,如封面、摘要页和章节分隔页(单页截图、.page 文件),提取其页面布局、内容结构、可重用组件(图标、形状、SmartArt、可重用正文布局方案等)和元素样式(例如,留白/线条/卡片分隔符、直角/圆角等)。
- 使用模板制作演示文稿。
风格迁移
- 分析参考文件的视觉风格(配色方案、字体样式、元素特征、布局特征、内容密度等)、页面布局、内容结构、可重用组件(图标、形状、SmartArt、可重用正文布局方案等)和元素样式(例如,留白/线条/卡片分隔符、直角/圆角等)。
- 如果用户提供了风格参考 URL,不要仅阅读文本内容;更多地参考和学习页面的视觉效果以帮助理解风格。
- 使用参考文件的风格特征制作演示文稿。鼓励复用原始 PDF/URL 中的插图、字体、字号层次结构、元素等。
图片与视觉素材
- 图片是丰富演示文稿视觉效果的有效方式。不仅封面和章节分隔页应使用合适的图片,正文页面也应使用图片来丰富页面、帮助理解或支持决策。
- 使用图片来展示具体主题、解释内容、提供证据或建立场景。徽标、图标、装饰性纹理和非常小的缩略图不算作实质性图像。
- 当页面涉及产品、人物、地点、建筑、事件、案例、界面、实验对象或空间环境时,优先使用对应的真实图片或截图。如果无法获得真实图片和截图,可以使用生成的图片代替。
- 图片优先级:用户提供的图片;来自官方网站、官方报告和可信来源的图片;与内容直接相关的搜索图片;为概念表达或氛围而生成的图片。
- 在决定需要哪些图片后,批量完成图片搜索、生成和下载,然后再根据其比例设计页面。将图片保存在
media目录中,保持清晰,绝不拉伸或扭曲它们。 - 分析型、技术和学术类的幻灯片,在有产品、实验、界面、案例或现场素材时,应使用相应的证据图片。不要将每个页面简化为文字、色块和形状。
- 不要仅仅为了达到数量目标而添加无关的图片。每张图片都必须与页面的结论或沟通目标直接相关。
内容指南
- 唯一字体(强制):全片只使用微软雅黑(Microsoft YaHei),中文、西文、数字、表格、图表、图标一律如此。不得设置任何其他
fontFamily,不得使用customFonts;reference/design_system/里所有设计系统的字体条目一律忽略(详见reference/fonts.md)。渲染器会在导出时强制覆盖为微软雅黑,视觉层级用字号/字重/颜色/字距表达,而不是换字体。 - 语言风格:除非用户明确要求,否则严格避免过于抽象的表述和生僻的隐喻。
- 不要过度使用...
[此处内容因原文截断而省略,但译文会包含这之后的完整内容。]