zarazhangrui/frontend-slidesPublic

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

AI summary: A coding-agent skill that generates beautiful, dependency-free HTML presentations using visual style discovery.

Stars
30.1K
+86 today
Forks
2.4K
Watchers
125
Open issues
24
Open PRs
44
Contributors
~9
Commits
30
Branches
4

JavaScriptMITCreated Jan 28, 2026Last push 3mo agoLatest release v2.1.0+307 stars this week+1.4K this month

Quick answers

What is frontend-slides?
A coding-agent skill that generates beautiful, dependency-free HTML presentations using visual style discovery.
What does frontend-slides do?
Frontend Slides is a specialized skill for AI coding agents that allows non-designers to create production-quality, fixed 16:9 web presentations. Packaged primarily as a Claude Code plugin, it generates self-contained HTML files with inline CSS and JavaScript, requiring no build tools or external dependencies. Instead of relying on textual design descriptions, it uses a visual 'show, don't tell' approach, generating three distinct style previews for the user to choose from. It curates distinctive, anti-slop aesthetics to avoid generic AI looks and includes a feature to convert existing PowerPoint (PPTX) files into responsive web formats while preserving content and images.
Who is frontend-slides for?
Non-designers, founders, and developers who want to leverage their AI coding agents to create high-quality web presentations quickly. It is ideal for users who prefer single-file HTML outputs and visual selection over manual CSS styling.
How do I get started with frontend-slides?
/plugin marketplace add https://github.com/zarazhangrui/frontend-slides
How popular is frontend-slides on GitHub?
zarazhangrui/frontend-slides has 30,099 stars and 2,350 forks on GitHub, and gained 307 stars in the last 7 days.
What license does frontend-slides use?
zarazhangrui/frontend-slides is released under the MIT license.

Star history

since Jul 29, 2026
010K20K30KJul 2026Aug 2026Sep 2026Oct 2026
30.1K stars as of Oct 3, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 1 commit2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 1 commit2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 1 commit2026-02-27: 1 commit2026-02-28: 0 commits2026-03-01: 2 commits2026-03-02: 0 commits2026-03-03: 6 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 1 commit2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 1 commit2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 1 commit2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 3 commits2026-05-26: 7 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 1 commit2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 1 commit2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 1 commit2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 0 commits2026-08-11: 0 commits2026-08-12: 0 commits2026-08-13: 0 commits2026-08-14: 0 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 0 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 0 commits2026-08-27: 0 commits2026-08-28: 0 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 0 commits2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 0 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 0 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 0 commits2026-09-15: 0 commits2026-09-16: 0 commits2026-09-17: 0 commits2026-09-18: 0 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 0 commits2026-09-22: 0 commits2026-09-23: 0 commits2026-09-24: 0 commits2026-09-25: 0 commits2026-09-26: 0 commits2026-09-27: 0 commits2026-09-28: 0 commits2026-09-29: 0 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
28 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    30,099 stars

  • Permissive license

    MIT

  • Repeat trending

    4 trending appearances

What frontend-slides does

Frontend Slides is a specialized skill for AI coding agents that allows non-designers to create production-quality, fixed 16:9 web presentations. Packaged primarily as a Claude Code plugin, it generates self-contained HTML files with inline CSS and JavaScript, requiring no build tools or external dependencies. Instead of relying on textual design descriptions, it uses a visual 'show, don't tell' approach, generating three distinct style previews for the user to choose from. It curates distinctive, anti-slop aesthetics to avoid generic AI looks and includes a feature to convert existing PowerPoint (PPTX) files into responsive web formats while preserving content and images.

Non-designers, founders, and developers who want to leverage their AI coding agents to create high-quality web presentations quickly. It is ideal for users who prefer single-file HTML outputs and visual selection over manual CSS styling.

  • Zero Dependencies: Generates single HTML files containing all necessary inline CSS and JS without requiring npm or build steps.
  • Visual Style Discovery: Produces multiple rendered previews so users can visually select their preferred aesthetic instead of describing it.
  • PowerPoint Conversion: Extracts content and images from existing .pptx files and converts them directly into web-native presentations.
  • Anti-AI-Slop Aesthetics: Enforces curated, high-quality design rules to prevent the generation of generic or cliché AI visual outputs.
  • Progressive Template Packs: Offers bold, design-forward templates that load progressively, ensuring safe fallback styles always function.
  • Broad Agent Compatibility: Works as a native Claude Code plugin, but the core SKILL.md can be utilized by any agent with filesystem access.

Where teams use it

Rapid Pitch Deck Creation

Allows founders and professionals to quickly generate visually distinct, production-ready pitch decks directly from a text brief using a coding agent.

Legacy Presentation Conversion

Enables teams to modernize older PowerPoint files by automatically converting them into accessible, shareable HTML web presentations.

Dependency-Free Sharing

Helps users distribute presentations as single, easily hostable HTML files that render perfectly on any modern browser without requiring specific software.

Design-Agnostic Formatting

Assists users lacking CSS skills in formatting raw content into structured, aesthetically pleasing slides through guided visual selections.

Getting started: /plugin marketplace add https://github.com/zarazhangrui/frontend-slides

README

main branch

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:

Frontend.slides.demo.-.compressed.mp4

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.

Bold Template Gallery

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 — slide 4 Soft Editorial — slide 6 Soft Editorial — slide 10

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

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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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) — 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 — 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 — slide 1 8-Bit Orbit — slide 6 8-Bit Orbit — slide 5

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

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

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

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 — 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 — slide 1 Broadside — slide 4 Broadside — slide 13

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

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

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

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

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

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

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

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 — slide 1 Grove — slide 4 Grove — slide 8

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

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 — slide 1 Playful — slide 6 Playful — slide 8

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

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 — 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 — 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 — slide 1 Scatterbrain — slide 4 Scatterbrain — slide 8

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

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 — slide 1 Studio — slide 4 Studio — slide 8

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

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

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
viewport-base.css Mandatory fixed-stage CSS Phase 3 (generation)
html-template.md HTML structure and JS features Phase 3 (generation)
animation-patterns.md CSS/JS animation reference 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.

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.

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

2 total
  1. ## What's New This release packages the template-library integration, safer slide-generation workflow, and more robust agent/plugin support that landed after `v2.0.0`. ### Bold Template Pack - Adds the `bold-template-pack` from `beautiful-html-templates` with progressive disclosure. - Uses lightweight selection indexes and preview cards first, then loads the selected template's `design.md` only when needed. - Keeps bold templates fixed-stage at 1920x1080 / 16:9, including on phone viewports. - Treats `design.md` as the design recipe and avoids pulling full template HTML into context unless absolutely necessary. ### Better Style Discovery - Generates three real first-slide previews directly instead of asking users how they want to choose a style. - Adds strict preview-authenticity rules: no template slugs, file names, user requirement notes, or workflow metadata on preview slides. - Supports a safer mix of visual directions, including safe presets, bold library styles, and custom wildcard designs when appropriate. ### More Reliable Deck Output - Adds low-density vs high-density intake so decks can be tuned for live speaking or async reading. - Moves inline editing to a post-d

  2. ## What's New This release completely restructures the skill to reduce context bloat by ~89%, following best practices from [Claude Code's skill docs](https://code.claude.com/docs/en/skills) and [OpenAI's harness engineering](https://openai.com/index/harness-engineering/) approach. ### The Problem The previous version loaded **1,625 lines** of instructions into Claude's context on every invocation — including CSS code blocks, Python scripts, and HTML templates that were only needed during specific phases. This crowded out the actual presentation content and reduced output quality. ### The Fix: Progressive Disclosure `SKILL.md` is now a **183-line map** (was 1,098). Supporting files are loaded on-demand only when Claude reaches the relevant phase: | File | Purpose | Loaded When | |------|---------|-------------| | `SKILL.md` | Core workflow and rules | Always | | `STYLE_PRESETS.md` | 12 curated visual presets | Phase 2 (style selection) | | `viewport-base.css` | Mandatory responsive CSS | Phase 3 (generation) | | `html-template.md` | HTML structure and JS features | Phase 3 (generation) | | `animation-patterns.md` | CSS/JS animation reference | Phase 3 (generation) | | `script

Code frequency

