https://github.com/op7418/guizang-ppt-skill
A Claude Code Skill that turns prompts into horizontal-swipe magazine-style HTML decks — 10 layouts, 5 curated themes, WebGL hero backgrounds, single-file output.
https://github.com/op7418/guizang-ppt-skill
Last synced: about 1 month ago
JSON representation
A Claude Code Skill that turns prompts into horizontal-swipe magazine-style HTML decks — 10 layouts, 5 curated themes, WebGL hero backgrounds, single-file output.
- Host: GitHub
- URL: https://github.com/op7418/guizang-ppt-skill
- Owner: op7418
- License: mit
- Created: 2026-04-23T13:23:07.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-05-10T17:31:06.000Z (3 months ago)
- Last Synced: 2026-05-10T19:26:47.524Z (3 months ago)
- Language: HTML
- Size: 138 KB
- Stars: 6,232
- Watchers: 10
- Forks: 568
- Open Issues: 6
-
Metadata Files:
- Readme: README.en.md
- License: LICENSE
Awesome Lists containing this project
- awesome-claude-skills-zh - guizang-ppt-skill
- awesome-ai-coding - Guizang PPT Skill - ppt-skill?style=flat-square&label=%E2%98%85)](https://github.com/op7418/guizang-ppt-skill) | op7418 | AI-agent Skill for generating polished HTML slide decks with Swiss layouts. | Claude Code / Codex / General Agents | (🔌 Custom Agent Skills & Plugins)
- awesome-persona-skills - PPT.skill - 制作电子杂志风网页 PPT (📦 技能列表 / 工具类)
- awesome-claude-code-and-skills - op7418/guizang-ppt-skill - ppt-skill?style=flat-square) (Marketing & Content / Compliance & Auditing)
- awesome-ai-agents - op7418/guizang-ppt-skill - AI agent skill for generating polished HTML slide decks with various design styles, image prompts, social covers, and a WebGL/low-power presentation runtime. (AI Agent Frameworks & SDKs / Orchestration Frameworks)
- StarryDivineSky - op7418/guizang-ppt-skill - agent 的自动化幻灯片生成工具,专为解决传统 PPT 制作流程繁琐、设计门槛高、排版效率低等痛点而设计。与普通幻灯片软件不同,它通过智能化的内容编排和模板适配,能够一键生成兼具杂志级排版与瑞士设计风格(Swiss layouts)的专业级 HTML 幻灯片,同时支持图像提示生成、社交媒体封面设计,并搭载了轻量化的 WebGL/低功耗演示运行时环境,大幅降低用户从内容创作到视觉呈现的综合性成本。核心特色:首先,该项目突破了传统工具的静态模板限制,通过 AI 代理动态解析内容结构,自动匹配多场景版式,确保每一页幻灯片既符合设计规范又能灵活适配用户输入。其次,其内置的「图像提示」功能可基于文本描述生成匹配主题的视觉素材,解决了非设计人士寻找配图的难题。此外,独特的 WebGL 渲染引擎在保证动画流畅度的同时优化了功耗表现,使得长时间演示或移动端浏览时仍能保持低耗电与高性能,这一点显著优于依赖浏览器原生渲染的同类工具。技术原理浅析: 该项目的智能化核心类似于一位「全能幻灯片导演」:用户提供原始内容(如文字或大纲)后,AI 代理会先像编辑分镜脚本一样拆解逻辑脉络,再调用预训练的版式模型自动分配标题、正文与图片的层级关系;而图像生成模块则如同一个即时美术团队,根据章节关键词快速产出风格统一的插画或封面。最终的输出采用 HTML+WebGL 技术栈,其优势好比将传统幻灯片的「厚重视频文件」转换为「可实时调整的网页」,既保留了复杂动画效果,又通过 GPU 加速渲染降低了设备负载。这种架构尤其适合需要频繁迭代或跨平台分享的场景,用户无需安装专业软件即可通过链接在线演示。整体而言,该项目通过融合 AI 内容理解、自动化设计系统与轻量化前端技术,重新定义了幻灯片制作的「生产力流水线」。其设计哲学并非简单替代 PowerPoint 或 Keynote,而是为注重效率与质感的用户提供了一种「从草稿到成品」的端到端解决方案,尤其适合技术博主、市场营销人员等需要高频产出高质量幻灯片的群体。 (A01_文本生成_文本对话 / 大语言对话模型及数据)
- awesome-claude-code - **guizang-ppt-skill** - swipe magazine-style HTML decks. (🧠 Agent Skills)
- awesome-skills-zh - **op7418/guizang-ppt-skill** - ppt-skill) | 归藏(op7418)出品,生成精美 HTML 幻灯片的 Agent Skill:内置杂志风与瑞士风排版、配图提示词、社交封面,以及 WebGL / 低功耗演示运行时。 | (⭐ 明星单项 Skills (Featured Standalone Skills) / 架构演进:代码优先 (Code-First))
- awesome-local-llms - guizang-ppt-skill - agent Skill for generating polished HTML slide decks: editorial magazine and Swiss layouts, image prompts, social covers, and a WebGL/low-power presentation runtime. | 18,244 | 1,328 | 12 | 0 | 1 | GNU Affero General Public License v3.0 | 19 days, 1 hrs, 20 mins | (Open-Source LLM & Agent Projects)
- awesome-ai-200 - op7418/guizang-ppt-skill
- awesome-agent-skills - guizang-ppt-skill - A Claude Code skill for horizontal-swipe, magazine-style HTML decks from prompts. (Diagram and Visual Skills)
README
# Guizang PPT Skill · Web Decks / Images / Covers






