Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: presentation description: Creates polished single-file HTML/CSS/JS slide deck presentations with animations, keyboard/click/swipe navigation, and progressive bullet reveal. Use when the user wants to create a presentation, slide deck, pitch deck, or wants to present content as slides. argument-hint: "[topic]"
Presentation Skill
Creates standalone HTML slide deck presentations with CSS animations, keyboard/click/swipe navigation, bullet reveal, mouse parallax, and polished visual design. Single file, no dependencies, works anywhere.
Step 1: Choose a Mode
Ask the user how they want to work:
- Full generation: User provides content/outline upfront → Claude generates the entire presentation in one shot. Best when the user already knows what they want to say.
- Interactive step-by-step: Claude scaffolds the framework first, then builds slides one at a time — user reviews each slide before moving to the next. Best when the user is still figuring out the story or wants tight control.
Step 2: Content & Structure (THE MOST IMPORTANT STEP)
Before writing any code, deeply understand what the presentation is actually saying.
Ask the user to provide source material — any of:
- A document, outline, or notes about the topic
- A rough slide-by-slide outline
- Key talking points, stats, or quotes
- An existing presentation to redesign
- A brain dump of everything they want to cover
Then collaboratively build the slide outline:
- For each slide: choose a type, headline, body content, and special elements
- Suggest a narrative arc: hook → context → key content → details → closing
- Flag where bullet-reveal slides help (dense content needing progressive disclosure)
- Identify which slides need images/assets vs. pure text
- Confirm final slide count and order before proceeding
This step makes or breaks the presentation. Spend the most time here.
Available slide types
| Type | Class | Use Case | |
|---|---|---|---|
| Title | .slide-title | Opening — large heading, subtitle, decorative shapes | |
| Speaker/Bio | .slide-speaker | Introduce presenter — avatar, name, role, glass card | |
| Question | .slide-familiar | Audience engagement — large centered question | |
| Bullet Reveal | .slide-learn | Key points, agendas — progressive reveal with data-bullets | |
| Tool/Badge Grid | .slide-setup | Tools, tech, logos — grid of badge cards | |
| Workflow/Flow | .slide-flow | Processes, steps — connected boxes with arrows | |
| Two-Column | .slide-llm | Text + image — split layout | |
| Team/Grid | .slide-speakers | Meet the team — photo grid with names/roles | |
| Glossary | .slide-gloss | Definitions — large term + definition | |
| Closing/CTA | .slide-closing | Final slide — large text, call to action |
For detailed HTML templates of each type, see slide-types.md.
Step 3: Design Brief
Gather style direction from the user:
- Colors: brand colors, or suggest a palette (5-6 hex values with roles: primary, secondary, accent, background-light, background-dark, text)
- Fonts: heading + body font families (Google Fonts or system fonts)
- Vibe: minimal / editorial / glassmorphism / bold / corporate
- Assets: logos, images, photos to embed
Produce a brief with:
- Color palette with CSS variable names and hex values
- Typography scale (heading-xl, heading-lg, heading-md, subtitle, body-text)
- Font families and weights
- Spacing rhythm (slide padding, element gaps)
- Animation style (subtle vs. dramatic)
- One-sentence visual direction
- Slide-to-theme mapping (which slides get which background color)
For CSS/typography/animation defaults and templates, see framework-reference.md.
Step 4: Generate the Framework
Create a single standalone HTML file with embedded <style> and <script>.
The file structure is:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>[Presentation Title]</title>[Google Fonts link]<style>/* Reset, design tokens, slide system, themes, shapes,animations, typography, UI chrome, slide-specific styles,responsive breakpoint */</style></head><body><div class="presentation"><!-- Slides go here --></div><!-- Progress bar, slide counter, nav hint --><script>/* IIFE-based navigation engine */</script></body></html>
For the complete CSS architecture and JS navigation engine templates, see framework-reference.md.
Step 5: Build Slides
Using the templates from slide-types.md:
- Full generation mode: Create all slides at once based on the outline from Step 2
- Interactive mode: One slide at a time — write the HTML, let the user review, adjust, then move to the next
For every slide:
- Use the appropriate
section.slidewith theme class (.slide--primary,.slide--secondary,.slide--light) - Set
data-theme="dark"ordata-theme="light"for nav UI color adaptation - Add
.animclasses to all content elements for entrance animations - Apply stagger delays (
.anim-d1through.anim-d8) in visual reading order - Add decorative shapes with entrance directions (
.shape-enter-left, etc.) - Include
.slide-footerwith consistent content on every slide - For bullet-reveal slides: set
data-bullets="N"and use<li data-bullet="N">elements
Step 6: Polish & Review
Checklist before delivery:
- [ ] All
.animclasses present on content elements - [ ] Stagger delays follow visual reading order
- [ ] Decorative shapes don't overlap content (use
z-indexlayering) - [ ] Color contrast is correct on all slide themes
- [ ] Bullet reveal count matches
data-bulletsattribute - [ ] Responsive layout works at 768px breakpoint
- [ ] Navigation works: keyboard (arrows, Space, PgUp/Dn, Home, End), click (left 30% = back, right 70% = forward), and touch/swipe (>50px threshold)
- [ ] Progress bar and slide counter update correctly
- [ ] Header/footer chrome consistent across slides
- [ ] All fonts load correctly (Google Fonts or fallbacks)
Step 7: Export
Default: standalone HTML — single file with base64-embedded images and assets. Works anywhere, no server needed.
To embed images as base64:
<img src="data:image/png;base64,[base64-data]" alt="...">
Optionally offer:
- Dev version: external image references for easier editing
- Individual slides: separate HTML files per slide for modular use
Key Patterns
For design patterns, animation tips, and hard-won insights from building presentations with this framework, see learnings.md.
Quick reference
- Easing:
cubic-bezier(0.16, 1, 0.3, 1)(expo-out) for all transitions - Stagger:
.anim-d1(0.1s) through.anim-d8(1.1s) - Shapes: absolute positioned,
mix-blend-mode: overlay, floating keyframe animations - Glass:
backdrop-filter: blur(28px)+ semi-transparent white + subtle border - Typography:
clamp()for fluid sizing across projector/laptop/tablet - Parallax:
--mx/--myCSS variables tracked on mousemove - Transitions: 700ms lockout via
isTransitioningflag