Skip to content
Presentations
Skill

/revealjs

Create polished, professional reveal.js presentations. Use when the user asks to create slides, a presentation, a deck, or a slideshow. Supports themes, multi-column layouts, code highlighting, animations, speaker notes, and custom styling. Generates HTML + CSS with no build

From plugin
revealjs
3811 skill
Install
$ npx -y skills add ryanbbrown/revealjs-skill --skill revealjs --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/revealjs

Context preview

The summary Claude sees to decide when to auto-load this skill.

Create polished, professional reveal.js presentations. Use when the user asks to create slides, a presentation, a deck, or a slideshow. Supports themes, multi-column layouts, code highlighting, animations, speaker notes, and custom styling. Generates HTML + CSS with no build

SKILL.md

revealjs.SKILL.md
name: revealjs
description: Create polished, professional reveal.js presentations. Use when the user asks to create slides, a presentation, a deck, or a slideshow. Supports themes, multi-column layouts, code highlighting, animations, speaker notes, and custom styling. Generates HTML + CSS with no build step required.

Reveal.js Presentations

Create HTML presentations using reveal.js. No build step required - just open the HTML in a browser.

What You Create

A reveal.js presentation consists of:

1. **HTML file** - Contains slides and loads reveal.js from CDN 2. **CSS file** - Custom styles for layouts, colors, typography, and components

Design Principles

**CRITICAL**: Before creating any presentation, analyze the content and choose appropriate design elements:

1. **Consider the subject matter**: What is this presentation about? What tone, industry, or mood does it suggest? 2. **Check for branding**: If the user mentions a company/organization, consider their brand colors and identity 3. **Match palette to content**: Select colors that reflect the subject 4. **State your approach**: Explain your design choices before writing code

**Requirements**:

  • ✅ State your content-informed design approach BEFORE writing code
  • ✅ Use web-safe fonts (Arial, Helvetica, Georgia, Verdana, etc.) or Google Fonts via `@import` in CSS
  • ✅ Create clear visual hierarchy through size, weight, and color
  • ✅ Ensure readability: strong contrast, appropriately sized text, clean alignment
  • ✅ Be consistent: repeat patterns, spacing, and visual language across slides
  • ✅ **Always use `pt` (points) for font sizes** - slides are fixed-size, so `pt` is predictable and familiar (like PowerPoint/Keynote). Never use `em`, `rem`, or `px` for font sizes.

Color Palette Selection

**Choosing colors creatively**:

  • **Think beyond defaults**: What colors genuinely match this specific topic? Avoid autopilot choices.
  • **Consider multiple angles**: Topic, industry, mood, energy level, target audience, brand identity (if mentioned)
  • **Be adventurous**: Try unexpected combinations - a healthcare presentation doesn't have to be green, finance doesn't have to be navy
  • **Build your palette**: Pick 3-5 colors that work together (dominant colors + supporting tones + accent)
  • **Ensure contrast**: Text must be clearly readable on backgrounds

**Example color palettes** (use these to spark creativity - choose one, adapt it, or create your own):

1. **Classic Blue**: Deep navy (#1C2833), slate gray (#2E4053), silver (#AAB7B8), off-white (#F4F6F6) 2. **Teal & Coral**: Teal (#5EA8A7), deep teal (#277884), coral (#FE4447), white (#FFFFFF) 3. **Bold Red**: Red (#C0392B), bright red (#E74C3C), orange (#F39C12), yellow (#F1C40F), green (#2ECC71) 4. **Warm Blush**: Mauve (#A49393), blush (#EED6D3), rose (#E8B4B8), cream (#FAF7F2) 5. **Burgundy Luxury**: Burgundy (#5D1D2E), crimson (#951233), rust (#C15937), gold (#997929) 6. **Deep Purple & Emerald**: Purple (#B165FB), dark blue (#181B24), emerald (#40695B), white (#FFFFFF) 7. **Cream & Forest Green**: Cream (#FFE1C7), forest green (#40695B), white (#FCFCFC) 8. **Pink & Purple**: Pink (#F8275B), coral (#FF574A), rose (#FF737D), purple (#3D2F68) 9. **Lime & Plum**: Lime (#C5DE82), plum (#7C3A5F), coral (#FD8C6E), blue-gray (#98ACB5) 10. **Black & Gold**: Gold (#BF9A4A), black (#000000), cream (#F4F6F6) 11. **Sage & Terracotta**: Sage (#87A96B), terracotta (#E07A5F), cream (#F4F1DE), charcoal (#2C2C2C) 12. **Charcoal & Red**: Charcoal (#292929), red (#E33737), light gray (#CCCBCB) 13. **Vibrant Orange**: Orange (#F96D00), light gray (#F2F2F2), charcoal (#222831) 14. **Forest Green**: Black (#191A19), green (#4E9F3D), dark green (#1E5128), white (#FFFFFF) 15. **Retro Rainbow**: Purple (#722880), pink (#D72D51), orange (#EB5C18), amber (#F08800), gold (#DEB600) 16. **Vintage Earthy**: Mustard (#E3B448), sage (#CBD18F), forest green (#3A6B35), cream (#F4F1DE) 17. **Coastal Rose**: Old rose (#AD7670), beaver (#B49886), eggshell (#F3ECDC), ash gray (#BFD5BE) 18. **Orange & Turquoise**: Light orange (#FC993E), grayish turquoise (#667C6F), white (#FCFCFC)

Slide Content Principles

**Diverse presentation is key.** Even when slides have similar content types, vary the visual presentation:

  • Use **different layouts** across slides: columns on one, stacked containers on another, styled cards on a third
  • Mix container styles: plain text, custom styled containers, blockquotes
  • Use **visual hierarchy**: `<strong>` for key terms, different colors to distinguish categories
  • Break up lists with other elements (quotes, styled containers, columns)
  • Don't repeat the same layout pattern on consecutive slides

**Keep it scannable:**

  • Short bullet points, not paragraphs
  • One main idea per slide when possible
  • Use icons (Font Awesome) to add visual interest

**When a slide has less content, make it bigger** - don't leave empty space with tiny text.

Workflow

Step 1: Plan the Structure

Based on the user's content, determine:

  • How many slides are needed
  • Which slides should be section dividers (centered, larger text)
  • Where to use vertical slide stacks for drill-down content

Step 2: Generate the Scaffold

Use the `create-presentation.js` script (located in the `scripts/` directory next to this SKILL.md file) to generate the HTML scaffold.

node <path-to-skill>/scripts/create-presentation.js --structure 1,1,d,3,1,d,1 --title "My Presentation" --output presentation.html

**Finding the script path:** The script is at `scripts/create-presentation.js` relative to where this SKILL.md file is located. Common locations:

  • Project skill: `.claude/skills/revealjs/scripts/create-presentation.js`
  • User skill: `~/.claude/skills/revealjs/scripts/create-presentation.js`

**Options:**

  • `--slides N` - Create N horizontal slides (simple mode)
  • `--structure <list>` - Mixed layout with comma-separated values:
  • `1` = single horizontal slide
  • `N` (where N > 1) = verti
Read more
Ships withrevealjs

A coding agent skill for creating polished, professional Reveal.js HTML presentations using natural language.

Get the whole plugin
Stats
385
Stars
36
Forks
Maintained
Maintenance
JavaScript
Language
MIT
License
3mo ago
Last commit
8mo ago
Created

Repo: ryanbbrown/revealjs-skill