frontend-slides

从零开始创建令人惊叹、动画丰富的 HTML 演示文稿,或通过转换 PowerPoint 文件生成。适用于用户想要构建演示文稿、将 PPT/PPTX 转换为 Web 页面、或为演讲/路演创建幻灯片的场景。帮助非设计师用户通过视觉探索而非抽象选择来发现他们的审美偏好。

351 stars

Best use case

frontend-slides is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. 从零开始创建令人惊叹、动画丰富的 HTML 演示文稿,或通过转换 PowerPoint 文件生成。适用于用户想要构建演示文稿、将 PPT/PPTX 转换为 Web 页面、或为演讲/路演创建幻灯片的场景。帮助非设计师用户通过视觉探索而非抽象选择来发现他们的审美偏好。

从零开始创建令人惊叹、动画丰富的 HTML 演示文稿,或通过转换 PowerPoint 文件生成。适用于用户想要构建演示文稿、将 PPT/PPTX 转换为 Web 页面、或为演讲/路演创建幻灯片的场景。帮助非设计师用户通过视觉探索而非抽象选择来发现他们的审美偏好。

Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.

Practical example

Example input

Use the "frontend-slides" skill to help with this workflow task. Context: 从零开始创建令人惊叹、动画丰富的 HTML 演示文稿,或通过转换 PowerPoint 文件生成。适用于用户想要构建演示文稿、将 PPT/PPTX 转换为 Web 页面、或为演讲/路演创建幻灯片的场景。帮助非设计师用户通过视觉探索而非抽象选择来发现他们的审美偏好。

Example output

A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.

When to use this skill

  • Use this skill when you want a reusable workflow rather than writing the same prompt again and again.

When not to use this skill

  • Do not use this when you only need a one-off answer and do not need a reusable workflow.
  • Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/frontend-slides/SKILL.md --create-dirs "https://raw.githubusercontent.com/xu-xiang/everything-claude-code-zh/main/.agents/skills/frontend-slides/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/frontend-slides/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How frontend-slides Compares

Feature / Agentfrontend-slidesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

从零开始创建令人惊叹、动画丰富的 HTML 演示文稿,或通过转换 PowerPoint 文件生成。适用于用户想要构建演示文稿、将 PPT/PPTX 转换为 Web 页面、或为演讲/路演创建幻灯片的场景。帮助非设计师用户通过视觉探索而非抽象选择来发现他们的审美偏好。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 前端幻灯片(Frontend Slides)

创建零依赖(Zero-dependency)、动画丰富的 HTML 演示文稿,完全在浏览器中运行。

