A coding-agent skill for creating stunning HTML presentations — from scratch or by converting PowerPoint files. It is packaged as a Claude Code plugin, and the core SKILL.md can also be read by other coding agents with filesystem and shell access.
FAQ
frontend-slides is a Claude Code plugin with 1 hand-picked skill for content work, indexed on Flowy. Install it with the command on its page. It includes frontend-slides. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add dreamid27/frontend-slides> /plugin install frontend-slides@frontend-slides
Repo: dreamid27/frontend-slides
A coding-agent skill for creating stunning HTML presentations — from scratch or by converting PowerPoint files. It is packaged as a Claude Code plugin, and the core SKILL.md can also be read by other coding agents with filesystem and shell access.
🎬 Live demo decks · 📺 Video tutorial · ⚡ Install in 30 seconds
🔀 Fork notice — The original repository lives at zarazhangrui/frontend-slides, and all credit for the original skill goes to @zarazhangrui. This fork extends the skill with 88 layout presets — fixed, proven slide compositions — so that models other than Claude can also generate beautiful presentations.
Here is the uncomfortable truth about AI-generated presentations:
Every model that isn't Claude fails at beautiful slides. Ask GPT, Gemini, or a local model to build a deck and you get the same wreckage every time: text spilling off the stage, headings and body copy fighting for the same space, one slide centered and the next inexplicably left-aligned, a wall of bullets where a composition should be. These models can write the content just fine. They cannot compose it.
And Claude — the one model that gets it right — is too expensive to use for it. A full deck means generating thousands of lines of hand-crafted HTML and CSS, slide after slide, with design reasoning on every one. At premium token prices, making presentations this way regularly is a luxury, not a workflow.
So you're stuck: the models you can afford can't design, and the model that can design you can't afford.
The fix: stop asking models to design. Ask them to fill in a design.
That is what layout-presets/ does. It's a pack of 88 style-agnostic structural blueprints — opening, section, list, stats, quote, comparison, timeline, image, video, and closing slides — where each preset fixes where everything sits and how big it is on the 1920×1080 stage, while the design system (colors, fonts, decoration) stays swappable. The model no longer improvises layout; it slots content into a composition that already works. Cheaper, non-Claude models suddenly produce decks that look deliberate — and Claude burns far fewer tokens getting there.
New here? This beginner-friendly video walks you through the whole thing, start to finish.
▶️ Watch on YouTube → (beginner-friendly walkthrough and tutorial)
Frontend Slides helps non-designers create beautiful web presentations without knowing CSS or JavaScript. It uses a "show, don't tell" approach: instead of asking you to describe your aesthetic preferences in words, it generates visual previews and lets you pick what you like.
Here is a deck about the skill, made through the skill:
https://github.com/user-attachments/assets/ef57333e-f879-432a-afb9-180388982478
beautiful-html-templates, loaded progressively so safe presets still work as the default fallback.Install directly from this public GitHub repo. Run these as two separate Claude Code messages; do not paste both lines into the prompt at once.
/plugin marketplace add https://github.com/dreamid27/frontend-slides
After that finishes, run:
/plugin install frontend-slides@frontend-slides
Use the HTTPS URL. The shorter dreamid27/frontend-slides form may make Claude Code try SSH, which can fail if GitHub is not already in your known_hosts file.
Then use it by typing /frontend-slides:frontend-slides in Claude Code. Claude Code namespaces plugin-installed skills as /plugin-name:skill-name.
Copy the skill files to your Claude Code skills directory:
# Create the skill directory
mkdir -p ~/.claude/skills/frontend-slides/scripts
# Copy the user-facing skill files
cp SKILL.md STYLE_PRESETS.md viewport-base.css html-template.md animation-patterns.md ~/.claude/skills/frontend-slides/
cp -R bold-template-pack layout-presets ~/.claude/skills/frontend-slides/
cp scripts/extract-pptx.py scripts/deploy.sh scripts/export-pdf.sh ~/.claude/skills/frontend-slides/scripts/
Or clone directly:
git clone https://github.com/dreamid27/frontend-slides.git ~/.claude/skills/frontend-slides
Then use it by typing /frontend-slides in Claude Code. Standalone skills are not namespaced.
Agents such as Codex, Kimi Code, OpenCode, Gemini CLI, or other local coding assistants can use the same core skill. The simplest path is to send the agent this GitHub repo link and ask it to use the Frontend Slides skill:
https://github.com/dreamid27/frontend-slides
If the agent can read GitHub repos or browse files, it should start from SKILL.md and load only the referenced support files it needs:
STYLE_PRESETS.mdviewport-base.csshtml-template.mdanimation-patterns.mdbold-template-pack/layout-presets/scripts/Some agents can also install the skill for you if they have filesystem access and a known local skills directory. If not, they can still follow SKILL.md directly for the current session.
The Claude Code plugin gives Claude Code a custom marketplace-source install flow and /frontend-slides:frontend-slides command. Other agents usually do not use that command surface.
/frontend-slides:frontend-slides
> "I want to create a pitch deck for my AI startup"
If installed manually as a standalone Claude Code skill, use /frontend-slides instead.
In non-Claude agents, ask the agent to use the Frontend Slides skill and point it at this repo or SKILL.md.
The skill will:
/frontend-slides:frontend-slides
> "Convert my presentation.pptx to a web slideshow"
The skill will:
The skill also includes 34 optional bold design systems from
beautiful-html-templates, such as Neo-Grid Bold, Editorial Tri-Tone,
Creative Mode, Broadside, Signal, and Vellum.
During style discovery, the preview set is:
STYLE_PRESETS.mdbold-template-pack/selection-index.jsonThe agent reads the compact bold template index first, then loads only the
shortlisted candidates' small preview.md cards for title-slide previews. It
loads the full design.md for exactly one bold template only after the user
picks that template for the final deck. If the user picks a custom wildcard,
the agent expands that preview's own utility classes and layout system into the full deck.
Frontend Slides can now draw from the 34 bold design systems in beautiful-html-templates. Three screenshots per template show how each visual system handles different slide layouts. Click any template name to inspect the source template library.
Cormorant Garamond serif on warm paper with sage, blush, and lemon accents.
Forest green, dusty pink, and warm cream in Source Serif 4 — quiet, intentional quarterly-review aesthetic.
Yellow paper with safety-pin illustrations, ink-blue handwritten Caveat, paper-grain texture.
Vintage Japanese cassette-package aesthetic: cream paper, diagonal rainbow ribbons, condensed bold type, JIS-style spec checkboxes.
Bone paper with stencil-cut headlines and a six-color earth palette: archaeology meets brand.
Electric cobalt italic serifs on a graph-paper canvas, anchored by stair-stepped pixel-glitch decorations and slim hairline rules.
Deep navy canvas with warm-yellow italic Cormorant serifs and a single dusty teal accent. A quiet, scholarly aesthetic.
Magazine-cover business deck: emerald + navy + paper with double-rule masthead ornaments and a heavy Bodoni-style display serif.
Editorial neo-brutalism with a single neon yellow accent on off-white paper.
Three-color editorial system: dusty pink, mustard cream, and deep burgundy, set in Bricolage + Instrument Serif.
Cream paper canvas with confident multi-color (green, pink, orange, yellow) accents and Archivo Black display.
Ivory ledger paper with all-black type; Lora serif headlines, Jost body, no color at all.
Activist poster energy: blue, orange, red on cream, with Alfa Slab + Caveat Brush.
Black canvas, hot pink accent, pearl-cream paper, Instrument Serif headlines: late-night editorial luxury.
Pixel-art neon arcade aesthetic on a deep navy void.
Neobrutalist deck with pastel-neon color blocks and chunky black borders.
Cream paper background with electric cobalt blue accents; clean modern professional.
Editorial poster aesthetic with massive Shrikhand display and a single fire-engine red accent.
Dark editorial canvas with a single fire orange accent and bilingual Latin/Chinese type stack.
Modular pill-shaped cards on warm bone with a full pastel-pop palette.
Quiet warm-neutral palette with classical Playfair serifs; tasteful and unhurried.
Cream and coral on near-black, set in oversized Bebas Neue.
Cheerful pastel deck with hand-drawn daisies, stars, and rainbows. Friendly, soft, and warm.
Forest-green canvas with cream type, classical Playfair serifs, and a single rust accent.
Dark sage canvas with bone paper and burnt-orange accent; mid-century modern with wood undertones.
Sun-warm peach background with Syne display: a friendly indie launch deck.
Neo-brutalist deck with thick borders, offset shadows, and a pink/sage/ink palette.
Windows 95 chrome: gray title bars, MS Sans Serif, pixel typography, full nostalgia.
Beige paper with green accent and Bebas Neue + Caveat: a riso-printed zine in HTML form.
Post-it inspired: pastel sticky notes, Caveat handwriting, Shrikhand and Zilla Slab type stack.
Deep navy canvas with bone paper and a single muted-gold accent; institutional with quiet weight.
Black canvas with electric-yellow type; high-voltage design studio aesthetic.
Solar yellow on warm parchment with deep indigo serif and atmospheric sun-glow gradients. Dutch-editorial poster energy.
Warm cream and rust-red supper-club aesthetic with bold uppercase grotesk headlines, italic Fraunces, and pill-shaped outlined buttons.
This skill uses progressive disclosure — the main SKILL.md is a workflow map, with supporting files loaded on-demand only when needed:
| File | Purpose | Loaded When |
|---|---|---|
SKILL.md | Core workflow and rules | Always (skill invocation) |
STYLE_PRESETS.md | 12 curated visual presets | Phase 2 (style selection) |
bold-template-pack/selection-index.json | Compact bold template metadata for candidate selection | Phase 2 (style selection) |
bold-template-pack/templates/*/preview.md | Tiny style cards for shortlisted bold previews | Phase 2 after shortlisting |
bold-template-pack/templates/*/design.md | Full design system for the selected bold template | Phase 3 after user selection |
layout-presets/**/layout.md | 88 style-agnostic slide composition blueprints | Phase 3 (generation, per slide) |
viewport-base.css | Mandatory stage-mechanics CSS (the only raw-CSS layer) | Phase 3 (generation) |
html-template.md | HTML structure, Tailwind config pattern, JS features | Phase 3 (generation) |
animation-patterns.md | Animation reference (Tailwind + choreography CSS) | Phase 3 (generation) |
scripts/extract-pptx.py | PPT content extraction | Phase 4 (conversion) |
scripts/deploy.sh | Deploy to Vercel | Phase 6 (sharing) |
scripts/export-pdf.sh | Export slides to PDF | Phase 6 (sharing) |
Maintenance-only source metadata and regeneration helpers live outside the user-facing skill package. Normal users do not need them.
This design follows agent-skill best practices: give the agent a map first, then reveal only the specific files needed for the current choice.
This skill was born from the belief that:
You don't need to be a designer to make beautiful things. You just need to react to what you see.
Dependencies are debt. A single HTML file will work in 10 years. A React project from 2019? Good luck.
Generic is forgettable. Every presentation should feel custom-crafted, not template-generated.
Comments are kindness. Code should explain itself to future-you (or anyone else who opens it).
After creating a presentation, the skill offers two ways to share it:
One command deploys your slides to a permanent, shareable URL that works on any device — phones, tablets, laptops:
bash scripts/deploy.sh ./my-deck/
# or
bash scripts/deploy.sh ./presentation.html
Uses Vercel (free tier). The skill walks you through signup and login if it's your first time.
Convert your slides to a PDF for email, Slack, Notion, or printing:
bash scripts/export-pdf.sh ./my-deck/index.html
bash scripts/export-pdf.sh ./presentation.html ./output.pdf
Uses Playwright to screenshot each slide at 1920×1080 and combine into a PDF. Installs automatically if needed. Animations are not preserved (it's a static snapshot).
/frontend-slides:frontend-slides commandpython-pptx libraryIf this skill saved you from a night of fighting with slides, the two best ways to give back take under a minute:
Want to go further? New templates and layout presets are the most welcome contributions — see CONTRIBUTING.md. Adding a template is a markdown-only change; no JavaScript required.
Original skill created by @zarazhangrui — the original repository is zarazhangrui/frontend-slides.
This fork and its layout-presets pack are maintained by @dreamid27.
MIT — Use it, modify it, share it.
.claude-plugin/
marketplace.json
.gitignore
.playwright-mcp/
page-2026-07-09T09-49-41-553Z.yml
animation-patterns.md
atlas.jpeg
bold-template-pack/
deck-stage.js
README.md
selection-index.json
templates/
8-bit-orbit/
design.md
preview.md
biennale-yellow/
design.md
preview.md
block-frame/
design.md
preview.md
blue-professional/
design.md
preview.md
bold-poster/
design.md
preview.md
broadside/
design.md
preview.md
capsule/
design.md
preview.md
cartesian/
design.md
preview.md
cobalt-grid/
design.md
preview.md
coral/
design.md
preview.md
creative-mode/
design.md
preview.md
daisy-days/
design.md
preview.md
editorial-forest/
design.md
preview.md
editorial-tri-tone/
design.md
preview.md
emerald-editorial/
design.md
preview.md
grove/
design.md
preview.md
long-table/
design.md
preview.md
mat/
design.md
preview.md
monochrome/
design.md
preview.md
neo-grid-bold/
design.md
preview.md
peoples-platform/
design.md
preview.md
pin-and-paper/
design.md
preview.md
pink-script/
design.md
preview.md
playful/
design.md
preview.md
raw-grid/
design.md
preview.md
retro-windows/
design.md
preview.md
retro-zine/
design.md
preview.md
sakura-chroma/
design.md
preview.md
scatterbrain/
design.md
preview.md
signal/
design.md
preview.md
soft-editorial/
design.md
preview.md
stencil-tablet/
design.md
preview.md
studio/
design.md
preview.md
vellum/
design.md
preview.md
CONTRIBUTING.md
docs/
demos/
coral.html
retro-windows.html
index.html
social-preview.png
html-template.md
layout-presets/
agenda/
docket/
layout.md
preview.html
case/
turnabout/
layout.md
preview.html
chart/
alloy/
layout.md
preview.html
aperture/
layout.md
preview.html
ascent/
layout.md
preview.html
bridge/
layout.md
preview.html
caliper/
layout.md
preview.html
constellation/
layout.md
preview.html
crossover/
layout.md
preview.html
datum/
layout.md
preview.html
gamut/
layout.md
preview.html
loom/
layout.md
preview.html
quartet/
layout.md
preview.html
skyline/
layout.md
preview.html
tally/
layout.md
preview.html
terrace/
layout.md
preview.html
tideline/
layout.md
preview.html
wings/
layout.md
preview.html
closing/
callback/
layout.md
preview.html
center-seal/
layout.md
preview.html
counterpoise/
layout.md
preview.html
cover-coda/
layout.md
preview.html
credits-roll/
layout.md
preview.html
echo-stack/
layout.md
preview.html
nightfall/
layout.md
preview.html
postscript/
layout.md
preview.html
recap-rail/
layout.md
preview.html
settlement/
layout.md
preview.html
split-curtain/
layout.md
preview.html
terminal-frame/
layout.md
preview.html
whisper/
layout.md
preview.html
comparison/
fulcrum/
layout.md
preview.html
ledger-versus/
layout.md
preview.html
definition/
lexicon/
layout.md
preview.html
gallery/
consortium/
layout.md
preview.html
image/
plate-caption/
layout.md
preview.html
triptych/
layout.md
preview.html
list/
counter-cards/
layout.md
preview.html
hanging-numerals/
layout.md
preview.html
ledger-list/
layout.md
preview.html
manifesto/
layout.md
preview.html
rule-columns/
layout.md
preview.html
spotlight/
layout.md
preview.html
staircase/
layout.md
preview.html
opening/
atlas/
layout.md
preview.html
corner-weight/
layout.md
preview.html
cover-caption/
layout.md
preview.html
dossier/
layout.md
preview.html
half-plate/
layout.md
preview.html
horizon/
layout.md
preview.html
masthead/
layout.md
preview.html
monolith/
layout.md
preview.html
offset-marquee/
layout.md
preview.html
poster-stack/
layout.md
preview.html
prologue/
layout.md
preview.html
spine/
layout.md
preview.html
split-ledger/
layout.md
preview.html
pricing/
tiers/
layout.md
preview.html
process/
circuit/
layout.md
preview.html
prose/
brief/
layout.md
preview.html
qa/
colloquy/
layout.md
preview.html
quote/
ruled-verse/
layout.md
preview.html
testimony/
layout.md
preview.html
README.md
risk/
watchlist/
layout.md
preview.html
roadmap/
horizons/
layout.md
preview.html
section/
bookmark/
layout.md
preview.html
chapter-gate/
layout.md
preview.html
countdown-plate/
layout.md
preview.html
index-ledger/
layout.md
preview.html
inversion/
layout.md
preview.html
threshold/
layout.md
preview.html
waypoint/
layout.md
preview.html
spec/
nameplate/
layout.md
preview.html
stats/
bar-ledger/
layout.md
preview.html
denominator/
layout.md
preview.html
keynote-figure/
layout.md
preview.html
number-story/
layout.md
preview.html
ratio-split/
layout.md
preview.html
stat-strip/
layout.md
preview.html
ticker/
layout.md
preview.html
team/
roster/
layout.md
preview.html
timeline/
annals/
layout.md
preview.html
meridian/
layout.md
preview.html
video/
backdrop/
layout.md
preview.html
filmstrip/
... 434 more© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic