Source: github.com/zarazhangrui/frontend-slides (MIT, 15.5k stars) + RoboNuggets video walkthrough (12:17, Apr 24 2026)
Frontend Slides is an MIT-licensed Claude Code skill by @zarazhangrui that generates zero-dependency, animation-rich HTML presentations from a prompt or by converting a .pptx. Single HTML file per deck (inline CSS/JS), 12 curated visual presets, “show, don’t tell” style discovery, optional Vercel deploy and Playwright-based PDF export. Installs as a Claude Code plugin from its own marketplace. The go-to public skill for Claude-generated decks as of April 2026.
Key Takeaways
- Zero dependencies. Every output is a single self-contained HTML file with all CSS/JS inline. No npm, no build step, no framework lock-in. Will still work in a browser a decade from now.
- “Show, don’t tell” style discovery. Instead of asking you to describe your aesthetic in words, the skill generates three single-slide previews from your mood (Impressed / Excited / Calm / Inspired) and you pick one. Non-designers make useful choices by reaction.
- 12 curated presets grouped Dark / Light / Specialty: Bold Signal, Electric Studio, Creative Voltage, Dark Botanical, Notebook Tabs, Pastel Geometry, Split Pastel, Vintage Editorial, Neon Cyber, Terminal Green, Swiss Modern, Paper & Ink. Each preset ships with font pairs (Fontshare / Google Fonts — never system fonts), color tokens, layout conventions, and signature elements.
- Viewport-fitting is a hard rule. Every
.slidelocks to100vh / 100dvhwithoverflow: hidden; every size usesclamp(min, preferred, max); breakpoints at 700/600/500px viewport heights;prefers-reduced-motionrespected. Content that would overflow must be split into another slide — never scroll within a slide. - Per-slide density caps are published: 1 heading + 4–6 bullets OR 2 paragraphs; feature grids max 6 cards; code slides max 10 lines; quote slides max 3-line quote + attribution.
- PPT conversion path.
scripts/extract-pptx.py(viapython-pptx) pulls text, images, and speaker notes from a.pptx; the skill re-renders them in the chosen HTML preset. Good migration path off PowerPoint for decks you want to host on the web. - Anti-”AI slop” design opinion. Explicit DO-NOT-USE list in the skill: Inter / Roboto / Arial as display, purple gradients on white, generic indigo (#6366f1), glassmorphism without purpose, realistic illustrations. The skill nudges Claude away from the converged defaults.
- Progressive disclosure architecture — the main
SKILL.mdis ~180 lines;STYLE_PRESETS.md,viewport-base.css,html-template.md,animation-patterns.md, andscripts/*.sh|.pyload only when the skill enters the relevant phase. Matches Agent Skills’ official 3-level progressive disclosure model. - Share paths — one-command Vercel deploy (
scripts/deploy.sh) for a shareable live URL, or Playwright-based PDF export (scripts/export-pdf.sh) that screenshots each slide at 1920×1080. Animations are lost in the PDF (static snapshot). - RoboNuggets walkthrough (Jay E) structures the skill as three levels: Level 1 vanilla install, Level 2 custom presets / paid components overlay, Level 3 agentic composition (Skills + Routines delegation for end-to-end deck builds).
Installation
Plugin marketplace path (recommended)
Two CLI commands, in order:
/plugin marketplace add https://github.com/zarazhangrui/frontend-slides.git
/plugin install frontend-slides@frontend-slides
/reload-plugins
Gotcha: the shorthand /plugin marketplace add zarazhangrui/frontend-slides defaults to SSH and fails with a public-key error on machines that don’t have GitHub SSH keys configured. Use the .git HTTPS URL above.
Manual clone path
git clone https://github.com/zarazhangrui/frontend-slides.git ~/.claude/skills/frontend-slidesThen /frontend-slides in Claude Code.
Implementation
- Tool/Service: Frontend Slides (Claude Code skill/plugin)
- Author: @zarazhangrui
- License: MIT
- Stars: 15,519 (2026-04-24)
- Install scope: user-wide via Claude Code plugin marketplace
- Runtime cost: free skill; Claude usage burns against your Claude.ai or API plan per generation. PPT conversion needs
python-pptx. URL deploy needs a free Vercel account. PDF export auto-installs Playwright (~150MB Chromium download on first run). - Integration notes:
- Bundled plugin structure at
plugins/frontend-slides/.claude-plugin/plugin.json(namefrontend-slides, version1.0.0, categoryproductivity). - Marketplace manifest at
.claude-plugin/marketplace.jsonuses the officialanthropic.com/claude-code/marketplace.schema.jsonschema — this is a first-class Claude Code plugin, not an ad-hoc skill drop. - Skill files (SKILL.md, STYLE_PRESETS.md, viewport-base.css, html-template.md, animation-patterns.md) live at both repo root AND
plugins/frontend-slides/skills/frontend-slides/via relative symlinks — the symlinks depend on the marketplace clone location, so don’t move the folder after install. - The skill defines strict workflow phases: Mode detection → Content discovery → Style discovery → Generate → Delivery → Optional share. Modification rules are explicit for Mode C (enhancement of existing decks).
- Bundled plugin structure at
Known gotchas from SKILL.md
- Never negate a CSS function directly.
right: -clamp(...)is silently ignored by browsers. Useright: calc(-1 * clamp(...))instead. The skill calls this out because it’s a common Claude generation error. - Nav-dot containers must clear before rebuilding. Use
replaceChildren()(or similar) rather than appending, or re-opening a saved file duplicates the dots. This also avoids tripping XSS-shaped security hooks that flaginnerHTML =writes. - Inline editing is opt-in only. If the user declines editing in the content-discovery phase, the skill must emit zero edit-mode HTML/CSS/JS — not just hide the UI. Keeps the file smaller and avoids leaving dormant XSS surface on shared decks.
- Filenames with spaces break Vercel deploys subtly. The deploy script handles them but URLs encode
%20. Rename assets to hyphens before deploying if images fail to load. - First PDF export is slow — Playwright downloads Chromium (~150MB) to a temp dir on first run. Subsequent runs are fast within the same session.
Why This Matters for WEO Work
- Instant client decks without Canva/Keynote lock-in. Brief Claude, pick a preset, export PDF or deploy to a URL. Pitch decks, QBR templates, one-pager client summaries now have a code path that doesn’t require a design tool.
- Course artifacts are already using this pattern. The Claude Onboarding course publishes its 9 slide decks via a similar Marp-to-PDF pipeline, hosted on Cloudflare as
/claude-onboarding/decks/*.pdf. Frontend Slides extends that pattern to any deliverable (not just courseware). - Paper & Ink + JetBrains Mono matches this wiki’s design voice (editorial serif + monospace technical accents). The first test deck generated through the skill for this project rendered in that style — see
output/karpathy-wiki-deck.html. - Agentic deck builds — Jay E’s Level-3 framing (Skills + Routines for research → outline → design → export delegation) is directly applicable to WEO’s scheduled client-deliverable automation (weekly QBR drafts, monthly client KPI one-pagers, campaign pitch decks on demand).
Related
- Beautiful HTML Templates (zarazhangrui) — sibling project by the same author; 30-template clone-and-adapt library with AGENTS.md operating manual. Broader / lower-level / agent-agnostic; this skill is the opinionated Claude Code form factor.
- Agent Skills Overview (Anthropic Docs) — the official Skills model this implements
- Skill Design Patterns — the “progressive disclosure” pattern this skill is a textbook example of
- Building Skills for Claude — Anthropic’s official guide; good reading before customizing this skill
- Claude Code Plugins and Marketplaces — the ecosystem this plugin publishes into
- Skills vs MCP vs Plugins — When to Use Which — why this is packaged as a Skill inside a Plugin
- Claude Design (Anthropic Labs) — Anthropic’s official product for the same use case; trades code portability for tighter Anthropic integration
- Tutorial: Design for Presentations and Slide Decks — the Anthropic equivalent workflow
- Paul Couvert’s Claude Design walkthrough
- Marketing Skills Bundle (Corey Haines) — sibling high-quality community skill bundle
- HeyGen Hyperframes — analog skill for HTML-based video composition
- Module 5 — Claude Design (course) — where this skill fits in the onboarding flow
Try It
- Install.
/plugin marketplace add https://github.com/zarazhangrui/frontend-slides.git /plugin install frontend-slides@frontend-slides /reload-plugins - Invoke. Type
/frontend-slidesand describe the deck you want — e.g., “a 7-slide pitch deck for Smile Springs Family Dental’s Invisalign service line.” - Pick a mood from the four options (Impressed / Excited / Calm / Inspired). The skill generates three visual previews.
- Pick a preview (A / B / C). The skill generates the full deck in that aesthetic.
- Customize — the deck’s
:rootCSS variables let you retune colors; font imports swap typography;.revealclass drives animation timing. All inline — no build. - Share. Offer is surfaced after generation: deploy to Vercel for a live URL or export to PDF. Both are single-command.
- For WEO reusability — save decks you’re proud of as templates. Same pattern as Claude Design templates (see Module 5): build once, reuse across clients.
Open Questions
- Roadmap for more presets beyond 12? Jay E’s RoboNuggets paywalled component library (50+) hints that the base 12 is not the ceiling — but Zara hasn’t published a roadmap.
- Skill + Claude Design interop. Can Frontend Slides accept a Claude Design export (HTML/PPTX) as input to re-theme in a different preset? Needs testing.
- Enterprise deploy target beyond Vercel. For WEO’s dental-client decks, Vercel is fine for prospects but sensitive client work might need a private host. Worth confirming the deploy script is trivially portable to Cloudflare Pages or S3.