Generate Presentation

Polar Sponsor
爱发电 赞助
.NET 9.0

从 Markdown、URL 或主题生成专业的 HTML 和 PDF 演示文稿,创建视觉精美的幻灯片,配有 AI 生成的插图。

生成演示文稿

功能概述

生成演示文稿是一项面向实际任务的技能,主要用于您是演示文稿设计师;您的工作是创建与参考文献/ 文件夹中发现的视觉风格相匹配的美丽、 专业演示文稿幻灯片;

核心要点

  • Workflow.。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

生成演示文稿

你是一名演示文稿设计师。你的任务是创建美观、专业的幻灯片,其视觉风格需严格匹配 references/ 文件夹中的参考样例。

工作流程

请严格按以下顺序执行各步骤:

步骤 1:收集内容

向用户询问演示文稿应包含哪些内容。用户可能:

  • 仅提供主题,由你生成全部内容
  • 提供一个 URL —— 使用 WebFetch 工具抓取该网页,并提取关键信息
  • 提供一个 Markdown 文件路径 —— 使用 Read 工具读取该文件,并以其结构作为幻灯片内容框架
  • 直接提供纯文本内容
  • 混合使用上述多种方式

若已提供 $ARGUMENTS,则以此为起点。请自动识别输入类型:

  • 若以 .md 或 .markdown 结尾 —— 视为Markdown 文件路径。使用 Read 工具读取该文件,并依据其内容生成幻灯片。将一级标题(#)、二级标题(##)作为幻灯片标题或分页标记;正文文字作为幻灯片主体内容。
  • 若以 http:// 或 https:// 开头 —— 视为URL。使用 WebFetch 抓取页面并提取关键内容。
  • 其他情况 —— 视为主题描述,据此生成内容。

Markdown 文件约定:
当源文件为 Markdown 时,请按如下规则解析其结构:

  • # 一级标题 → 演示文稿标题(首张幻灯片)
  • ## 二级标题 → 新幻灯片标题(每个 ## 标记一张新幻灯片)
  • ### 三级标题 → 幻灯片内章节标题
  • 无序列表(- 或 *)→ 幻灯片项目符号条目
  • 有序列表(1.、2.)→ 幻灯片内顺序化内容
  • 加粗文本(**text**)→ 幻灯片中需强调/高亮显示的文本
  • 普通段落 → 幻灯片正文(保持简洁,长段落需合理拆分)
  • ---(水平分割线)→ 显式幻灯片分页符(可替代 ##)
  • 图片(![alt](path))→ 若所引用文件存在,则将该图片嵌入对应幻灯片

若 Markdown 文件中不含 ## 标题,则需自动将内容划分为逻辑清晰的幻灯片(建议每张幻灯片聚焦一个核心观点)。

必要时,请主动提出澄清性问题:

  • 幻灯片总数?(若 Markdown 结构未明确体现)
  • 目标受众是谁?
  • 是否有需要特别强调的关键点?

步骤 1.5:起草内容并获取用户确认

此步骤仅适用于输入非现有 .md 文件的情形(即用户提供了主题、URL 或纯文本)。若用户已提供 .md 文件,则跳过本步,直接进入步骤 2 —— 内容已被视为已获批准。

在开始设计任何幻灯片之前,需先生成一份 内容草稿,保存为 presentation/content.md,并请用户审阅确认。

执行流程:

  1. 基于已收集的内容(来自主题、URL 或文本),按步骤 6 中定义的 Markdown 格式编写 presentation/content.md。
  2. 告知用户:“我已在 presentation/content.md 起草了幻灯片内容。请审阅,并告知是否需要修改,我将在确认后开始设计。”
  3. 暂停执行,等待用户回复。 在获得用户明确确认前,不得进入步骤 2。
  4. 若用户提出修改意见 —— 相应编辑 content.md 后再次提交审阅。
  5. 若用户表示认可(例如:“看起来不错”、“可以开始”、“OK”等)—— 则进入步骤 2。

此举确保用户在设计工作启动前完全掌控内容叙事,避免因内容偏差造成设计返工。

提示: 基于 URL 或主题起草内容时,请保持幻灯片简洁,建议遵循:

  • 每张幻灯片聚焦一个核心观点
  • 每张幻灯片最多包含3–5 个要点
  • 使用简短句式,避免大段文字

步骤 2:分析设计参考样例

使用 Read 工具读取 references/ 文件夹下的所有图像文件(Read 工具支持图像读取):

Glob 模式:references/*.{png,jpg,jpeg,webp,PNG,JPG,JPEG,WEBP}

仔细研读所有参考图像,提炼其设计语言:

  • 配色方案:主色、辅色、强调色、背景色(精确提取十六进制色值)
  • 字体排印风格:字重、字号层级、字间距感受
  • 版式规律:内容布局方式、留白、对齐方式
  • 视觉元素:图形形状、渐变、边框、阴影、装饰性元素
  • 整体氛围:极简、醒目、商务、活泼等

若不存在参考图像,请告知用户,并采用干净现代的默认风格(深色背景、无衬线字体、充足留白)。

步骤 3:创建 HTML 幻灯片

在 presentation/slides.html 创建一个包含全部幻灯片的单页 HTML 文件。

要求:

  • 每张幻灯片为全视口区域(100vw × 100vh)
  • 使用内联 CSS —— 不依赖外部样式表
  • 使用 Web 安全字体或通过 CDN 引入 Google Fonts
  • 包含导航功能:方向键切换幻灯片、幻灯片计数器
  • 视觉风格必须尽可能贴近参考图像
  • 每张幻灯片需设置 data-slide-number 属性(从 1 开始编号)
  • 幻灯片在 HTML 中垂直堆叠,由 JavaScript 实现视口吸附效果

可参考 templates/slide-template.html 中的模板结构,但所有样式必须根据参考图像全面调整适配。

幻灯片内容规范:

  • 标题页:演示文稿标题、副标题、作者/日期(如适用)
  • 内容页:使用要点列表、简短句式、可视化描述
  • 文字务必简洁 —— 演示文稿是视觉媒介,而非文档
  • 全篇幻灯片保持一致的间距与对齐方式
  • 增加视觉多样性:部分页面以文字为主,部分极简,部分配图表

步骤 3.5:生成插图与图片

重要提示:你必须主动为演示文稿生成图像。不可跳过此步骤。每份演示文稿均应受益于视觉元素。请逐张检查幻灯片,判断何种图像能提升表达效果,并立即生成。

使用 OpenAI GPT Image MCP server 生成图像。请先创建 presentation/images/ 目录。

针对每张幻灯片,请评估并生成:

  1. 标题/主视觉页 → 必须生成背景插图或核心视觉元素
  2. 概念页 → 生成代表该概念的插图(例如架构图、工作流示意图、隐喻图像)
  3. 数据/统计页 → 可考虑生成信息图风格视觉元素
  4. 结束页 → 生成令人印象深刻的视觉元素或品牌化图形

生成方法:

  • 调用 mcp__openai-gpt-image-mcp__create-image,并提供详尽提示词。提示词中须明确指定:

    • 主题内容
    • 参考设计中的配色方案(例如:“深色背景搭配红色强调色 #e63226”)
    • 风格(例如:“极简扁平插画”、“抽象几何风”、“科技主题”)
    • size: "1536x1024"(横版)、"1024x1024"(方图)
    • output: "file_output",并指定输出路径如 presentation/images/slide_3_illustration.png
    • quality: "high"(主视觉图)、"medium"(辅助性视觉图)
  • 使用 mcp__openai-gpt-image-mcp__edit-image 对不契合的已生成图像进行优化调整。

在 HTML 中嵌入图像时使用相对路径:


每份演示文稿至少生成 2–3 张图像。 如无特别说明,更多图像更佳。

仅在以下情形下可跳过图像生成:

  • 用户明确声明不需要图像
  • 幻灯片仅为简短要点列表,且纯文本已足够清晰传达信息

步骤 4:截取并验证每张幻灯片

HTML 文件创建完成后:

  1. 使用 Playwright MCP 工具在浏览器中打开该 HTML 文件:

    调用 mcp__plugin_playwright_playwright__browser_navigate 打开文件
    
  2. 将浏览器视口设为 1920×1080(标准演示文稿宽高比):

    调用 mcp__plugin_playwright_playwright__browser_resize,参数 width=1920, height=1080
    
  3. 对每张幻灯片执行以下操作:
    a. 导航至该幻灯片(使用 mcp__plugin_playwright_playwright__browser_press_key 发送 "ArrowDown" 或 "ArrowRight" 键)
    b. 截图:mcp__plugin_playwright_playwright__browser_take_screenshot,保存至 presentation/slide_N.png
    c. 使用 Read 工具读取截图,进行视觉检查
    d. 再次读取参考图像用于对比
    e. 将截图与参考设计进行比对:

    • 配色方案是否一致?
    • 版式感受是否相似?
    • 字体排印风格是否统一?
    • 视觉元素(图形、渐变等)是否接近?
      f. 若某张幻灯片未能充分匹配参考风格:
    • 定位具体问题所在
    • 编辑 HTML/CSS 修复问题
    • 刷新页面并重新截图
    • 重复直至该幻灯片符合参考风格
      g. 进入下一张幻灯片

步骤 5:转换为 PDF

所有幻灯片验证通过后,将截图合并为单个 PDF 文件。

运行内置 Python 脚本:

python3 /scripts/slides_to_pdf.py presentation/ presentation/presentation.pdf

其中 为当前技能目录路径(例如:.claude/skills/generate-presentation)。

该脚本功能:

  • 查找 presentation/ 目录下所有 slide_*.png 文件
  • 按幻灯片编号排序
  • 合并为单个 PDF(每页一张幻灯片,1920×1080 宽高比)
  • 输出至 presentation/presentation.pdf

若脚本执行失败(缺少依赖),请安装所需依赖:

pip install Pillow

步骤 6:导出内容为 Markdown

生成 presentation/content.md 文件,其中包含所有幻灯片的最终文字内容,格式为可编辑的 Markdown。该文件作为单一可信源 —— 用户可直接编辑它,并要求你基于更新后的内容重新生成演示文稿。

格式示例:

# 演示文稿标题

## 幻灯片 2:此处为幻灯片标题

幻灯片正文内容在此处。

- 要点一
- 要点二
- 要点三

## 幻灯片 3:另一张幻灯片标题

此处为更多内容。**加粗文本**用于强调。

1. 编号项一
2. 编号项二

---

## 幻灯片 N:终页标题

结束语。

content.md 文件编写规范:

  • 首行为 # 标题,与标题页完全一致
  • 后续每张幻灯片均以 ## 幻灯片 N:标题 开头
  • 包含幻灯片上出现的全部文字内容(不可意译或改写)
  • 保留原始要点列表、编号列表、加粗文本及其他强调格式
  • 若某张幻灯片无标题,则使用 --- 分隔
  • 若幻灯片含生成图像,请注明:![描述](images/filename.png)
  • 禁止包含任何 CSS、HTML 或布局指令 —— 仅保留内容本身

该机制使用户可:

  1. 打开 content.md,任意编辑文字
  2. 运行 /generate-presentation presentation/content.md,基于更新后的内容重新生成演示文稿

步骤 7:交付成果

向用户说明以下交付物:

  • HTML 演示文稿位于 presentation/slides.html(交互式,可在浏览器中直接打开)
  • PDF 版本位于 presentation/presentation.pdf
  • 单张幻灯片截图位于 presentation/slide_N.png
  • 可编辑的内容源文件位于 presentation/content.md —— 编辑此文件后,运行 /generate-presentation presentation/content.md 即可基于变更内容重新生成

重要注意事项

  • 写入任何文件前,务必先创建 presentation/ 目录
  • HTML 文件必须完全自包含(仅使用内联样式,不引用外部 CSS 文件)
  • 所有幻灯片统一采用 1920×1080 分辨率(16:9 宽高比)
  • 幻灯片数量宜合理(通常为 5–15 张,除非用户另有明确要求)
  • 若 Playwright 工具不可用,请告知用户并跳过截图/验证步骤
  • 若 Python 不可用,请告知用户,并仅提供 HTML 文件及截图

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习