334 lines
16 KiB
Markdown
334 lines
16 KiB
Markdown
# Guizang PPT Skill · 网页 PPT / 配图 / 封面
|
|
|
|

|
|

|
|

|
|

|
|

|
|

|
|

|
|
|
|
> 🌏 **English version: [README.en.md](./README.en.md)**
|
|
|
|
一个适配 Claude Code / Codex 等 Agent 环境的网页 PPT 技能,用于生成**单文件 HTML 横向翻页 PPT**、PPT 配图和多平台封面。
|
|
|
|
内置两套视觉系统:
|
|
|
|
- **Style A: 电子杂志 × 电子墨水**。像 *Monocle* 贴上了代码,适合叙事、观点、分享、个人风格表达。
|
|
- **Style B: 瑞士国际主义**。网格至上、单一高饱和锚点色、直角、发丝线、极致字号对比,适合事实、产品、分析、方法论表达。
|
|
|
|
> 由 [歸藏](https://x.com/op7418) 在"一人公司:被 AI 折叠的组织"、"一种新的工作方式"等线下分享中沉淀而成,踩过的每一个坑都写进了 `checklist.md`。
|
|
|
|
**旧主题 · Style A 电子杂志风**
|
|
|
|

|
|
|
|
**新主题 · Style B 瑞士国际主义**
|
|
|
|

|
|
|
|
## 30 秒开始
|
|
|
|
```bash
|
|
npx skills add https://github.com/op7418/guizang-ppt-skill --skill guizang-ppt-skill
|
|
```
|
|
|
|
也可以直接把这段话发给有 shell 权限的 AI Agent:
|
|
|
|
```text
|
|
帮我安装 guizang-ppt-skill。请把 https://github.com/op7418/guizang-ppt-skill 克隆到 ~/.claude/skills/guizang-ppt-skill,安装完成后检查 SKILL.md、assets/、references/ 是否存在。
|
|
```
|
|
|
|
已经安装过的话,用这段话更新:
|
|
|
|
```text
|
|
帮我更新 guizang-ppt-skill。请进入 ~/.claude/skills/guizang-ppt-skill 执行 git pull,然后告诉我当前最新 commit。
|
|
```
|
|
|
|
安装后直接对 Agent 说:
|
|
|
|
```text
|
|
帮我基于这篇文章做一份瑞士风 PPT,控制在 7 页左右,需要 2-3 张配图。
|
|
```
|
|
|
|
也可以试这些请求:
|
|
|
|
```text
|
|
帮我把这份 Markdown 做成杂志风演讲 PPT。
|
|
基于这份 PPT 的核心观点,生成一张公众号 21:9 头图。
|
|
把这张产品截图重新设计成适合 PPT 的 16:10 配图。
|
|
```
|
|
|
|
## 效果
|
|
|
|
- 🖋 **双视觉系统**:电子杂志风负责叙事,瑞士风负责事实表达
|
|
- 📐 **横向左右翻页**:键盘 ← → / 滚轮 / 触屏滑动 / 底部圆点 / ESC 索引
|
|
- 🧩 **Style A 10 种布局**:封面、章节、数据大字报、图文、图片网格、Pipeline、对比等
|
|
- 🧱 **Style B 22 种锁定版式**:Cover、Statement、KPI Tower、Loop Diagram、Duo Compare、Image Hero、Closing Manifesto 等
|
|
- 🎨 **主题色预设**:Style A 5 套电子墨水主题,Style B 4 套瑞士高饱和锚点色
|
|
- 🖼 **Codex 可选配图流程**:可用 GPT-Image 2.0 / GPT-M 2.0 生成纪实照片、信息图、流程图、系统关系图、UI 情景图,并按模板比例插入
|
|
- 📰 **多平台封面**:可用同一套视觉规则生成公众号 21:9、公众号分享卡 1:1、小红书 3:4、视频号横版等封面
|
|
- 📴 **低性能静态模式**:按 `B` 可关闭 WebGL / canvas 动画,让动态内容退回静态背景
|
|
- 📄 **单文件 HTML**:不需要构建、不需要服务器,浏览器直接打开
|
|
|
|
## 适合 / 不适合
|
|
|
|
**✅ 合适**:线下分享 / 行业内部讲话 / 私享会 / AI 产品发布 / demo day / 带强烈个人风格的演讲
|
|
|
|
**❌ 不合适**:大段表格数据 / 培训课件(信息密度不够)/ 需要多人协作编辑(静态 HTML)
|
|
|
|
## 常见使用场景
|
|
|
|
| 任务 | 推荐方式 |
|
|
|------|---------|
|
|
| 长文章变演讲 PPT | 先抽核心观点,再按 6-10 页节奏生成 deck |
|
|
| 方法论 / 产品分析 | 用 Style B 瑞士风,优先使用锁定版式和 21:9 主图 |
|
|
| 个人分享 / 观点表达 | 用 Style A 电子杂志风,保留更强叙事感 |
|
|
| PPT 配图 | 在 Codex 中用 GPT-Image 2.0 / GPT-M 2.0 生成照片、信息图、流程图、UI 情景图 |
|
|
| 多平台封面 | 从同一份内容生成公众号 21:9、1:1 分享卡、小红书 3:4、视频号横版封面 |
|
|
| 截图统一风格 | 把原始截图重新生成到模板需要的比例,再插入 PPT |
|
|
|
|
## 为什么是 HTML PPT
|
|
|
|
- **更适合 Agent 生成和修改**:HTML / CSS 是文本,Agent 能直接读、改、验证。
|
|
- **表现力比 Markdown 更高**:可以做精细排版、空间定位、动画、交互和响应式封面。
|
|
- **交付更轻**:单文件 HTML 可以直接打开、演示、发送、截图。
|
|
- **更容易做质量控制**:瑞士风可以用脚本校验版式、图片槽位、标题对齐和危险 SVG。
|
|
- **更适合视觉内容链路**:同一套主题能覆盖 PPT、配图、封面和截图再设计。
|
|
|
|
## 平台支持
|
|
|
|
| 平台 | 状态 | 说明 |
|
|
|------|------|------|
|
|
| Claude Code | 支持 | 原生 Skill 工作流,适合生成和迭代 HTML deck |
|
|
| Codex | 支持 | 适合生成 PPT、调用图片生成能力、做浏览器视觉检查 |
|
|
| Cursor / 其他本地 Agent | 可用 | 需要能读写文件并执行 shell 命令 |
|
|
| WorkBuddy | 适配中 | 单独整理上架版本,去掉平台不需要的渠道差异 |
|
|
| 普通 Chatbot | 不推荐 | 没有文件系统和浏览器预览时,很难稳定生成完整 deck |
|
|
|
|
## 安装
|
|
|
|
### 方式一:一行命令安装(推荐)
|
|
|
|
```bash
|
|
npx skills add https://github.com/op7418/guizang-ppt-skill --skill guizang-ppt-skill
|
|
```
|
|
|
|
### 方式二:把下面这段话直接发给 AI
|
|
|
|
> 帮我安装 `guizang-ppt-skill` 这个 Claude Code skill。请按下面步骤做:
|
|
>
|
|
> 1. 确保 `~/.claude/skills/` 目录存在(不存在就创建)
|
|
> 2. 执行 `git clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill`
|
|
> 3. 验证:`ls ~/.claude/skills/guizang-ppt-skill/` 应该看到 `SKILL.md`、`assets/`、`references/` 三项
|
|
> 4. 告诉我安装好了,之后我说"做一份杂志风 PPT"之类的话就会触发这个 skill
|
|
|
|
把这段话复制粘贴给 Claude Code / Cursor / 任何有 shell 权限的 AI Agent,它会自动完成安装。
|
|
|
|
### 方式三:手动命令行
|
|
|
|
```bash
|
|
git clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill
|
|
```
|
|
|
|
### 触发方式
|
|
|
|
装好后,Claude Code 会在对话里自动发现并调用这个 skill。触发关键词:
|
|
|
|
- "帮我做一份杂志风 PPT"
|
|
- "帮我做一份瑞士风 PPT"
|
|
- "生成一个 horizontal swipe deck"
|
|
- "editorial magazine style presentation"
|
|
- "electronic ink 风格演讲 slides"
|
|
- "基于这篇文章做一张公众号 21:9 封面"
|
|
- "基于这份 PPT 生成一张 1:1 分享卡"
|
|
|
|
## 使用流程
|
|
|
|
Skill 本身是结构化工作流,Agent 会逐步引导:
|
|
|
|
1. **选择风格** — Style A 电子杂志风,或 Style B 瑞士国际主义
|
|
2. **需求澄清** — 6 问清单:受众、时长、素材、图片、主题色、硬约束
|
|
3. **拷贝模板** — Style A 用 `assets/template.html`,Style B 用 `assets/template-swiss.html`
|
|
4. **填充内容** — 先做主题节奏表,再从对应 layout 骨架里挑、粘、改文案
|
|
5. **可选配图** — 在 Codex 中询问是否用 GPT-Image 2.0 / GPT-M 2.0 生成配图,再按页面比例插入
|
|
6. **自检** — 对照 `references/checklist.md`,P0 级问题必须全过;瑞士风还要运行版式校验器
|
|
7. **预览** — 浏览器直接打开
|
|
8. **迭代** — inline style 改字号/高度/间距
|
|
|
|
详细说明见 [`SKILL.md`](./SKILL.md)。
|
|
|
|
## Style B 瑞士风
|
|
|
|
瑞士风是这次新增的结构化主题。它不是"换一套 CSS",而是一套更严格的版式系统。
|
|
|
|
- **22 个具名版式**:正文页只能从 `S01` 到 `S22` 中选择,不能临时发明页面结构
|
|
- **4 套锚点色**:克莱因蓝 IKB、柠檬黄、柠檬绿、安全橙
|
|
- **网格锁定**:16 列 grid、直角色块、1px 发丝线、无阴影、无渐变、无圆角
|
|
- **中文字号收敛**:全中文大标题需要降一档,避免占掉正文和图片空间
|
|
- **图文底对齐**:左文右图 / 左图右文场景优先让正文块与图片底部对齐,同时避开页脚翻页组件
|
|
- **图片槽位绑定**:图片必须进入模板预留的 `data-image-slot`,常见主图按 21:9 或 16:10 生成
|
|
- **强校验**:用脚本拦住居中标题、实验版式、SVG 内写字、图片脱离槽位等问题
|
|
|
|
瑞士风校验命令:
|
|
|
|
```bash
|
|
node scripts/validate-swiss-deck.mjs path/to/index.html
|
|
```
|
|
|
|
## Codex 配图能力
|
|
|
|
在 Codex 环境中,完成 deck 初稿后可以主动询问用户是否需要生成配图。用户确认后,再询问图片类型或风格,常用类型包括:
|
|
|
|
- 人文纪实照片:富士 / 徕卡感的真实场景,增加人文表现力
|
|
- 信息图 / 流程图 / 对比图 / 系统关系图:用于解释无法用实拍照片说明的概念
|
|
- 截图再设计 / UI 情景图:把原始截图统一成适合 PPT 的比例和视觉密度
|
|
- 数据大字报 / 数据图表:把关键数字做成可直接插入 PPT 的视觉素材
|
|
- 多图拼贴:用于极宽图片槽位,避免把三张 16:9 图片硬塞进三列
|
|
|
|
生成图片时要遵守三个关键规则:
|
|
|
|
- 图片是 PPT 中的嵌入素材,不要自带页脚、页底、标题、角标、页码或装饰边框
|
|
- 图片语言跟随 deck 语言:中文 deck 的信息图用中文标签,英文 deck 用英文标签
|
|
- 图片比例必须先匹配落位:瑞士风主图常用 21:9,通用主图常用 16:9 / 16:10,截图再设计常用 16:10,多图网格统一高度
|
|
|
|
配图提示词见 [`references/image-prompts.md`](./references/image-prompts.md)。
|
|
|
|
## 封面生成
|
|
|
|
这个 Skill 也可以基于文章或 PPT 核心观点生成平台封面。典型规格:
|
|
|
|
- **公众号头图**:21:9,主标题优先,右侧或边缘保留视觉锚点
|
|
- **公众号分享卡**:1:1,与头图共用主题色、关键词和视觉元素
|
|
- **小红书封面 / 轮播**:3:4,大标题优先,多张时统一字号和视觉节奏
|
|
- **视频号 / 横版封面**:16:9,适合标题 + 副标题 + 单一视觉焦点
|
|
|
|
封面原则和 PPT 一样:只用少量关键词,视觉重心落在大标题上,不要把正文堆满。
|
|
|
|
## 示例请求
|
|
|
|
复制下面任意一条给 Agent,再附上你的文章、Markdown 或素材文件:
|
|
|
|
```text
|
|
帮我基于这篇文章生成一份 8 页左右的瑞士风 PPT,需要 3 张配图,图片比例跟模板槽位匹配。
|
|
```
|
|
|
|
```text
|
|
帮我把这个产品分析文档做成电子杂志风 PPT,重点突出观点和叙事节奏。
|
|
```
|
|
|
|
```text
|
|
基于这份 PPT 的主题,做两张封面:公众号 21:9 头图和 1:1 分享卡,视觉保持一致。
|
|
```
|
|
|
|
```text
|
|
把这些产品截图重新设计成统一的 16:10 PPT 配图,保留关键信息,不要画页脚和标题。
|
|
```
|
|
|
|
## 目录结构
|
|
|
|
```
|
|
guizang-ppt-skill/
|
|
├── SKILL.md ← Skill 主文件:工作流、原则、常见错误
|
|
├── README.md ← 本文件
|
|
├── assets/
|
|
│ ├── template.html ← Style A 电子杂志风模板
|
|
│ └── template-swiss.html ← Style B 瑞士国际主义模板
|
|
├── scripts/
|
|
│ └── validate-swiss-deck.mjs ← 瑞士风版式校验器
|
|
└── references/
|
|
├── components.md ← 组件手册(字体、色、网格、图标、callout、stat、pipeline)
|
|
├── layouts.md ← 10 种页面布局骨架(可直接粘贴)
|
|
├── layouts-swiss.md ← 22 种瑞士风锁定版式
|
|
├── swiss-layout-lock.md ← 瑞士风还原度和版式硬约束
|
|
├── themes.md ← 5 套主题色预设(只能选不能自定义)
|
|
├── themes-swiss.md ← 4 套瑞士风锚点色
|
|
├── image-prompts.md ← GPT-Image 2.0 / GPT-M 2.0 配图类型、比例和基础提示词
|
|
└── checklist.md ← 质量检查清单(P0 / P1 / P2 / P3 分级)
|
|
```
|
|
|
|
## 主题色预设
|
|
|
|
从 `references/themes.md` 里选一套——**不允许自定义 hex 值**,保护美学比给自由更重要。
|
|
|
|
| 主题 | 适合场景 |
|
|
|------|---------|
|
|
| 🖋 墨水经典 | 通用默认、商业发布、不知道选啥 |
|
|
| 🌊 靛蓝瓷 | 科技 / 研究 / AI / 技术发布会 |
|
|
| 🌿 森林墨 | 自然 / 可持续 / 文化 / 非虚构 |
|
|
| 🍂 牛皮纸 | 怀旧 / 人文 / 文学 / 独立杂志 |
|
|
| 🌙 沙丘 | 艺术 / 设计 / 创意 / 画廊 |
|
|
|
|
切换主题只需替换 `template.html` 开头 `:root{}` 里的 6 行变量,其他 CSS 全走 `var(--...)`。
|
|
|
|
### Style B 瑞士主题
|
|
|
|
瑞士风从 `references/themes-swiss.md` 里选一套,同样**不允许自定义 hex 值**。
|
|
|
|
| 主题 | 适合场景 |
|
|
|------|---------|
|
|
| 克莱因蓝 IKB | 通用默认、商业发布、AI 产品、方法论 |
|
|
| 柠檬黄 | 年轻、运动、零售、Y2K 复古 |
|
|
| 柠檬绿 | 生态、可持续、Z 世代品牌 |
|
|
| 安全橙 | 警示、新闻、活力主题 |
|
|
|
|
如果用户说"瑞士风 PPT"但没有指定颜色,默认推荐克莱因蓝 IKB。
|
|
|
|
## 核心设计原则
|
|
|
|
1. **克制优于炫技** — WebGL 背景只在 hero 页透出
|
|
2. **结构优于装饰** — 信息靠字号 + 字体对比 + 网格留白,不用阴影和浮动卡片
|
|
3. **图片是第一公民** — 图片要对齐正文内容区,比例稳定,只裁底部,顶部和左右完整
|
|
4. **配图只做素材** — 生成图只保留核心照片 / 图表 / UI,不要把 PPT 页脚、标题和角标画进图片里
|
|
5. **节奏靠 hero 页** — hero / non-hero 交替,才不累眼睛
|
|
6. **低性能可退场** — 按 `B` 能切换到静态模式,动态效果不能成为阅读负担
|
|
7. **术语统一** — Skills 就是 Skills,不中英混译
|
|
8. **瑞士风必须守版式** — Style B 优先还原原始 22P 版式,不要为了"多样"发明不存在的页面
|
|
|
|
## 视觉参考
|
|
|
|
- [*Monocle*](https://monocle.com) 杂志的版式
|
|
- YC Garry Tan "Thin Harness, Fat Skills"
|
|
- Massimo Vignelli / Helvetica Forever / 瑞士国际主义网格系统
|
|
- 歸藏线下分享 PPT 系列
|
|
|
|
## Roadmap
|
|
|
|
- 补充更多真实案例和可打开的 HTML deck 示例
|
|
- 扩展封面规格,覆盖更多内容平台
|
|
- 增加更多瑞士风版式校验规则
|
|
- 优化截图再设计和信息图生成工作流
|
|
- 整理 WorkBuddy 等平台上架版本
|
|
- 增加更多主题包,但继续限制自定义颜色
|
|
|
|
## FAQ
|
|
|
|
**可以导出 PPTX 吗?**
|
|
当前核心交付是 HTML。你可以用浏览器演示、截图或录屏。如果需要 PPTX,建议把 HTML 页面作为视觉稿再转换,但这不是当前主流程。
|
|
|
|
**为什么不允许自定义颜色?**
|
|
这个 Skill 的重点是稳定产出。自由选色很容易破坏整体风格,所以只允许从预设主题里选。
|
|
|
|
**我能加自己的版式吗?**
|
|
可以。Style A 可以在 `references/layouts.md` 里扩展;Style B 更严格,需要同步更新 `template-swiss.html`、`layouts-swiss.md`、`swiss-layout-lock.md` 和校验器。
|
|
|
|
**Codex 配图是必须的吗?**
|
|
不是。没有配图也能生成 PPT。配图流程只在需要照片、信息图、UI 情景图或封面时使用。
|
|
|
|
**怎么更新到最新版?**
|
|
重新运行安装命令,或在本地 skill 目录执行 `git pull`。
|
|
|
|
## 贡献
|
|
|
|
Bug、排版问题、新布局需求——欢迎开 Issue 或 PR。改动请优先:
|
|
|
|
- 在 `template.html` 里补类,不要让 layouts.md 使用未定义的类
|
|
- 在 `template-swiss.html` 里补类时,同步更新 `layouts-swiss.md` 和 `swiss-layout-lock.md`
|
|
- 瑞士风新增规则后,同步更新 `scripts/validate-swiss-deck.mjs`
|
|
- 把踩过的坑写到 `checklist.md` 对应的 P0 / P1 / P2 / P3 级别
|
|
- 新主题色进 `themes.md` 并给出适合的场景
|
|
|
|
## License
|
|
|
|
MIT © 2026 [op7418](https://github.com/op7418)
|