{"repo":"op7418/guizang-ppt-skill","free":true,"listed":false,"github":"https://github.com/op7418/guizang-ppt-skill","clone":"git clone https://github.com/op7418/guizang-ppt-skill.git","description":"AI-agent Skill for generating polished HTML slide decks: editorial magazine and Swiss layouts, image prompts, social covers, and a WebGL/low-power presentation runtime.","language":"HTML","stars":24170,"topics":["ai-agent","claude-code","codex","html-deck","image-generation","ppt","presentation","skill","skills","swiss-design","web-ppt"],"license":"AGPL-3.0","category":"dev_tool","readme_excerpt":"# Guizang PPT Skill · 网页 PPT / 配图 / 封面\n\n![GitHub stars](https://img.shields.io/github/stars/op7418/guizang-ppt-skill?style=flat-square)\n![License](https://img.shields.io/github/license/op7418/guizang-ppt-skill?style=flat-square)\n![Skill](https://img.shields.io/badge/Skill-Agent-111111?style=flat-square)\n![HTML Deck](https://img.shields.io/badge/HTML-Deck-0A7CFF?style=flat-square)\n![Claude Code](https://img.shields.io/badge/Claude%20Code-Supported-6B5B95?style=flat-square)\n![Codex](https://img.shields.io/badge/Codex-Supported-222222?style=flat-square)\n[![由真格 Token Grant 资助](https://img.shields.io/static/v1?label=%E7%94%B1%E7%9C%9F%E6%A0%BC%20Token%20Grant&message=%E8%B5%84%E5%8A%A9&color=FF4D00&style=flat-square)](https://zhenfund.feishu.cn/share/base/form/shrcn1lAANF659o7EpWnxlR1VOh?sessionid=)\n![360 安全龙虾金牌赞助](https://img.shields.io/static/v1?label=360%E5%AE%89%E5%85%A8%E9%BE%99%E8%99%BE&message=%E9%87%91%E7%89%8C%E8%B5%9E%E5%8A%A9&color=1677FF&style=flat-square)\n![Kimi work 金牌赞助](https://img.shields.io/static/v1?label=Kimi%20work&message=%E9%87%91%E7%89%8C%E8%B5%9E%E5%8A%A9&color=111111&style=flat-square)\n![Cola Skill 金牌赞助](https://img.shields.io/static/v1?label=Cola%20Skill&message=%E9%87%91%E7%89%8C%E8%B5%9E%E5%8A%A9&color=E4353F&style=flat-square)\n\n> 🌏 **English version: [README.en.md](./README.en.md)**\n\n一个适配 Claude Code / Codex 等 Agent 环境的网页 PPT 技能,用于生成**单文件 HTML 横向翻页 PPT**、PPT 配图和多平台封面,并内置完整的排练与演讲者模式。\n\n内置两套视觉系统:\n\n- **Style A: 电子杂志 × 电子墨水**。像 *Monocle* 贴上了代码,适合叙事、观点、分享、个人风格表达。\n- **Style B: 瑞士国际主义**。网格至上、单一高饱和锚点色、直角、发丝线、极致字号对比,适合事实、产品、分析、方法论表达。\n\n> 由 [歸藏](https://x.com/op7418) 在\"一人公司:被 AI 折叠的组织\"、\"一种新的工作方式\"等线下分享中沉淀而成,踩过的每一个坑都写进了 `checklist.md`。\n> 赞助与支持信息见 [SPONSORS.md](./SPONSORS.md)。\n\n**旧主题 · Style A 电子杂志风**\n\n![Style A 电子杂志风效果展示](https://github.com/user-attachments/assets/5dc316a2-401c-4e37-9123-ea081b6ae470)\n\n**新主题 · Style B 瑞士国际主义**\n\n![Style B 瑞士国际主义效果展示](https://github.com/user-attachments/assets/8960e78c-69bb-4b7e-aa95-6fad64b70314)\n\n## 30 秒开始\n\n```bash\nnpx skills add https://github.com/op7418/guizang-ppt-skill --skill guizang-ppt-skill\n```\n\n也可以直接把这段话发给有 shell 权限的 AI Agent:\n\n```text\n帮我安装 guizang-ppt-skill。请把 https://github.com/op7418/guizang-ppt-skill 克隆到 ~/.claude/skills/guizang-ppt-skill,安装完成后检查 SKILL.md、assets/、references/ 是否存在。\n```\n\n已经安装过的话,用这段话更新:\n\n```text\n帮我更新 guizang-ppt-skill。请进入 ~/.claude/skills/guizang-ppt-skill 执行 git pull,然后告诉我当前最新 commit。\n```\n\n安装后直接对 Agent 说:\n\n```text\n帮我基于这篇文章做一份瑞士风 PPT,控制在 7 页左右,需要 2-3 张配图。\n```\n\n也可以试这些请求:\n\n```text\n帮我把这份 Markdown 做成杂志风演讲 PPT。\n基于这份 PPT 的核心观点,生成一张公众号 21:9 头图。\n把这张产品截图重新设计成适合 PPT 的 16:10 配图。\n给这份 PPT 补齐演讲备注和每页计划时长,然后用演讲者模式帮我排练。\n```\n\n## 赞助与支持\n\n<a href=\"./SPONSORS.md\">\n  <img src=\"https://github.com/user-attachments/assets/81138fad-31b9-49ab-8e38-23b2bc48edc4\" alt=\"360 安全龙虾 / Kimi work / Cola Skill 金牌赞助\" width=\"100%\">\n</a>\n\nGuizang PPT Skill 的持续迭代获得 **360 安全龙虾**、**Kimi work**、**Cola Skill** 金牌赞助和 [真格 Token Grant](https://zhenfund.feishu.cn/share/base/form/shrcn1lAANF659o7EpWnxlR1VOh?sessionid=) 支持。更多信息见 [SPONSORS.md](./SPONSORS.md)。\n\n### 在其他地方使用归藏 PPT Skill\n\n除了 Claude Code / Codex,也可以在这些平台使用归藏 PPT Skill:\n\n| 渠道 | 链接 |\n|------|------|\n| 360 安全龙虾 | [claw.360.cn](https://claw.360.cn/claw?vm_id=p19c1be5d7bed40bcb857ec4a9c785b69&target_url=https%3A%2F%2Fp19c1be5d7bed40bcb857ec4a9c785b69.claw.360.cn%2Fagents) |\n| Cola Skill | [colaskill.com/guizang-ppt-skill](https://colaskill.com/guizang-ppt-skill/) |\n| Kimi work | [kimi.com](https://www.kimi.com/zh-cn/products/kimi-work)（安装后在 Skill 商店搜索 guizang ppt skill） |\n\n## 效果\n\n- 🖋 **双视觉系统**:电子杂志风负责叙事,瑞士风负责事实表达\n- 📐 **横向左右翻页**:键盘 ← → / 滚轮 / 触屏滑动 / 底部圆点 / ESC 索引\n- 🧩 **Style A 10 种布局**:封面、章节、数据大字报、图文、图片网格、Pipeline、对比等\n- 🧱 **Style B 22 种锁定版式**:Cover、Statement、KPI Tower、Loop Diagram、Duo Compare、Image Hero、Closing Manifesto 等\n- 🎨 **主题色预设**:Style A 5 套电子墨水主题,Style B 4 套瑞士高饱和锚点色\n- 🖼 **Codex 可选配图流程**:可用 GPT-Image 2.0 / GPT-M 2.0 生成纪实照片、信息图、流程图、系统关系图、UI 情景图,并按模板比例插入\n- 📰 **多平台封面**:可用同一套视觉规则生成公众号 21:9、公众号分享卡 1:1、小红书 3:4、视频号横版等封面\n- 🎤 **演讲者模式**:双窗口观众屏、当前页/下一页 16:9 预览、演讲备注、计时排练、自动翻页、激光笔、圈选和现场故障恢复\n- 📴 **低性能静态模式**:按 `B` 可关闭 WebGL / canvas 动画,让动态内容退回静态背景\n- 📄 **单文件 HTML**:不需要构建、不需要服务器,浏览器直接打开\n\n## 适合 / 不适合\n\n**✅ 合适**:线下分享 / 行业内部讲话 / 私享会 / AI 产品发布 / demo day / 带强烈个人风格的演讲\n\n**❌ 不合适**:大段表格数据 / 培训课件(信息密度不够)/ 需要多人协作编辑(静态 HTML)\n\n## 常见使用场景\n\n| 任务 | 推荐方式 |\n|------|---------|\n| 长文章变演讲 PPT | 先抽核心观点,再按 6-10 页节奏生成 deck |\n| 方法论 / 产品分析 | 用 Style B 瑞士风,优先使用锁定版式和 21:9 主图 |\n| 个人分享 / 观点表达 | 用 Style A 电子杂志风,保留更强叙事感 |\n| PPT 配图 | 在 Codex 中用 GPT-Image 2.0 / GPT-M 2.0 生成照片、信息图、流程图、UI 情景图 |\n| 多平台封面 | 从同一份内容生成公众号 21:9、1:1 分享卡、小红书 3:4、视频号横版封面 |\n| 截图统一风格 | 把原始截图重新生成到模板需要的比例,再插入 PPT |\n| 现场演讲 / 排练 | 让 Agent 从大纲生成备注和时长,按右下角 `P` 进入演讲者模式 |\n\n## 为什么是 HTML PPT\n\n- **更适合 Agent 生成和修改**:HTML / CSS 是文本,Agent 能直接读、改、验证。\n- **表现力比 Markdown 更高**:可以做精细排版、空间定位、动画、交互和响应式封面。\n- **交付更轻**:单文件 HTML 可以直接打开、演示、发送、截图,演讲者工具也随文件一起交付。\n- **更容易做质量控制**:瑞士风可以用脚本校验版式、图片槽位、标题对齐、危险 SVG,并在可用时用 Playwright 后验测量超出、底部空白、nav 安全线和标题间距。\n- **更适合视觉内容链路**:同一套主题能覆盖 PPT、配图、封面和截图再设计。\n\n## 平台支持\n\n| 平台 | 状态 | 说明 |\n|------|------|------|\n| Claude Code | 支持 | 原生 Skill 工作流,适合生成和迭代 HTML deck |\n| Codex | 支持 | 适合生成 PPT、调用图片生成能力、做浏览器视觉检查 |\n| Cursor / 其他本地 Agent | 可用 | 需要能读写文件并执行 shell 命令 |\n| WorkBuddy | 适配中 | 单独整理上架版本,去掉平台不需要的渠道差异 |\n| 普通 Chatbot | 不推荐 | 没有文件系统和浏览器预览时,很难稳定生成完整 deck |\n\n## 安装\n\n### 方式一:一行命令安装(推荐)\n\n```bash\nnpx skills add https://github.com/op7418/guizang-ppt-skill --skill guizang-ppt-skill\n```\n\n### 方式二:把下面这段话直接发给 AI\n\n> 帮我安装 `guizang-ppt-skill` 这个 Claude Code skill。请按下面步骤做:\n>\n> 1. 确保 `~/.claude/skills/` 目录存在(不存在就创建)\n> 2. 执行 `git clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill`\n> 3. 验证:`ls ~/.claude/skills/guizang-ppt-skill/` 应该看到 `SKILL.md`、`assets/`、`references/` 三项\n> 4. 告诉我安装好了,之后我说\"做一份杂志风 PPT\"之类的话就会触发这个 skill\n\n把这段话复制粘贴给 Claude Code / Cursor / 任何有 shell 权限的 AI Agent,它会自动完成安装。\n\n### 方式三:手动命令行\n\n```bash\ngit clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill\n```\n\n### 触发方式\n\n装好后,Claude Code 会在对话里自动发现并调用这个 skill。触发关键词:\n\n- \"帮我做一份杂志风 PPT\"\n- \"帮我做一份瑞士风 PPT\"\n- \"生成一个 horizontal swipe deck\"\n- \"editorial magazine style presentation\"\n- \"electronic ink 风格演讲 slides\"\n- \"基于这篇文章做一张公众号 21:9 封面\"\n- \"基于这份 PPT 生成一张 1:1 分享卡\"\n- \"给这份 PPT 补齐演讲备注,并用演讲者模式帮我排练\"\n\n## 使用流程\n\nSkill 本身是结构化工作流,Agent 会逐步引导:\n\n1. **选择风格** — Style A 电子杂志风,或 Style B 瑞士国际主义\n2. **需求澄清** — 7 问清单:风格、受众、时长、素材、图片/截图需求、主题色、硬约束\n3. **拷贝模板** — Style A 用 `assets/template.html`,Style B 用 `assets/template-swiss.html`\n4. **填充内容** — 先做主题节奏表,再从对应 layout 骨架里挑、粘、改文案\n5. **可选配图** — 在 Codex 中询问是否用 GPT-Image 2.0 / GPT-M 2.0 生成配图,再按页面比例插入\n6. **生成演讲备注** — 从大纲提取每页目的、讲述要点、转场和计划时长；用户没提供的信息不猜测\n7. **自检** — 对照 `references/checklist.md`,P0 级问题必须全过；瑞士风和演讲模式分别运行对应校验器\n8. **预览** — 浏览器直接打开\n9. **排练 / 演讲** — 按右下角 `P` 进入演讲者模式,检查观众屏同步并记录实际时长\n10. **迭代** — 根据排练结果调整内容、字号、高度和间距\n\n详细说明见 [`SKILL.md`](./SKILL.md)。\n\n## 演讲者模式\n\n两套模板都内置同一套演讲者运行时。打开 deck 后,点击右下角 `P` 即可进入演讲者视图；浏览器会同时打开一个干净的观众屏。所有核心能力都在本地 HTML 和浏览器里完成,不依赖实时字幕、云端中继、手机遥控或 AI 教练服务。\n\n**演讲者视图示例**\n\n![演讲者视图示例：当前页、下一页、演讲备注、计时控制与观众屏状态](https://github.com/user-attachments/assets/95db62b5-65bb-40af-ac0b-1d415682af88)\n\n### 演讲时能看到什么\n\n- **当前页与下一页**:上下排列并始终保持 `16:9`,小屏时整页等比缩放,不裁切、不挤压文字\n- **宫格选页**:在预览区原位切换总览,点选页面后立即回到双预览,观众屏同步跟随\n- **结构化备注**:标题、本页目的、讲述要点和转场必填；互动、语气、翻页时机、备用方案和读音等信息只在大纲提供时显示\n- **进度与状态**:显示当前页 / 总页数、完成百分比,以及观众屏的连接中、已同步、未同步、已冻结、未连接或弹窗被拦截状态\n\n### 时间、排练与自动翻页\n\n- 底栏分别显示已进行、本页和剩余 / 超时时间,按钮明确区分“开始计时 / 继续计时 / 重置计时”\n- 排练模式记录每页实际时长和整场汇总,数据保存在本地浏览器,不会做 AI 评分\n- 自动翻页默认关闭；只有大纲明确给出页面停留秒数,或用户在设置中开启全局间隔时才启用\n- 打开宫格、设置、圈选工具,页面隐藏,或观众屏暂停 / 失去同步时,自动翻页会暂停\n\n### 现场工具与故障恢复\n\n- 激光笔、圈选和清除会同步到观众屏\n- 一键黑屏、白屏,或冻结观众屏；恢复后自动追平演讲者当前页\n- 观众窗口关闭或心跳超时后明确显示“未连接”,可随时点击“重新打开观众屏”\n- 退出演讲时自动关闭观众窗口；浏览器不允许自关时,观众端显示“演示已结束”\n- 演前检查覆盖弹窗、全屏、字体、图片 / 视频和 `16:9` 预览,并提醒人工确认 HDMI、转接器和投影仪\n\n常用快捷键：`← / →` 翻页,`Home / End` 跳首页或尾页,`G` 宫格,`L` 激光笔,`C` 圈选,`B / W` 黑屏或白屏,`F` 冻结观众屏,`?` 查看完整快捷键。\n\n让 Agent 生成或补齐演讲模式时,可以直接说：\n\n```text\n根据这份大纲给每一页补齐演讲目的、讲述要点、转场和计划时长。没有提供的互动或现场信息不要猜,然后运行演讲模式校验器。\n```\n\n演讲备注契约和完整行为说明见 [`references/presenter-mode.md`](./references/presenter-mode.md)。校验命令：\n\n```bash\nnode scripts/validate-presenter-mode.mjs path/to/index.html\nnode scripts/validate-presenter-mode.mjs path/to/index.html --target-minutes 30\n```\n\n## Style B 瑞士风\n\n瑞士风是这次新增的结构化主题。它不是\"换一套 CSS\",而是一套更严格的版式系统。\n\n- **22 个具名版式**:正文页只能从 `S01` 到 `S22` 中选择,不能临时发明页面结构\n- **4 套锚点色**:克莱因蓝 IKB、柠檬黄、柠檬绿、安全橙\n- **网格锁定**:16 列 grid、直角色块、1px 发丝线、无阴影、无渐变、无圆角\n- **中文字号收敛**:全中文大标题需要降一档,避免占掉正文和图片空间\n- **图文底对齐**:左文右图 / 左图右文场景优先让正文块与图片底部对齐,同时避开页脚翻页组件\n- **图片槽位绑定**:图片必须进入模板预留的 `data-image-slot`,常见主图按 21:9 或 16:10 生成\n- **强校验**:用脚本拦住居中标题、实验版式、SVG 内写字、图片脱离槽位等问题;可用 Playwright 时还会量化真实渲染后的 overflow、bottom whitespace、title gap\n\n瑞士风校验命令:\n\n```bash\nnode scripts/validate-swiss-deck.mjs path/to/index.html\n```\n\n## Codex 配图能力\n\n在 Codex 环境中,完成 deck 初稿后可以主动询问用户是否需要生成配图。用户确认后,再询问图片类型或风格,常用类型包括:\n\n- 人文纪实照片:富士 / 徕卡感的真实场景,增加人文表现力\n- 信息图 / 流程图 / 对比图 / 系统关系图:用于解释无法用实拍照片说明的概念\n- 截图美化 / 截图再设计:原始截图优先用内置背景资产做 CleanShot X 式背景画布适配;需要重构时再生成 UI 情景图\n- 数据大字报 / 数据图表:把关键数字做成可直接插入 PPT 的视觉素材\n- 多图拼贴:用于极宽图片槽位,避免把三张 16:9 图片硬塞进三列\n\n生成图片时要遵守四个关键规则:\n\n- 图片是 PPT 中的嵌入素材,不要自带页脚、页底、标题、角标、页码或装饰边框\n- 图片语言跟随 deck 语言:中文 deck 的信息图用中文标签,英文 deck 用英文标签\n- 图片比例必须先匹配落位:瑞士风主图常用 21:9,通用主图常用 16:9 / 16:10,截图再设计常用 16:10,多图网格统一高度\n- 用户截图需要保真时,先读 `references/screenshot-framing.md`,用 `assets/screenshot-backgrounds/` 内置背景 + 程序化缩放/留边/对齐处理,不要默认重画截图内容\n\n配图提示词见 [`references/image-prompts.md`](./references/image-prompts.md),截图适配见 [`references/screenshot-framing.md`](./references/screenshot-framing.md)。\n\n## 封面生成\n\n这个 Skill 也可以基于文章或 PPT 核心观点生成平台封面。典型规格:\n\n- **公众号头图**:21:9,主标题优先,右侧或边缘保留视觉锚点\n- **公众号分享卡**:1:1,与头图共用主题色、关键词和视觉元素\n- **小红书封面 / 轮播**:3:4,大标题优先,多张时统一字号和视觉节奏\n- **视频号 / 横版封面**:16:9,适合标题 + 副标题 + 单一视觉焦点\n\n封面原则和 PPT 一样:只用少量关键词,视觉重心落在大标题上,不要把正文堆满。\n\n## 示例请求\n\n复制下面任意一条给 Agent,再附上你的文章、Markdown 或素材文件:\n\n```text\n帮我基于这篇文章生成一份 8 页左右的瑞士风 PPT,需要 3 张配图,图片比例跟模板槽位匹配。\n```\n\n```text\n帮我把这个产品分析文档做成电子杂志风 PPT,重点突出观点和叙事节奏。\n```\n\n```text\n基于这份 PPT 的主题,做两张封面:公众号 21:9 头图和 1:1 分享卡,视觉保持一致。\n```\n\n```text\n把这些产品截图重新设计成统一的 16:10 PPT 配图,保留关键信息,不要画页脚和标题。\n```\n\n## 目录结构\n\n```\nguizang-ppt-skill/\n├── SKILL.md              ← Skill 主文件:工作流、原则、常见错误\n├── REA","default_branch":"main","files":41,"tree":[".github/ISSUE_TEMPLATE/bug_report.yml",".github/ISSUE_TEMPLATE/config.yml",".github/ISSUE_TEMPLATE/feature_request.yml",".github/ISSUE_TEMPLATE/question.yml",".github/pull_request_template.md",".github/workflows/presenter-runtime-sync.yml",".gitignore","CONTRIBUTING.md","LICENSE","README.en.md","README.md","SKILL.md","SPONSORS.md","assets/motion.min.js","assets/ppt-skill-showcase.png","assets/screenshot-backgrounds/style-a/dune.webp","assets/screenshot-backgrounds/style-a/forest-ink.webp","assets/screenshot-backgrounds/style-a/indigo-porcelain.webp","assets/screenshot-backgrounds/style-a/kraft-paper.webp","assets/screenshot-backgrounds/style-a/monocle-classic.webp","assets/screenshot-backgrounds/style-b/ikb-dot-gradient.webp","assets/screenshot-backgrounds/style-b/lemon-green-dot-shadow.webp","assets/screenshot-backgrounds/style-b/lemon-grid.webp","assets/screenshot-backgrounds/style-b/safety-orange-halftone.webp","assets/template-swiss.html","assets/template.html","docs/unification-plan.md","references/checklist.md","references/components.md","references/image-prompts.md","references/layouts-swiss.md","references/layouts.md","references/presenter-mode.md","references/screenshot-framing.md","references/swiss-layout-lock.md","references/swiss-map-component.md","references/themes-swiss.md","references/themes.md","scripts/check-presenter-runtime-sync.mjs","scripts/validate-presenter-mode.mjs","scripts/validate-swiss-deck.mjs"],"storefront":"/r/op7418","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/op7418/guizang-ppt-skill/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}