灵感来源于 [zarazhangrui](https://github.com/zarazhangrui) 作品中所展示的视觉探索方法。

## 何时激活

- 创建演讲文稿(Talk Deck)、路演文稿(Pitch Deck)、研讨会文稿或内部演示文稿
- 将 `.ppt` 或 `.pptx` 幻灯片转换为 HTML 演示文稿
- 改进现有 HTML 演示文稿的布局、动效或排版
- 与尚不清楚设计偏好的用户一起探索演示风格

## 核心约束(Non-Negotiables)

1. **零依赖(Zero dependencies)**:默认生成单个自包含的 HTML 文件,内联 CSS 和 JS。
2. **必须适配视口(Viewport fit is mandatory)**:每张幻灯片必须完全填满一个视口,不得有内部滚动。
3. **视觉先行(Show, don't tell)**:使用视觉预览而不是抽象的风格问卷。
4. **独特的设计**:避免使用通用的紫色渐变、白色背景上的 Inter 字体等模板化的设计。
5. **生产级质量**:保持代码注释清晰、具备无障碍性(Accessible)、响应式且性能良好。

在生成之前,请阅读 `STYLE_PRESETS.md` 以了解视口安全 CSS 基础、内容密度限制、预设目录和 CSS 注意事项。

## 工作流(Workflow)

### 1. 检测模式(Detect Mode)

选择一条路径:
- **新演示文稿**:用户有主题、笔记或完整草案
- **PPT 转换**:用户持有 `.ppt` 或 `.pptx` 文件
- **增强**:用户已有 HTML 幻灯片并希望进行改进

### 2. 内容探索(Discover Content)

仅询问最基本的需求:
- 目的:路演、教学、会议演讲、内部更新
- 长度:短(5-10 页)、中(10-20 页)、长(20 页以上)
- 内容状态:已完成的文案、粗略笔记、仅有主题

如果用户已有内容,请要求他们在进行风格设计前粘贴内容。

### 3. 风格探索(Discover Style)

默认为视觉探索。

如果用户已经知道所需的预设,跳过预览并直接使用。

否则:
1. 询问文稿应营造什么感觉:震撼、活力、专注、启发。
2. 在 `.ecc-design/slide-previews/` 中生成 **3 个单页预览文件**。
3. 每个预览必须是自包含的,清晰展示排版/颜色/动效,且幻灯片内容保持在 100 行左右。
4. 询问用户保留哪个预览,或者混合哪些元素。

在将情绪映射到风格时,请参考 `STYLE_PRESETS.md` 中的预设指南。

### 4. 构建演示文稿(Build the Presentation)

输出以下之一:
- `presentation.html`
- `[presentation-name].html`

仅当文稿包含提取的或用户提供的图像时,才使用 `assets/` 文件夹。

要求结构:
- 语义化的幻灯片部分(slide sections)
- 来自 `STYLE_PRESETS.md` 的视口安全 CSS 基础
- 用于主题值的 CSS 自定义属性(Variables)
- 用于键盘、滚轮和触摸导航的演示控制器类
- 用于显示动画的相交观察器(Intersection Observer)
- 减弱动态效果(Reduced-motion)支持

### 5. 强制视口适配(Enforce Viewport Fit)

将其视为硬性关卡。

规则:
- 每个 `.slide` 必须使用 `height: 100vh; height: 100dvh; overflow: hidden;`
- 所有字体和间距必须使用 `clamp()` 进行缩放
- 当内容放不下时,拆分为多张幻灯片
- 绝不通过将文本缩小到不可读的大小来解决溢出问题
- 绝不允许在幻灯片内部出现滚动条

使用 `STYLE_PRESETS.md` 中的密度限制和强制性 CSS 块。

### 6. 验证(Validate)

在以下尺寸下检查完成的文稿:
- 1920x1080
- 1280x720
- 768x1024
- 375x667
- 667x375

如果浏览器自动化工具可用,使用它来验证没有幻灯片溢出,并且键盘导航正常工作。

### 7. 交付(Deliver)

在移交时:
- 删除临时预览文件,除非用户想要保留它们
- 在有用时,使用平台适用的命令打开文稿
- 总结文件路径、使用的预设、幻灯片数量以及简单的方案自定义点

为当前操作系统使用正确的打开命令:
- macOS: `open file.html`
- Linux: `xdg-open file.html`
- Windows: `start "" file.html`

## PPT / PPTX 转换

对于 PowerPoint 转换:
1. 优先使用带有 `python-pptx` 的 `python3` 来提取文本、图像和备注。
2. 如果 `python-pptx` 不可用,询问是否安装它,或者回退到手动/基于导出的工作流。
3. 保留幻灯片顺序、演讲者备注和提取的资产。
4. 提取后,运行与新演示文稿相同的风格选择工作流。

保持转换跨平台。当 Python 可以胜任时,不要依赖仅限 macOS 的工具。

## 实现要求(Implementation Requirements)

### HTML / CSS

- 除非用户明确要求多文件项目,否则使用内联 CSS 和 JS。
- 字体可能来自 Google Fonts 或 Fontshare。
- 偏好大气背景、强大的排版层次结构和清晰的视觉方向。
- 使用抽象形状、渐变、网格、噪声和几何图形,而不是插图。

### JavaScript

包括:
- 键盘导航
- 触摸 / 滑动导航
- 鼠标滚轮导航
- 进度指示器或幻灯片索引
- 进入时显示(reveal-on-enter)的动画触发器

### 无障碍性(Accessibility)

- 使用语义化结构 (`main`, `section`, `nav`)
- 保持对比度可读
- 支持纯键盘导航
- 尊重 `prefers-reduced-motion`

## 内容密度限制(Content Density Limits)

除非用户明确要求更密集的幻灯片且可读性仍然保持,否则请遵循以下最大值:

| 幻灯片类型 | 限制 |
|------------|-------|
| 标题 | 1 个标题 + 1 个副标题 + 可选的标语 |
| 内容 | 1 个标题 + 4-6 个项目符号或 2 个短段落 |
| 功能网格 | 最多 6 个卡片 |
| 代码 | 最多 8-10 行 |
| 引用 | 1 个引用 + 署名 |
| 图像 | 1 张受视口约束的图像 |

## 反模式(Anti-Patterns)

- 没有视觉标识的通用初创公司渐变
- 使用系统字体的文稿,除非是有意的编辑风格
- 长篇的项目符号墙
- 需要滚动的代码块
- 在短屏幕上崩溃的固定高度内容框
- 无效的负值 CSS 函数,如 `-clamp(...)`

## 相关 ECC 技能(Related ECC Skills)

- `frontend-patterns`:用于文稿周围的组件和交互模式
- `liquid-glass-design`:当演示文稿有意借用 Apple 玻璃美学时使用
- `e2e-testing`:如果你需要为最终文稿进行自动化浏览器验证

## 交付清单(Deliverable Checklist)

- 演示文稿可以从本地文件在浏览器中运行
- 每张幻灯片都适配视口且无需滚动
- 风格独特且有针对性
- 动画有意义而非杂乱
- 尊重减弱动态效果(Reduced motion)
- 在移交时说明文件路径和自定义点

Related Skills

frontend-patterns

351
from xu-xiang/everything-claude-code-zh

React、Next.js、状态管理(State Management)、性能优化(Performance Optimization)及 UI 最佳实践的前端开发模式。

plankton-code-quality

351
from xu-xiang/everything-claude-code-zh

使用 Plankton 实现编写时代码质量强制执行 —— 通过钩子在每次文件编辑时进行自动格式化、代码检查,并由 Claude 驱动自动修复。

autonomous-loops

351
from xu-xiang/everything-claude-code-zh

自主运行 Claude Code 循环的模式与架构 —— 从简单的顺序流水线到 RFC 驱动的多智能体 DAG 系统。

visa-doc-translate

351
from xu-xiang/everything-claude-code-zh

将签证申请文件(图片)翻译成英文,并创建包含原文和译文的双语PDF

swiftui-patterns

351
from xu-xiang/everything-claude-code-zh

SwiftUI 架构模式,使用 @Observable 进行状态管理,视图组合,导航,性能优化,以及现代 iOS/macOS UI 最佳实践。

swift-protocol-di-testing

351
from xu-xiang/everything-claude-code-zh

基于协议的依赖注入,用于可测试的Swift代码——使用聚焦协议和Swift Testing模拟文件系统、网络和外部API。

swift-concurrency-6-2

351
from xu-xiang/everything-claude-code-zh

Swift 6.2 可接近的并发性 — 默认单线程,@concurrent 用于显式后台卸载,隔离一致性用于主 actor 类型。

swift-actor-persistence

351
from xu-xiang/everything-claude-code-zh

在 Swift 中使用 actor 实现线程安全的数据持久化——基于内存缓存与文件支持的存储,通过设计消除数据竞争。

skill-stocktake

351
from xu-xiang/everything-claude-code-zh

用于审计Claude技能和命令的质量。支持快速扫描(仅变更技能)和全面盘点模式,采用顺序子代理批量评估。

search-first

351
from xu-xiang/everything-claude-code-zh

研究优先于编码的工作流程。在编写自定义代码之前,搜索现有的工具、库和模式。调用研究员代理。

regex-vs-llm-structured-text

351
from xu-xiang/everything-claude-code-zh

选择在解析结构化文本时使用正则表达式还是大型语言模型的决策框架——从正则表达式开始,仅在低置信度的边缘情况下添加大型语言模型。

liquid-glass-design

351
from xu-xiang/everything-claude-code-zh

iOS 26 液态玻璃设计系统 — 适用于 SwiftUI、UIKit 和 WidgetKit 的动态玻璃材质,具有模糊、反射和交互式变形效果。