zarazhangrui

    zarazhangrui/frontend-slides

    #341 this week

    Create beautiful slides on the web using a coding agent's frontend skills

    frontend
    ai-slides
    anthropic
    claude
    claude-code
    claude-skill
    JavaScript
    MIT
    26.4K stars
    2.1K forks
    26.4K GitHub watchers
    Updated 7/26/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • Create beautiful, production-quality HTML web presentations from scratch or by converting PowerPoint files using an AI-powered coding agent.
    • Enables non-designers to visually select from curated style previews without needing CSS or JavaScript knowledge, ensuring distinctive, polished slide aesthetics.
    • Use for quickly generating pitch decks or business presentations with customizable, accessible, and well-commented HTML slides.
    • Use for converting existing PowerPoint presentations into interactive, web-based slideshows preserving original images and content.
    • Use for integrating with AI coding assistants like Claude Code to automate slide creation workflows with progressive style discovery and bold template options.

    About frontend-slides

    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.

    📺 Watch the Walkthrough & Tutorial

    New here? This beginner-friendly video walks you through the whole thing, start to finish.

    Watch the Frontend Slides walkthrough and tutorial on YouTube

    ▶️ Watch on YouTube → (beginner-friendly walkthrough and tutorial)

    What This Does

    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

    Key Features

    • Zero Dependencies — Single HTML files with inline CSS/JS. No npm, no build tools, no frameworks.
    • Visual Style Discovery — Can't articulate design preferences? No problem. Pick from generated visual previews.
    • PPT Conversion — Convert existing PowerPoint files to web, preserving all images and content.
    • Anti-AI-Slop — Curated distinctive styles that avoid generic AI aesthetics (bye-bye, purple gradients on white).
    • Bold Template Pack — Optional design-forward templates from beautiful-html-templates, loaded progressively so safe presets still work as the default fallback.
    • Production Quality — Accessible, fixed 16:9, well-commented code you can customize.

    Installation

    Via Claude Code Custom Marketplace Source

    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/zarazhangrui/frontend-slides
    

    After that finishes, run:

    /plugin install frontend-slides@frontend-slides
    

    Use the HTTPS URL. The shorter zarazhangrui/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.

    Claude Code Manual Installation

    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 ~/.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/zarazhangrui/frontend-slides.git ~/.claude/skills/frontend-slides
    

    Then use it by typing /frontend-slides in Claude Code. Standalone skills are not namespaced.

    Other Coding Agents

    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/zarazhangrui/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.md
    • viewport-base.css
    • html-template.md
    • animation-patterns.md
    • bold-template-pack/
    • 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.

    Usage

    Create a New Presentation

    /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:

    1. Ask about your content (slides, messages, images)
    2. Generate 3 visual style previews for you to compare, inferring the vibe from your brief unless you already named one
    3. Let you pick the visual direction
    4. Create the full presentation in your chosen style
    5. Open it in your browser

    Convert a PowerPoint

    /frontend-slides:frontend-slides
    
    > "Convert my presentation.pptx to a web slideshow"
    

    The skill will:

    1. Extract all text, images, and notes from your PPT
    2. Show you the extracted content for confirmation
    3. Let you pick a visual style
    4. Generate an HTML presentation with all your original assets

    Included Styles

    Dark Themes

    • Bold Signal — Confident, high-impact, vibrant card on dark
    • Electric Studio — Clean, professional, split-panel
    • Creative Voltage — Energetic, retro-modern, electric blue + neon
    • Dark Botanical — Elegant, sophisticated, warm accents

    Light Themes

    • Notebook Tabs — Editorial, organized, paper with colorful tabs
    • Pastel Geometry — Friendly, approachable, vertical pills
    • Split Pastel — Playful, modern, two-color vertical split
    • Vintage Editorial — Witty, personality-driven, geometric shapes

    Specialty

    • Neon Cyber — Futuristic, particle backgrounds, neon glow
    • Terminal Green — Developer-focused, hacker aesthetic
    • Swiss Modern — Minimal, Bauhaus-inspired, geometric
    • Paper & Ink — Literary, drop caps, pull quotes

    Bold Template Pack

    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:

    • 1 safe preset from STYLE_PRESETS.md
    • at least 1 bold template option from bold-template-pack/selection-index.json
    • 1 wildcard option, either another bold template or a self-generated custom design

    The 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 CSS 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.

    Soft Editorial

    Soft Editorial — slide 4 Soft Editorial — slide 6 Soft Editorial — slide 10

    Cormorant Garamond serif on warm paper with sage, blush, and lemon accents.

    Editorial Forest

    Editorial Forest — slide 1 Editorial Forest — slide 2 Editorial Forest — slide 5

    Forest green, dusty pink, and warm cream in Source Serif 4 — quiet, intentional quarterly-review aesthetic.

    Pin & Paper

    Pin & Paper — slide 1 Pin & Paper — slide 11 Pin & Paper — slide 3

    Yellow paper with safety-pin illustrations, ink-blue handwritten Caveat, paper-grain texture.

    Sakura Chroma

    Sakura Chroma — slide 1 Sakura Chroma — slide 3 Sakura Chroma — slide 4

    Vintage Japanese cassette-package aesthetic: cream paper, diagonal rainbow ribbons, condensed bold type, JIS-style spec checkboxes.

    Stencil & Tablet

    Stencil & Tablet — slide 1 Stencil & Tablet — slide 3 Stencil & Tablet — slide 8

    Bone paper with stencil-cut headlines and a six-color earth palette: archaeology meets brand.

    Cobalt Grid

    Cobalt Grid — slide 1 Cobalt Grid — slide 3 Cobalt Grid — slide 5

    Electric cobalt italic serifs on a graph-paper canvas, anchored by stair-stepped pixel-glitch decorations and slim hairline rules.

    Vellum

    Vellum — slide 1 Vellum — slide 4 Vellum — slide 8

    Deep navy canvas with warm-yellow italic Cormorant serifs and a single dusty teal accent. A quiet, scholarly aesthetic.

    Emerald Editorial

    Emerald Editorial — slide 1 Emerald Editorial — slide 3 Emerald Editorial — slide 6

    Magazine-cover business deck: emerald + navy + paper with double-rule masthead ornaments and a heavy Bodoni-style display serif.

    Neo-Grid Bold

    Neo-Grid Bold — slide 1 Neo-Grid Bold — slide 3 Neo-Grid Bold — slide 8

    Editorial neo-brutalism with a single neon yellow accent on off-white paper.

    Editorial Tri-Tone

    Editorial Tri-Tone — slide 1 Editorial Tri-Tone — slide 4 Editorial Tri-Tone — slide 3

    Three-color editorial system: dusty pink, mustard cream, and deep burgundy, set in Bricolage + Instrument Serif.

    Creative Mode

    Creative Mode — slide 1 Creative Mode — slide 4 Creative Mode — slide 6

    Cream paper canvas with confident multi-color (green, pink, orange, yellow) accents and Archivo Black display.

    Monochrome

    Monochrome — slide 1 Monochrome — slide 4 Monochrome — slide 12

    Ivory ledger paper with all-black type; Lora serif headlines, Jost body, no color at all.

    People's Platform (Block & Bold)

    People's Platform (Block & Bold) — slide 1 People's Platform (Block & Bold) — slide 4 People's Platform (Block & Bold) — slide 8

    Activist poster energy: blue, orange, red on cream, with Alfa Slab + Caveat Brush.

    Pink Script — After Hours

    Pink Script — After Hours — slide 1 Pink Script — After Hours — slide 4 Pink Script — After Hours — slide 8

    Black canvas, hot pink accent, pearl-cream paper, Instrument Serif headlines: late-night editorial luxury.

    8-Bit Orbit

    8-Bit Orbit — slide 1 8-Bit Orbit — slide 6 8-Bit Orbit — slide 5

    Pixel-art neon arcade aesthetic on a deep navy void.

    BlockFrame

    BlockFrame — slide 1 BlockFrame — slide 4 BlockFrame — slide 8

    Neobrutalist deck with pastel-neon color blocks and chunky black borders.

    Blue Professional

    Blue Professional — slide 1 Blue Professional — slide 6 Blue Professional — slide 8

    Cream paper background with electric cobalt blue accents; clean modern professional.

    Bold Poster

    Bold Poster — slide 1 Bold Poster — slide 4 Bold Poster — slide 8

    Editorial poster aesthetic with massive Shrikhand display and a single fire-engine red accent.

    Broadside

    Broadside — slide 1 Broadside — slide 4 Broadside — slide 13

    Dark editorial canvas with a single fire orange accent and bilingual Latin/Chinese type stack.

    Capsule

    Capsule — slide 1 Capsule — slide 4 Capsule — slide 8

    Modular pill-shaped cards on warm bone with a full pastel-pop palette.

    Cartesian

    Cartesian — slide 1 Cartesian — slide 4 Cartesian — slide 8

    Quiet warm-neutral palette with classical Playfair serifs; tasteful and unhurried.

    Coral

    Coral — slide 1 Coral — slide 4 Coral — slide 8

    Cream and coral on near-black, set in oversized Bebas Neue.

    Daisy Days

    Daisy Days — slide 1 Daisy Days — slide 4 Daisy Days — slide 8

    Cheerful pastel deck with hand-drawn daisies, stars, and rainbows. Friendly, soft, and warm.

    Grove

    Grove — slide 1 Grove — slide 4 Grove — slide 8

    Forest-green canvas with cream type, classical Playfair serifs, and a single rust accent.

    Mat

    Mat — slide 1 Mat — slide 4 Mat — slide 8

    Dark sage canvas with bone paper and burnt-orange accent; mid-century modern with wood undertones.

    Playful

    Playful — slide 1 Playful — slide 6 Playful — slide 8

    Sun-warm peach background with Syne display: a friendly indie launch deck.

    Raw Grid

    Raw Grid — slide 1 Raw Grid — slide 4 Raw Grid — slide 8

    Neo-brutalist deck with thick borders, offset shadows, and a pink/sage/ink palette.

    Retro Windows

    Retro Windows — slide 1 Retro Windows — slide 4 Retro Windows — slide 8

    Windows 95 chrome: gray title bars, MS Sans Serif, pixel typography, full nostalgia.

    Retro Zine

    Retro Zine — slide 1 Retro Zine — slide 4 Retro Zine — slide 8

    Beige paper with green accent and Bebas Neue + Caveat: a riso-printed zine in HTML form.

    Scatterbrain

    Scatterbrain — slide 1 Scatterbrain — slide 4 Scatterbrain — slide 8

    Post-it inspired: pastel sticky notes, Caveat handwriting, Shrikhand and Zilla Slab type stack.

    Signal

    Signal — slide 1 Signal — slide 18 Signal — slide 8

    Deep navy canvas with bone paper and a single muted-gold accent; institutional with quiet weight.

    Studio

    Studio — slide 1 Studio — slide 4 Studio — slide 8

    Black canvas with electric-yellow type; high-voltage design studio aesthetic.

    Biennale Yellow

    Biennale Yellow — slide 1 Biennale Yellow — slide 5 Biennale Yellow — slide 8

    Solar yellow on warm parchment with deep indigo serif and atmospheric sun-glow gradients. Dutch-editorial poster energy.

    Long Table

    Long Table — slide 1 Long Table — slide 3 Long Table — slide 7

    Warm cream and rust-red supper-club aesthetic with bold uppercase grotesk headlines, italic Fraunces, and pill-shaped outlined buttons.

    Architecture

    This skill uses progressive disclosure — the main SKILL.md is a workflow map, with supporting files loaded on-demand only when needed:

    FilePurposeLoaded When
    SKILL.mdCore workflow and rulesAlways (skill invocation)
    STYLE_PRESETS.md12 curated visual presetsPhase 2 (style selection)
    bold-template-pack/selection-index.jsonCompact bold template metadata for candidate selectionPhase 2 (style selection)
    bold-template-pack/templates/*/preview.mdTiny style cards for shortlisted bold previewsPhase 2 after shortlisting
    bold-template-pack/templates/*/design.mdFull design system for the selected bold templatePhase 3 after user selection
    viewport-base.cssMandatory fixed-stage CSSPhase 3 (generation)
    html-template.mdHTML structure and JS featuresPhase 3 (generation)
    animation-patterns.mdCSS/JS animation referencePhase 3 (generation)
    scripts/extract-pptx.pyPPT content extractionPhase 4 (conversion)
    scripts/deploy.shDeploy to VercelPhase 6 (sharing)
    scripts/export-pdf.shExport slides to PDFPhase 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.

    Philosophy

    This skill was born from the belief that:

    1. You don't need to be a designer to make beautiful things. You just need to react to what you see.

    2. Dependencies are debt. A single HTML file will work in 10 years. A React project from 2019? Good luck.

    3. Generic is forgettable. Every presentation should feel custom-crafted, not template-generated.

    4. Comments are kindness. Code should explain itself to future-you (or anyone else who opens it).

    Sharing Your Presentations

    After creating a presentation, the skill offers two ways to share it:

    Deploy to a Live URL

    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.

    Export to PDF

    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).

    Requirements

    • A local coding agent with filesystem access and the ability to run shell commands
    • Claude Code is required only for the custom marketplace-source install and /frontend-slides:frontend-slides command
    • For PPT conversion: Python with python-pptx library
    • For URL deployment: Node.js + Vercel account (free)
    • For PDF export: Node.js (Playwright installs automatically)

    Credits

    Created by @zarazhangrui.

    License

    MIT — Use it, modify it, share it.

    Discover Repositories

    Search across tracked repositories by name or description