【skill】HTML PPT Skill:用 Claude Code 一句话生成专业演示文稿

概述

做 PPT 是许多人的痛点------PowerPoint 操作繁琐,Keynote 只在 Mac 上,在线工具又受限于模板质量。HTML PPT Skill 提供了一种截然不同的方案:用 Claude Code 直接生成纯静态 HTML 幻灯片,36 个主题、31 种布局、47 种动画,开箱即用,无需任何构建工具。

这个 Skill 由开发者 lewis 创建,在 skills.sh 上获得了 11.6K 安装量和 5.7K GitHub Star。本文拆解它的设计理念、技术实现,并通过实战示例演示如何从零生成一份带演讲者模式的技术分享 PPT。

安装

bash 复制代码
npx skills add https://github.com/lewislulu/html-ppt-skill --skill html-ppt

一条命令,无需构建流程。生成的文件是纯静态 HTML/CSS/JS,用浏览器直接打开即可。

设计理念:Token 驱动的设计系统

HTML PPT Skill 的核心思想是一切样式由 CSS 变量(Token)驱动

复制代码
assets/base.css     → 定义所有 token(颜色、圆角、阴影、字体)
assets/themes/*.css → 每个主题只覆盖 token 的值

这意味着:

  • 切换主题只需换一个 CSS 文件,所有页面自动变色
  • 永远用 color: var(--text-1) 而不是 color: #111
  • 动画颜色也读 token,换主题后动画配色自动跟着变

一个主题文件只需覆盖十几个变量:--bg--surface--text-1/2/3--accent--accent-2/3--good--warn--bad 等,通常不到 200 行 CSS。

资源清单

类型 数量 位置
主题 36 个 assets/themes/*.css
全 Deck 模板 15 个 templates/full-decks/<name>/
单页布局 31 个 templates/single-page/*.html
CSS 动画 27 个 assets/animations/animations.css
Canvas 特效 20 个 assets/animations/fx/*.js

36 个主题详解

主题按风格分为几大类:

浅色 & 克制

主题 风格 适用场景
minimal-white 极简白,强文字层级 内部汇报、技术评审
editorial-serif 杂志风衬线 + 奶油底 品牌故事、文字密度大的演讲
soft-pastel 马卡龙三色渐变 产品发布、面向消费者
xiaohongshu-white 小红书白底 + 暖红 accent 小红书图文、生活美学
corporate-clean 纯白 + 海军蓝 董事会汇报、B2B 销售
academic-paper 论文白 + 衬线正文 学术报告、研究分享

深色 & 冷调

主题 风格 适用场景
tokyo-night 蓝夜色调 技术分享首选
dracula 经典紫红主色 代码密集的分享
catppuccin-mocha catppuccin 深色 开发者内部分享
nord 北欧清冷蓝白 基础设施、云产品
terminal-green 绿屏终端 + 发光文字 CLI/黑客/复古朋克
blueprint 蓝图工程 + 网格底纹 系统架构、工程蓝图

大胆 & 个性

主题 风格 适用场景
neo-brutalism 厚描边 + 硬阴影 + 明黄 创业路演
cyberpunk-neon 霓虹粉青黄 + 发光 黑客文化、赛博 talk
vaporwave 深紫 + 粉红青蓝渐变 潮流艺术
glassmorphism 毛玻璃 + 多色光斑 Apple 式发布会
pitch-deck-vc YC 风白底 + 蓝紫渐变 融资路演、VC meeting

T 键可以在运行时循环切换主题,方便现场挑选。

31 种布局

布局覆盖了演示文稿的所有常见需求:

开场与过渡: cover(封面)、toc(目录)、section-divider(章节分隔)

文字内容: bullets(要点列表)、two-column(双栏)、three-column(三栏)、big-quote(大引言)

数据展示: stat-highlight(单个大数字)、kpi-grid(4 个 KPI)、table(数据表格)、chart-bar/line/pie/radar(Chart.js 图表)

代码与终端: code(语法高亮)、diff(差异对比)、terminal(终端窗口模拟)

流程与架构: flow-diagram(流程图)、arch-diagram(架构图)、process-steps(步骤卡片)、mindmap(思维导图)

计划与对比: timeline(时间线)、roadmap(路线图)、gantt(甘特图)、comparison(前后对比)、pros-cons(优缺点)

收尾: cta(行动号召)、thanks(致谢页 + 撒花特效)

每个布局都是一个独立的 HTML 文件,内含真实的 demo 数据,可以直接在浏览器中预览效果。

47 种动画

动画分为两套系统:

27 个 CSS 动画(入场效果)

通过 data-anim="fade-up" 属性触发,每次翻到该页面时自动播放:

类别 动画 用途
方向渐入 fade-up/down/left/right 段落、卡片入场
戏剧性入场 rise-inblur-inzoom-popglitch-in 标题、封面揭示
文字效果 typewriterneon-glowshimmer-sweep 标语、品牌词
列表与数字 stagger-listcounter-up 逐条展开、数字滚动
3D 效果 parallax-tiltcard-flip-3dcube-rotate-3d 产品卡片、章节切换
氛围效果 marquee-scrollkenburnsconfetti-burst Logo 条、背景、致谢页

使用建议:每页最多 1-2 种动画。封面用 rise-inblur-in,正文用 fade-up + stagger-list,结尾用 confetti-burst

20 个 Canvas 特效(持续运行)

通过 data-fx="knowledge-graph" 触发,进入页面时启动,离开时自动销毁:

html 复制代码
<div data-fx="knowledge-graph" style="width:100%;height:360px;"></div>
特效 效果 适用场景
particle-burst 粒子从中心爆发 数据揭示
confetti-cannon 彩色纸片从两侧喷射 庆祝/致谢页
firework 连续烟花 发布会、庆典
starfield 3D 星空飞驰 科幻背景
matrix-rain 绿色字符雨 赛博/安全主题
knowledge-graph 力导向图,28 节点 + 50 边 知识图谱、RAG
neural-net 4-6-6-3 前馈网络 + 脉冲 ML/模型架构
constellation 漂浮点 + 距离连线 氛围背景
galaxy-swirl 800 粒子对数螺旋 封面页
typewriter-multi 多行终端打字效果 Agent 启动日志
counter-explosion 数字滚动 + 粒子爆发 KPI 揭示

所有特效颜色自动读取主题的 --accent--accent-2 等变量,换主题后特效配色自动跟着变。

演讲者模式:逐字稿的正确打开方式

这是 HTML PPT Skill 最有价值的功能之一。按 S 键打开演讲者窗口,4 个可拖拽的磁吸卡片:

复制代码
 观众窗口(投影到外接屏)      演讲者窗口(留在面前的屏幕)
┌─────────────────┐   ┌──────────────────┬──────────────────┐
│                 │   │ 🔵 CURRENT       │ 🟣 NEXT          │
│  正常 slide     │   │                  │                  │
│  全屏展示       │◄►│  当前页 iframe    │  下一页 iframe    │
│                 │   │  像素级完美预览   │  像素级完美预览   │
│                 │   ├──────────────────┼──────────────────┤
│                 │   │ 🟢 TIMER         │ 🟠 SPEAKER SCRIPT│
│                 │   │ ⏱ 12:34  3/8    │  大字号逐字稿    │
│                 │   │ [←Prev][Next→]   │  可滚动          │
└─────────────────┘   └──────────────────┴──────────────────┘
        ↑ BroadcastChannel 双向同步翻页 ↑

技术实现细节

预览为什么像素级完美? 每个预览是一个 <iframe>,加载同一个 deck HTML 文件,URL 多了 ?preview=N 参数。runtime.js 检测到这个参数时只渲染第 N 页、隐藏所有 chrome。iframe 使用和观众视图完全相同的 CSS、主题、字体、viewport------颜色和排版保证一致。外层用 transform: scale() 等比缩放。

翻页为什么不闪烁? iframe 初次加载后常驻,翻页时通过 postMessage({type:'preview-goto', idx:N}) 告诉 iframe 切换 .is-active class,不重新加载页面。两窗口通过 BroadcastChannel 保持双向同步。

逐字稿写作三铁律

铁律 1:不是讲稿,是"提示信号"

错误写法(像在念稿):

复制代码
大家好,欢迎来到今天的分享。今天我将要给大家介绍一下
我们团队在过去三个月做的工作。首先,我们来看一下背景情况。

正确写法(提示信号 + 加粗核心):

html 复制代码
<p>欢迎!今天分享我们团队<strong>过去 3 个月</strong>的工作。</p>
<p>先说<em>背景</em>------三个月前我们遇到了<strong>三个核心问题</strong>:
延迟高、成本炸、稳定性差。</p>
<p>接下来逐个讲解怎么解的。</p>

关键词加粗,过渡句独立成段,看一眼就能接上。

铁律 2:每页 150-300 字

少于 150 字提示不够会卡,多于 300 字眼睛扫不完。2-3 分钟/页是最舒服的节奏。

铁律 3:用口语,不用书面语

书面语 口语
因此 所以
该方案 这个方案
然而 但是 / 不过
进行优化 优化一下
综上所述 所以简单来说

检查方法:写完读一遍,听起来像说话才对。

Skill 的工作流设计

SKILL.md 在 Claude Code 开始写 slide 之前,强制执行一个三问确认流程:

  1. 内容与受众 --- 主题是什么?几页?给谁看(工程师 / 高管 / 小红书读者 / 投资人)?
  2. 风格与主题 --- 36 个主题选哪个?Skill 会根据场景推荐 2-3 个候选
  3. 起点模板 --- 15 个全 deck 模板选哪个?还是从零开始?

Claude 不会在没确认这三点之前动手写代码。这个约束很关键------防止 AI 自作主张选了不合适的风格。

文件结构

复制代码
html-ppt/
├── SKILL.md                     (技能定义)
├── references/                  (详细文档目录)
│   ├── themes.md                (36 主题详解)
│   ├── layouts.md               (31 布局详解)
│   ├── animations.md            (47 动画详解)
│   ├── full-decks.md            (15 模板详解)
│   ├── presenter-mode.md        (演讲者模式指南)
│   └── authoring-guide.md       (完整创作流程)
├── assets/
│   ├── base.css                 (Token 设计系统)
│   ├── fonts.css                (Web 字体)
│   ├── runtime.js               (键盘 + 演讲者 + 主题切换)
│   ├── themes/*.css             (36 个主题文件)
│   └── animations/
│       ├── animations.css       (27 个 CSS 动画)
│       ├── fx-runtime.js        (Canvas 特效生命周期管理)
│       └── fx/*.js              (20 个 Canvas 特效模块)
├── templates/
│   ├── deck.html                (6 页入门模板)
│   ├── full-decks/<name>/       (15 个完整 deck 模板)
│   └── single-page/*.html       (31 个单页布局)
├── scripts/
│   ├── new-deck.sh              (创建新 deck)
│   └── render.sh                (Headless Chrome → PNG 导出)
└── examples/demo-deck/          (完整工作示例)

实战示例

示例 1:技术分享 PPT(带演讲者模式)

对 Claude Code 说:

帮我做一份技术分享 PPT,主题是"我们如何将 API 延迟降低 80%",给团队内部工程师看,大概 10 页,要带逐字稿,我下周要讲 30 分钟。

Claude 会执行以下流程:

  1. 确认三要素:内容(API 优化)、受众(工程师)→ 推荐 tokyo-night 主题、起点模板 → presenter-mode-reveal

  2. presenter-mode-reveal 模板为基础创建 deck

  3. 规划 10 页结构:

    cover → toc → section-divider(问题) → stat-highlight(延迟数据) →
    arch-diagram(优化前架构) → section-divider(方案) → code(关键代码) →
    chart-line(优化曲线) → kpi-grid(最终指标) → thanks

  4. 每页写 150-300 字口语化逐字稿

生成的 HTML 结构:

html 复制代码
<section class="slide" data-title="Cover">
  <p class="kicker">2026 Q2 · 后端团队</p>
  <h1 class="h1">API 延迟降低 80%<br><span class="dim">我们做了什么</span></h1>
  <p class="lede">从 P99 320ms 到 P99 64ms 的优化之路</p>
  <aside class="notes">
    <p>大家好!今天跟大家分享我们团队<strong>过去两个月</strong>做的 API 优化。</p>
    <p>先说结论------我们把 <strong>P99 延迟从 320ms 干到了 64ms</strong>,降了 80%。</p>
    <p>接下来我会讲<strong>三个关键改动</strong>,每个都不复杂,
    但组合起来效果很猛。</p>
  </aside>
</section>

<section class="slide" data-title="优化前延迟">
  <h2 class="h2">优化前:P99 = 320ms</h2>
  <div class="stat-highlight">
    <span class="counter" data-to="320">0</span>
    <span class="unit">ms</span>
  </div>
  <p class="dim">P50 = 85ms · P95 = 210ms · P99 = 320ms</p>
  <aside class="notes">
    <p>这是优化前的数据。<strong>P99 是 320 毫秒</strong>,
    意味着每 100 个请求里有 1 个要等超过 300 毫秒。</p>
    <p>听起来还行?但是我们的 SLA 要求是 <strong>P99 < 100ms</strong>,
    超了 3 倍多。而且这个数字在<strong>高峰期会飙到 500ms 以上</strong>。</p>
    <p>所以我们必须改。接下来看看问题出在哪。</p>
  </aside>
</section>

示例 2:小红书风格图文

做一份小红书风格的图文,介绍 5 个提升效率的 VS Code 插件,要好看

Claude 会选择 xiaohongshu-white 主题 + xhs-post 3:4 模板,生成竖版排版,每页一个插件,大图 + 简短文案,配合 soft-pastel 色彩。导出时用 render.sh 输出 1242×1660 的 PNG 图片。

示例 3:投资人路演 Deck

做一份种子轮融资路演 PPT,12 页,产品是一个 AI 代码审查工具

Claude 会选择 pitch-deck-vc 主题 + pitch-deck 模板,按经典路演结构生成:

复制代码
cover → 痛点(big-quote) → 市场规模(stat-highlight) →
产品演示(image-hero) → 技术架构(arch-diagram) →
商业模式(three-column) → 竞争格局(comparison) →
里程碑(timeline) → 团队(image-grid) →
财务预测(chart-bar) → 融资需求(kpi-grid) → cta

示例 4:给现有 deck 加动画

html 复制代码
<!-- 封面:模糊渐入 -->
<h1 class="h1" data-anim="blur-in">AI 代码审查的未来</h1>

<!-- 要点列表:逐条展开 -->
<ul class="anim-stagger-list">
  <li>自动检测 OWASP Top 10 漏洞</li>
  <li>PR 级别的实时反馈</li>
  <li>支持 20+ 编程语言</li>
</ul>

<!-- KPI 数字滚动 -->
<span class="counter" data-to="98">0</span>
<span class="unit">%</span>
<span class="dim">准确率</span>

<!-- 知识图谱 Canvas 特效 -->
<div data-fx="knowledge-graph" style="width:100%;height:400px;"></div>

示例 5:双屏演讲实操

拿到生成好的 PPT 后,双屏演讲的标准流程:

复制代码
1. 浏览器打开 index.html
2. 按 S → 弹出演讲者窗口
3. 把观众窗口拖到投影/外接屏,按 F 全屏
4. 演讲者窗口留在自己面前的屏幕
5. 在任一窗口按 ← → 翻页,两边自动同步
6. 演讲者窗口里看逐字稿 + 下一页预览 + 计时器

示例 6:导出为 PNG

bash 复制代码
# 导出单页
./scripts/render.sh examples/my-talk/index.html

# 导出全部 12 页
./scripts/render.sh examples/my-talk/index.html 12

# 导出到指定目录
./scripts/render.sh examples/my-talk/index.html 12 out/png

# 小红书 3:4 比例(需改 render.sh 里的 --window-size)
./scripts/render.sh examples/xhs-post/index.html 5

默认输出 1920×1080 分辨率。

键盘快捷键速查

功能
← → / Space / PgDn 翻页
S 打开演讲者窗口
T 切换主题
F 全屏
O 总览网格
N 底部笔记抽屉
A 在当前页循环演示动画
R 重置计时器(演讲者窗口)
Esc 关闭所有浮层
#/N URL 深链接到第 N 页

创作规则备忘

  1. 永远从模板开始 --- 不要从空白文件写起,先复制最接近的布局再改内容
  2. 用 Token 不用硬编码 --- var(--text-1) 而不是 #111var(--accent) 而不是 #3b82f6
  3. 一个 .slide = 一页 --- runtime.js 通过 .is-active 控制显示/隐藏
  4. 逐字稿放 <aside class="notes"> --- 永远不要把演讲者才需要看的文字放在 slide 可见区域
  5. 引入 runtime.js --- 没有它就没有键盘导航、没有演讲者模式、没有主题切换
  6. 动画克制 --- 每页最多 1-2 种,fade-up + stagger-list 覆盖 80% 场景
  7. 不要自创布局文件 --- 31 个布局几乎覆盖所有需求,优先组合现有的

总结

HTML PPT Skill 的价值在于把"做 PPT"这件事从 GUI 操作变成了自然语言描述 。你只需要告诉 Claude 主题、受众、风格偏好,它就能从 36 个主题、31 种布局、47 种动画中组合出一份完整的演示文稿。纯静态 HTML 意味着无需安装任何软件,浏览器打开就能演示,S 键一按就有像素级完美的演讲者视图。对于需要频繁做技术分享的工程师来说,这可能是目前最高效的 PPT 制作方式。

相关推荐
AI视觉网奇2 小时前
three教学 3d资产拼接源代码
前端·css·css3
Sam09272 小时前
Agent 如何节省 Token 成本:从 Prompt 到工程监控的系统化优化指南
人工智能·ai
绎奇PPT2 小时前
绎奇PPT深耕教学创新大赛,国赛 PPT 专属设计
信息可视化·powerpoint·ppt
雨辰AI2 小时前
从零搭建大模型本地运行环境|Python+CUDA 基础配置避坑大全
大数据·开发语言·人工智能·python·ai·ai编程·ai写作
humors2212 小时前
AI案例:创作-比较-决策
人工智能·程序人生·ai
key_3_feng2 小时前
如何在 ClawHub 上发布 Skill:从打包到上架的全流程方案
skill·clawhub
G_whang2 小时前
AgentMemory — 持久记忆系统:安装、架构与深度使用指南
ai·架构
程序猿阿伟3 小时前
《Chrome标签组搭建多任务高效浏览指南》
前端·chrome
2601_958352903 小时前
双麦 DSP 音频模块实战:一文梳理 A-68 在全行业场景的声学解决方案与落地要点
前端·嵌入式硬件·音视频·语音识别·降噪消回音·音频处理模块