从零开始创建惊艳、动画丰富且自包含的 HTML 演示文稿,或通过转换 PowerPoint 文件生成。当用户希望制作幻灯片、构建演示文稿、打造路演资料(pitch deck)、将 PPT/PPTX 转换为网页格式,或增强现有 HTML 演示文稿时,应使用此能力。该能力帮助用户通过视觉预览而非抽象选项来发掘自身审美偏好。
HTML 幻灯片 — 自定义演示文稿生成器是一项面向实际任务的技能,主要用于创建零依赖性, 动画丰富的 HTML 演示文稿, 完全运行在浏览器中;单个 HTML 文件, 所有 CSS/ JS 内置;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
创建零依赖、动画丰富的 HTML 演示文稿,完全在浏览器中运行。单个 HTML 文件,所有 CSS/JS 均内联。无需 npm、无需构建工具。在任意浏览器中打开即可直接演示。
生成演示文稿时,请重点关注:
animation-delay)比零散微交互更能带来愉悦感。参考 animation-patterns.md 获取规范。请避免以下通用化模式:
判断用户意图:
| 模式 | 触发条件 | 下一阶段 |
|---|---|---|
| A:新建演示文稿 | “做一份演示文稿”、“create slides”、“pitch deck” | 第 1 阶段 |
| B:PPT 转换 | 用户提供 .pptx/.ppt 文件 | 第 4 阶段 |
| C:增强编辑 | 用户希望修改已有的 HTML Deck | 直接修改,须严格遵守 Fixed Stage 规则 |
| D:风格迁移 | “change to X style”、“switch theme”、“换成X风格” | 风格迁移协议(Style Transfer Protocol) |
使用 AskUserQuestion 工具一次性提出全部问题。切勿逐条提问。
问题 1 — 目的:该演示文稿用途为何?选项:Pitch deck / 教学-教程 / 会议演讲 / 内部汇报
问题 2 — 长度:约需多少张幻灯片?选项:短(5–10 张)/ 中(10–20 张)/ 长(20+ 张)
问题 3 — 内容就绪度:您是否已有内容?选项:全部内容就绪 / 仅有粗略笔记 / 仅确定主题
问题 4 — 密度偏好:您希望幻灯片呈现怎样的信息密度?
若用户已有内容,请其一并提供。此阶段切勿询问内联编辑需求——该功能将在初稿生成后默认启用。
图像处理(如用户提供图像):
Read 工具(多模态)逐一检查图像本阶段贯彻“展示而非描述”原则。 多数人无法用语言准确描述自身设计偏好。
生成 3 个风格迥异的单页 HTML 预览,分别展现排版、配色、动效及整体美学气质。每份预览须形如用户真实 Deck 的首张幻灯片,而非诊断性样卡。
预览组合规则:
style-presets.md 的稳妥预设方案预览真实性规则(不可协商):
将预览保存至临时目录(style-a.html、style-b.html、style-c.html)。通过 present_files 依次向用户展示各预览。
请用户选择:Style A / Style B / Style C / 混合元素。
基于第 1 阶段获取的内容与第 2 阶段选定的风格,生成完整演示文稿。
生成前,请务必阅读以下参考文件:
| 文件 | 用途 | 使用时机 |
|---|---|---|
references/viewport-base.css |
强制性固定舞台 CSS —— 每份演示文稿必须完整包含其全部内容 | 第 3 阶段(生成前) |
references/html-template.md |
HTML 结构、JS 功能、代码质量标准 | 第 3 阶段(生成前) |
references/animation-patterns.md |
动画片段及“动效→情绪”映射指南 | 第 3 阶段(生成中) |
references/style-presets.md |
所选风格的完整预设定义 | 第 2–3 阶段(用户选定后) |
关键生成要求:
块中完整嵌入 viewport-base.css 的全部内容/* === SECTION NAME === */SlidePresentation 类,支持键盘/触摸/滚轮导航S 键打开演讲者窗口,支持 BroadcastChannel 同步(详见 html-template.md 中 Speaker View 章节)@media print CSS 实现浏览器原生导出 PDF(详见 html-template.md 中 Print/PDF 章节).speaker-note 元素或 data-speaker-note 属性添加演讲者备注.reveal 类命名模式prefers-reduced-motion 媒体查询::before、::after)实现(参见 style-presets.md)。严禁在 HTML 内容中添加风格专属的 div/类(例如 .gold-line-left、.vertical-sig、.brush-deco)。此项至关重要,是 Style Transfer 正常工作的前提 —— HTML 必须仅使用 html-template.md 中系统定义的语义类名。内容溢出防护准则:
转换 PowerPoint 文件时:
python scripts/extract-pptx.py (如需,请先安装 python-pptx)当用户提出:“change to X style”、“switch to X theme”、“换成X风格”、“迁移到X风格”
references/style-presets.md 中读取目标风格对应的 :root {} 块及 字体标签:root {} CSS 块(整块替换) 中的字体 / 标签var(--theme-name) 的值(可选,用于标识).slide 内容、.reveal 类或语义类名语义类系统(参见 references/html-template.md)确保 HTML 内容与视觉样式解耦。:root {} CSS 变量即为此契约:
.slide-title 映射至 var(--title-size)、var(--font-display)、var(--text-primary).highlight 映射至 var(--accent).quote-block 映射至 var(--quote-border)、var(--quote-bg).col-2 使用 var(--col-2-gap)1. 识别目标风格预设(依据用户输入)
2. 读取 references/style-presets.md → 提取该预设对应的 `:root {}` 块
3. 读取现有 HTML 文件
4. 在 HTML 的 `