|
|
4 hete | |
|---|---|---|
| .github | 4 hete | |
| assets | 4 hete | |
| docs | 4 hete | |
| references | 4 hete | |
| scripts | 4 hete | |
| .gitignore | 3 hónapja | |
| CONTRIBUTING.md | 3 hónapja | |
| LICENSE | 3 hónapja | |
| README.en.md | 4 hete | |
| README.md | 4 hete | |
| SKILL.md | 4 hete | |
| SPONSORS.md | 1 hónapja |
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, with a complete rehearsal and presenter mode built in.
It ships with two visual systems:
Distilled by Guizang 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.
Old Theme · Style A Editorial Magazine
New Theme · Style B Swiss International
npx skills add https://github.com/op7418/guizang-ppt-skill --skill guizang-ppt-skill
Or paste this to an AI agent with shell access:
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:
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:
Create a Swiss-style deck from this article, around 7 slides, with 2-3 generated visuals.
Other useful prompts:
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.
Add speaker notes and planned timing to this deck, then help me rehearse it in presenter mode.
Guizang PPT Skill is supported by 360 Security Lobster, Kimi work, and Cola Skill as Gold Sponsors and by ZhenFund Token Grant. See SPONSORS.md for details.
Beyond Claude Code / Codex, you can also use Guizang PPT Skill on these platforms:
| Channel | Link |
|---|---|
| 360 Security Lobster | claw.360.cn |
| Cola Skill | colaskill.com/guizang-ppt-skill |
| Kimi work | kimi.com (after installing, search "guizang ppt skill" in the Skill store) |
B to turn WebGL / canvas animation into static visuals✅ 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)
| 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 |
| Live talk / rehearsal | Ask the agent to generate notes and timing, then press the bottom-right P to enter presenter mode |
| 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 |
npx skills add https://github.com/op7418/guizang-ppt-skill --skill guizang-ppt-skill
Install the
guizang-ppt-skillClaude Code skill for me. Steps:
- Make sure
~/.claude/skills/exists (create if not)- Run
git clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill- Verify:
ls ~/.claude/skills/guizang-ppt-skill/should showSKILL.md,assets/,references/- 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.
git clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill
Once installed, Claude Code auto-detects the skill. Trigger phrases:
The skill is a structured workflow; the agent walks you through each step:
assets/template.html; Style B uses assets/template-swiss.htmlreferences/checklist.md; P0 issues must all pass; run the Swiss and presenter validators when applicableP, verify audience sync, and record actual timingFull spec in SKILL.md.
Both templates ship with the same presenter runtime. Open a deck and press the bottom-right P to enter presenter view; the browser opens a clean audience window at the same time. Core features run entirely inside the local HTML and browser—no live-caption service, cloud relay, phone remote, or AI coaching service is required.
Presenter view example
16:9; small windows scale the whole slide without cropping or reflowing its text16:9 previews, while reminding the speaker to verify HDMI adapters and projectors manuallyCommon shortcuts: ← / → navigate, Home / End jump to first or last, G opens the grid, L laser, C circle, B / W black or white screen, F freezes the audience, and ? opens the full shortcut list.
Ask an agent to prepare presenter mode with:
Use this outline to add a purpose, talking points, transition, and planned duration to every slide. Do not invent interaction or live details that were not provided, then run the presenter-mode validator.
See references/presenter-mode.md for the full notes contract and runtime behavior. Validate with:
node scripts/validate-presenter-mode.mjs path/to/index.html
node scripts/validate-presenter-mode.mjs path/to/index.html --target-minutes 30
The Swiss theme is a strict layout system, not just a CSS skin.
S01 to S22; do not invent new structuresdata-image-slot regions, often generated at 21:9 or 16:10Swiss validation:
node scripts/validate-swiss-deck.mjs path/to/index.html
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:
Generated images must follow four core rules:
references/screenshot-framing.md first and use bundled assets/screenshot-backgrounds/ backgrounds plus programmatic scaling, padding, and alignment instead of redrawing the screenshot by defaultImage prompts live in references/image-prompts.md. Screenshot framing lives in references/screenshot-framing.md.
The skill can also turn an article or deck idea into platform covers:
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.
Copy any of these prompts into your agent, then attach your article, Markdown file, or image assets:
Create an 8-slide Swiss-style deck from this article, with 3 generated visuals matched to the template image slots.
Turn this product analysis document into an editorial magazine-style deck with a strong narrative rhythm.
From this deck's core idea, create two covers: a 21:9 main cover and a visually paired 1:1 share card.
Redesign these product screenshots into consistent 16:10 slide visuals. Preserve key UI information; do not add slide titles or footers inside the images.
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
│ ├── validate-presenter-mode.mjs ← speaker notes, timing, and runtime validator
│ └── check-presenter-runtime-sync.mjs ← cross-template presenter runtime drift check
└── 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
├── presenter-mode.md ← notes contract, rehearsal, audience output, and live tools
└── checklist.md ← quality checklist (P0 / P1 / P2 / P3 tiers)
Pick from references/themes.md. Custom hex values are not allowed — protecting the aesthetic matters more than freedom of choice.
Switching themes only requires replacing the 6 variables at the top of template.html's :root{} block — all other CSS flows through var(--...).
Pick from references/themes-swiss.md. Custom hex values are not allowed here either.
If the user asks for a Swiss-style deck without specifying color, default to International Klein Blue.
B toggles static mode so animation never becomes a reading burdenCan 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.
Does presenter mode require internet access or another service? No. Dual-window sync, notes, timing, rehearsal, auto advance, and annotations run locally in the browser. It does not provide live captions, phone control, or AI rehearsal scoring.
Why does closing the audience window show “Disconnected”? The presenter uses acknowledgements and heartbeats to verify the software link. Closing the window or losing its heartbeat produces “Disconnected”; use “Reopen audience” to recover. The browser cannot verify a physical HDMI or projector cable, so the speaker still needs a visual check.
How do I update the skill?
Run the install command again, or run git pull inside your local skill directory.
Bugs, layout issues, new layout requests — Issues and PRs welcome. Prioritize:
template.html first; don't let layouts.md reference undefined classestemplate-swiss.html, update layouts-swiss.md and swiss-layout-lock.md togetherscripts/validate-swiss-deck.mjsscripts/check-presenter-runtime-sync.mjs; CI rejects CSS / JavaScript driftreferences/presenter-mode.md, references/checklist.md, and scripts/validate-presenter-mode.mjschecklist.md at the matching P0 / P1 / P2 / P3 tierthemes.md with a recommended use caseAGPL-3.0 © 2026 op7418