additions and deletions
+49.1K-49.1KWeek of 2026-01-25: +1,469 linesWeek of 2026-01-25: -0 linesWeek of 2026-02-01: +708 linesWeek of 2026-02-01: -374 linesWeek of 2026-02-08: +0 linesWeek of 2026-02-08: -0 linesWeek of 2026-02-15: +0 linesWeek of 2026-02-15: -0 linesWeek of 2026-02-22: +225 linesWeek of 2026-02-22: -11 linesWeek of 2026-03-01: +1,064 linesWeek of 2026-03-01: -1,652 linesWeek of 2026-03-08: +0 linesWeek of 2026-03-08: -0 linesWeek of 2026-03-15: +0 linesWeek of 2026-03-15: -0 linesWeek of 2026-03-22: +803 linesWeek of 2026-03-22: -29 linesWeek of 2026-03-29: +51 linesWeek of 2026-03-29: -1 linesWeek of 2026-04-05: +215 linesWeek of 2026-04-05: -143 linesWeek of 2026-04-12: +0 linesWeek of 2026-04-12: -0 linesWeek of 2026-04-19: +0 linesWeek of 2026-04-19: -0 linesWeek of 2026-04-26: +0 linesWeek of 2026-04-26: -0 linesWeek of 2026-05-03: +0 linesWeek of 2026-05-03: -0 linesWeek of 2026-05-10: +0 linesWeek of 2026-05-10: -0 linesWeek of 2026-05-17: +0 linesWeek of 2026-05-17: -0 linesWeek of 2026-05-24: +49,100 linesWeek of 2026-05-24: -487 linesWeek of 2026-05-31: +0 linesWeek of 2026-05-31: -0 linesWeek of 2026-06-07: +25 linesWeek of 2026-06-07: -25 linesWeek of 2026-06-14: +0 linesWeek of 2026-06-14: -0 linesWeek of 2026-06-21: +10 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +0 linesWeek of 2026-06-28: -0 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +0 linesWeek of 2026-07-12: -0 linesWeek of 2026-07-19: +0 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesWeek of 2026-08-02: +0 linesWeek of 2026-08-02: -0 linesWeek of 2026-08-09: +0 linesWeek of 2026-08-09: -0 linesWeek of 2026-08-16: +0 linesWeek of 2026-08-16: -0 linesWeek of 2026-08-23: +0 linesWeek of 2026-08-23: -0 linesWeek of 2026-08-30: +0 linesWeek of 2026-08-30: -0 linesWeek of 2026-09-06: +0 linesWeek of 2026-09-06: -0 linesWeek of 2026-09-13: +0 linesWeek of 2026-09-13: -0 linesWeek of 2026-09-20: +0 linesWeek of 2026-09-20: -0 linesWeek of 2026-09-27: +0 linesWeek of 2026-09-27: -0 linesJan 25, 2026Sep 27, 2026
+53.7K lines added, -2.7K removed over the last year.

Commits per week

last 52 weeks
100Week of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 1 commitsWeek of 2026-02-01: 1 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 2 commitsWeek of 2026-03-01: 8 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 1 commitsWeek of 2026-03-29: 1 commitsWeek of 2026-04-05: 1 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 10 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 2 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 1 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsWeek of 2026-08-02: 0 commitsWeek of 2026-08-09: 0 commitsWeek of 2026-08-16: 0 commitsWeek of 2026-08-23: 0 commitsWeek of 2026-08-30: 0 commitsWeek of 2026-09-06: 0 commitsWeek of 2026-09-13: 0 commitsWeek of 2026-09-20: 0 commitsWeek of 2026-09-27: 0 commitsOct 4, 2025Sep 27, 2026
28 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 1 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 1 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 0 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 0 commitsSun 18:00 — 0 commitsSun 19:00 — 0 commitsSun 20:00 — 0 commitsSun 21:00 — 0 commitsSun 22:00 — 1 commitsSun 23:00 — 0 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 0 commitsMon 11:00 — 0 commitsMon 12:00 — 0 commitsMon 13:00 — 0 commitsMon 14:00 — 0 commitsMon 15:00 — 1 commitsMon 16:00 — 2 commitsMon 17:00 — 0 commitsMon 18:00 — 0 commitsMon 19:00 — 0 commitsMon 20:00 — 0 commitsMon 21:00 — 0 commitsMon 22:00 — 0 commitsMon 23:00 — 0 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 1 commitsTue 10:00 — 4 commitsTue 11:00 — 2 commitsTue 12:00 — 0 commitsTue 13:00 — 1 commitsTue 14:00 — 1 commitsTue 15:00 — 0 commitsTue 16:00 — 1 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 0 commitsTue 20:00 — 0 commitsTue 21:00 — 0 commitsTue 22:00 — 2 commitsTue 23:00 — 4 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 1 commitsWed 11:00 — 1 commitsWed 12:00 — 0 commitsWed 13:00 — 0 commitsWed 14:00 — 0 commitsWed 15:00 — 0 commitsWed 16:00 — 0 commitsWed 17:00 — 0 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 0 commitsWed 21:00 — 0 commitsWed 22:00 — 0 commitsWed 23:00 — 0 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 0 commitsThu 11:00 — 0 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 1 commitsThu 15:00 — 0 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 0 commitsThu 22:00 — 0 commitsThu 23:00 — 0 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 0 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 0 commitsFri 19:00 — 0 commitsFri 20:00 — 1 commitsFri 21:00 — 0 commitsFri 22:00 — 0 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 1 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 0 commitsSat 16:00 — 1 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits10 (33%)
Community commits20 (67%)

30 commits in total over the last year.

DateListRankStars gained
Feb 27, 2026daily#11+223
Feb 26, 2026daily#8+348
Feb 25, 2026daily#4+415
Feb 24, 2026daily#9+238
  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    272.8K stars · JavaScript

  • NousResearch/hermes-agent

    The agent that grows with you

    251.2K stars · Python

  • react/react

    The library for web and native user interfaces.

    250.9K stars · JavaScript

  • Significant-Gravitas/AutoGPT

    AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.

    187.7K stars · Python

  • f/prompts.chat

    f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

    172K stars · HTML

  • DietrichGebert/ponytail

    Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

    154.6K stars · JavaScript