[](https://zhenfund.feishu.cn/share/base/form/shrcn1lAANF659o7EpWnxlR1VOh?sessionid=)

An agent skill for Claude Code, Codex, and similar coding-agent environments. It generates **single-file HTML horizontal-swipe decks**, deck visuals, and social cover pages.
It ships with two visual systems:
- **Style A: editorial magazine × electronic ink**. Picture *Monocle* with code stitched in. Best for narrative talks, opinions, salons, and personal voice.
- **Style B: Swiss International Typographic Style**. Grid-first, one high-saturation anchor color, sharp rectangles, hairline rules, and extreme type contrast. Best for facts, products, analysis, and frameworks.
> Distilled by [Guizang](https://x.com/op7418) from offline talks like "One-Person Company: Organizations Folded by AI" and "A New Way of Working." Every pitfall hit during those decks is logged in `checklist.md`.
> Sponsor and supporter details are listed in [SPONSORS.md](./SPONSORS.md).
**Old Theme · Style A Editorial Magazine**

**New Theme · Style B Swiss International**

## 30-second start
```bash
npx skills add https://github.com/op7418/guizang-ppt-skill --skill guizang-ppt-skill
```
Or paste this to an AI agent with shell access:
```text
Install guizang-ppt-skill for me. Clone https://github.com/op7418/guizang-ppt-skill into ~/.claude/skills/guizang-ppt-skill, then verify that SKILL.md, assets/, and references/ exist.
```
If you already installed it, update with:
```text
Update guizang-ppt-skill for me. Go to ~/.claude/skills/guizang-ppt-skill, run git pull, then tell me the latest commit.
```
Then ask your agent:
```text
Create a Swiss-style deck from this article, around 7 slides, with 2-3 generated visuals.
```
Other useful prompts:
```text
Turn this Markdown file into an editorial magazine-style presentation.
Create a 21:9 social cover from the core idea of this deck.
Redesign this product screenshot as a 16:10 slide visual.
```
## Sponsors and Supporters
Guizang PPT Skill is supported by **360 Security Lobster** as Gold Sponsor and by [ZhenFund Token Grant](https://zhenfund.feishu.cn/share/base/form/shrcn1lAANF659o7EpWnxlR1VOh?sessionid=). See [SPONSORS.md](./SPONSORS.md) for details.
## What you get
- 🖋 **Two visual systems**: editorial storytelling for Style A, factual Swiss structure for Style B
- 📐 **Horizontal swipe navigation**: ← → arrows / scroll wheel / touch swipe / bottom dots / ESC for index
- 🧩 **Style A 10 layouts**: cover, divider, big numbers, image/text, image grid, pipeline, comparison, and more
- 🧱 **Style B 22 locked layouts**: Cover, Statement, KPI Tower, Loop Diagram, Duo Compare, Image Hero, Closing Manifesto, and more
- 🎨 **Curated theme presets**: 5 electronic-ink themes for Style A, 4 Swiss anchor-color themes for Style B
- 🖼 **Optional Codex image flow**: generate documentary photos, infographics, flow diagrams, system maps, and UI scenes with GPT-Image 2.0 / GPT-M 2.0, then insert them at template-safe ratios
- 📰 **Social covers**: generate 21:9 WeChat cover images, 1:1 share cards, 3:4 Xiaohongshu covers, video thumbnails, and related variants
- 📴 **Low-power static mode**: press `B` to turn WebGL / canvas animation into static visuals
- 📄 **Single HTML file** — no build, no server, open directly in the browser
## Fits / Doesn't fit
**✅ Fits**: offline talks, industry keynotes, private salons, AI product launches, demo day, presentations with strong personal voice
**❌ Doesn't fit**: data-heavy tables, training decks (density too low), multi-user collaborative editing (static HTML)
## Common use cases
| Task | Recommended flow |
|------|------------------|
| Long article to talk deck | Extract the core argument, then build a 6-10 slide rhythm |
| Framework / product analysis | Use Style B Swiss with locked layouts and 21:9 hero visuals |
| Personal talk / opinion piece | Use Style A editorial magazine for stronger narrative rhythm |
| Deck visuals | In Codex, generate photos, infographics, flow diagrams, system maps, or UI scenes |
| Social covers | Generate 21:9 main covers, 1:1 share cards, 3:4 vertical covers, and video thumbnails from the same idea |
| Screenshot normalization | Redesign raw screenshots into template-safe ratios before inserting them into slides |
## Why HTML decks
- **Agent-native editing**: HTML / CSS is plain text, so agents can read, edit, and validate it directly.
- **Higher visual density than Markdown**: precise layout, positioning, motion, interactivity, and cover formats.
- **Lightweight delivery**: one HTML file can be opened, presented, sent, screenshotted, or recorded.
- **Better quality gates**: the Swiss validator can catch layout drift, unsafe image placement, centered body titles, and SVG text traps.
- **One visual system across outputs**: decks, generated visuals, covers, and screenshot redesigns can share the same style rules.
## Platform support
| Platform | Status | Notes |
|----------|--------|-------|
| Claude Code | Supported | Native Skill workflow for creating and iterating HTML decks |
| Codex | Supported | Good for deck generation, image generation, and browser-based visual QA |
| Cursor / other local agents | Works | Requires filesystem access and shell execution |
| WorkBuddy | In adaptation | Marketplace-ready version is being prepared separately |
| Plain chatbot | Not recommended | Without filesystem and browser preview, full deck generation is hard to stabilize |
## Install
### Option 1: One-line install (recommended)
```bash
npx skills add https://github.com/op7418/guizang-ppt-skill --skill guizang-ppt-skill
```
### Option 2: Paste this to an AI
> Install the `guizang-ppt-skill` Claude Code skill for me. Steps:
>
> 1. Make sure `~/.claude/skills/` exists (create if not)
> 2. Run `git clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill`
> 3. Verify: `ls ~/.claude/skills/guizang-ppt-skill/` should show `SKILL.md`, `assets/`, `references/`
> 4. Tell me when done. Later, saying things like "make me a magazine-style deck" will trigger this skill.
Paste the block above into Claude Code / Cursor / any AI agent with shell access and it handles the install.
### Option 3: Manual CLI
```bash
git clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill
```
### How to trigger it
Once installed, Claude Code auto-detects the skill. Trigger phrases:
- "Make me a magazine-style deck"
- "Make me a Swiss-style deck"
- "Generate a horizontal swipe deck"
- "Editorial magazine style presentation"
- "Electronic ink slides for my talk"
- "Create a 21:9 WeChat cover from this article"
- "Create a 1:1 share card from this deck"
## Workflow
The skill is a structured workflow; the agent walks you through each step:
1. **Choose style** — Style A editorial magazine, or Style B Swiss International
2. **Clarify intent** — 7-question checklist: style, audience, duration, source material, images/screenshots, theme, hard constraints
3. **Copy template** — Style A uses `assets/template.html`; Style B uses `assets/template-swiss.html`
4. **Fill content** — create a rhythm plan, then choose and adapt the matching layout skeletons
5. **Optional image generation** — in Codex, ask whether to use GPT-Image 2.0 / GPT-M 2.0 images, then insert them at page-appropriate ratios
6. **Self-check** — match against `references/checklist.md`; P0 issues must all pass; Swiss decks must also pass the layout validator
7. **Preview** — open the HTML in a browser
8. **Iterate** — use inline styles to tune font size, height, spacing
Full spec in [`SKILL.md`](./SKILL.md).
## Style B Swiss
The Swiss theme is a strict layout system, not just a CSS skin.
- **22 named layouts**: body slides must use `S01` to `S22`; do not invent new structures
- **4 anchor colors**: International Klein Blue, lemon yellow, lemon green, safety orange
- **Grid lock**: 16-column grid, sharp rectangles, 1px hairlines, no shadows, no gradients, no rounded cards
- **Chinese title scaling**: all-Chinese headlines should be one step smaller to preserve space for content and images
- **Image/text bottom alignment**: text and image blocks should align at the bottom in left/right image layouts, while staying clear of pagination controls
- **Image slots**: images must sit in template-defined `data-image-slot` regions, often generated at 21:9 or 16:10
- **Hard validation**: the validator catches centered body titles, experimental layouts, visible SVG text, and images placed outside slots
Swiss validation:
```bash
node scripts/validate-swiss-deck.mjs path/to/index.html
```
## Codex Image Flow
In Codex, after the first deck draft is ready, the agent can ask whether the user wants generated visuals. Once confirmed, choose an image type or style. Common types include:
- Documentary photos: Fuji / Leica-like real-world scenes that add human texture
- Infographics / flow diagrams / comparison charts / system maps: for concepts that cannot be explained well with photos
- Screenshot framing / screenshot redesigns: preserve raw screenshots with bundled background assets and a CleanShot X-style canvas first; use UI scene generation only when the screenshot needs reconstruction
- Data posters / charts: turn key numbers into insert-ready visual assets
- Multi-image compositions: useful for ultra-wide slots where three unrelated 16:9 images would break the grid
Generated images must follow four core rules:
- Treat the image as an embedded asset, not a standalone slide: no footer, page bottom, title, page number, corner mark, signature, or decorative border
- Match the deck language: Chinese decks use Chinese labels inside infographics, English decks use English labels
- Match the slot ratio before generation: 21:9 for many Swiss hero slots, 16:9 / 16:10 for common main visuals, 16:10 for UI scenes, fixed equal heights for image grids
- When a raw screenshot must stay faithful, read `references/screenshot-framing.md` first and use bundled `assets/screenshot-backgrounds/` backgrounds plus programmatic scaling, padding, and alignment instead of redrawing the screenshot by default
Image prompts live in [`references/image-prompts.md`](./references/image-prompts.md). Screenshot framing lives in [`references/screenshot-framing.md`](./references/screenshot-framing.md).
## Cover Generation
The skill can also turn an article or deck idea into platform covers:
- **WeChat main cover**: 21:9, headline-first, with one visual anchor
- **WeChat share card**: 1:1, visually paired with the 21:9 cover
- **Xiaohongshu cover / carousel**: 3:4, large title, consistent type scale across a batch
- **Video thumbnail**: 16:9, title + subtitle + one focal visual
The same rule applies: use a few strong keywords, keep the title as the visual center, and do not fill the canvas with body copy.
## Example prompts
Copy any of these prompts into your agent, then attach your article, Markdown file, or image assets:
```text
Create an 8-slide Swiss-style deck from this article, with 3 generated visuals matched to the template image slots.
```
```text
Turn this product analysis document into an editorial magazine-style deck with a strong narrative rhythm.
```
```text
From this deck's core idea, create two covers: a 21:9 main cover and a visually paired 1:1 share card.
```
```text
Redesign these product screenshots into consistent 16:10 slide visuals. Preserve key UI information; do not add slide titles or footers inside the images.
```
## Directory
```
guizang-ppt-skill/
├── SKILL.md ← main skill file: workflow, principles, common mistakes
├── README.md ← Chinese README
├── README.en.md ← this file
├── assets/
│ ├── template.html ← Style A editorial magazine template
│ ├── template-swiss.html ← Style B Swiss template
│ └── screenshot-backgrounds/ ← bundled WebP screenshot backgrounds: 5 style-a / 4 style-b
├── scripts/
│ └── validate-swiss-deck.mjs ← Swiss layout validator
└── references/
├── components.md ← component catalog (type, color, grid, icons, callout, stat, pipeline)
├── layouts.md ← 10 layout skeletons (paste-ready)
├── layouts-swiss.md ← 22 locked Swiss layouts
├── swiss-layout-lock.md ← Swiss fidelity and layout hard rules
├── themes.md ← 5 theme presets (pick, don't customize)
├── themes-swiss.md ← 4 Swiss anchor-color themes
├── image-prompts.md ← GPT-Image 2.0 / GPT-M 2.0 image types, ratios, and base prompts
├── screenshot-framing.md ← CleanShot X-style screenshot framing semantics
└── checklist.md ← quality checklist (P0 / P1 / P2 / P3 tiers)
```
## Theme presets
Pick from `references/themes.md`. **Custom hex values are not allowed** — protecting the aesthetic matters more than freedom of choice.
### Style A Editorial Themes
| Preview | Theme | Core colors and best for |
|---------|-------|--------------------------|
|
| 🖋 **Ink Classic** | `#0a0a0b` / `#f1efea`. General default, commercial launches, when in doubt. |
|
| 🌊 **Indigo Porcelain** | `#0a1f3d` / `#f1f3f5`. Tech, research, AI, technical keynotes. |
|
| 🌿 **Forest Ink** | `#1a2e1f` / `#f5f1e8`. Nature, sustainability, culture, non-fiction. |
|
| 🍂 **Kraft Paper** | `#2a1e13` / `#eedfc7`. Nostalgic, humanist, literary, indie zines. |
|
| 🌙 **Dune** | `#1f1a14` / `#f0e6d2`. Art, design, creative, fashion, gallery-like decks. |
Switching themes only requires replacing the 6 variables at the top of `template.html`'s `:root{}` block — all other CSS flows through `var(--...)`.
### Style B Swiss Themes
Pick from `references/themes-swiss.md`. **Custom hex values are not allowed** here either.
| Preview | Theme | Anchor color and best for |
|---------|-------|---------------------------|
|
| 🔵 **International Klein Blue** | `#002FA7`. Default, commercial launches, AI products, frameworks. |
|
| 🟡 **Lemon Yellow** | `#FFD500`. Youth, sports, retail, consumer goods, Y2K retro. |
|
| 🟢 **Lemon Green** | `#C5E803`. Ecology, sustainability, health, Gen Z brands. |
|
| 🟠 **Safety Orange** | `#FF6B35`. Alerts, news, industrial topics, sports, energetic themes. |
If the user asks for a Swiss-style deck without specifying color, default to International Klein Blue.
## Core design principles
1. **Restraint over flash** — WebGL backgrounds only bleed through on hero pages
2. **Structure over decoration** — information hierarchy via type size + typeface + grid whitespace, not shadows or floating cards
3. **Images are first-class citizens** — align them with the body content area, keep ratios stable, crop only from the bottom, and preserve top/sides
4. **Generated visuals are assets** — keep only the core photo / chart / UI; do not render slide titles, footers, or corner marks inside the image
5. **Rhythm lives on hero pages** — hero / non-hero alternation keeps the eye from fatiguing
6. **Dynamic effects must be optional** — `B` toggles static mode so animation never becomes a reading burden
7. **Terms stay consistent** — Skills is Skills; no mix-and-match translations
8. **Swiss layouts stay locked** — Style B should restore and reuse the original 22-page layout system instead of inventing unrelated pages
## Visual references
- [*Monocle*](https://monocle.com) magazine layouts
- YC Garry Tan — "Thin Harness, Fat Skills"
- Massimo Vignelli / Helvetica Forever / Swiss International Typographic Style
- Guizang's offline talk deck series
## Roadmap
- Add more real-world examples and openable HTML deck demos
- Expand cover formats for more publishing platforms
- Add more Swiss layout validation rules
- Improve screenshot redesign and infographic generation workflows
- Prepare marketplace-specific variants such as WorkBuddy
- Add more curated theme packs while keeping custom colors restricted
## FAQ
**Can it export to PPTX?**
The main output is HTML. You can present it in a browser, screenshot it, or record it. PPTX conversion can be done as a separate workflow, but it is not the core path today.
**Why are custom colors not allowed?**
The skill is designed for stable visual output. Arbitrary colors often break the system, so decks must use curated presets.
**Can I add my own layout?**
Yes. Style A layouts can be extended in `references/layouts.md`. Style B is stricter: update `template-swiss.html`, `layouts-swiss.md`, `swiss-layout-lock.md`, and the validator together.
**Is Codex image generation required?**
No. Decks work without generated images. The image flow is only used when you need photos, infographics, UI scenes, or covers.
**How do I update the skill?**
Run the install command again, or run `git pull` inside your local skill directory.
## Contributing
Bugs, layout issues, new layout requests — Issues and PRs welcome. Prioritize:
- Add new classes to `template.html` first; don't let `layouts.md` reference undefined classes
- When changing `template-swiss.html`, update `layouts-swiss.md` and `swiss-layout-lock.md` together
- When adding Swiss rules, update `scripts/validate-swiss-deck.mjs`
- Log pitfalls into `checklist.md` at the matching P0 / P1 / P2 / P3 tier
- New theme colors go into `themes.md` with a recommended use case
## License
AGPL-3.0 © 2026 [op7418](https://github.com/op7418)