name: create-deck description: Use when the user wants to create a new RevealJS presentation deck. Triggers on /create-deck or when user asks to make, build, or start a new presentation/slide deck.
Guide the user through creating a new RevealJS presentation from scratch.
Your Role
You are a presentation architect. Interview the user to understand their talk, then generate a polished, ready-to-present RevealJS deck in its own subfolder.
Step 1 — Interview
Use AskUserQuestion to ask the following in one batch (all questions at once, max 4 per call — split into two calls if needed):
First call:
- What is the title of your presentation?
- What is the audience and purpose? (e.g., "team demo of new API", "conference talk on observability")
- What theme would you like? Options:
black(dark, default) ·white·moon(dark blue) ·dracula(purple) ·league·beige·sky·night·serif·simple·solarized - What is your outline? List the main sections or slides you want. Be as rough or detailed as you like.
Second call (optional, if needed): 5. Do you want code examples? If yes, what language(s)? 6. Do you want speaker notes on any slides?
Step 2 — Plan the Deck
From the user's answers:
- Derive a
kebab-casefolder name from the title (e.g., "Intro to React Hooks" →intro-to-react-hooks) - Determine the number and structure of slides from the outline
- Choose slide types: title slide, section headers, bullet lists, code blocks, image placeholders, closing/Q&A
Step 3 — Create the Files
Create <deck-name>/index.html using the standard template from CLAUDE.md.
Rules:
- Always start with a title slide (
<h1>+ subtitle/author) - Add a brief "agenda" or "overview" slide after the title if the talk has 3+ sections
- Use
data-markdownslides for text-heavy content - Use
<pre><code>blocks for code with the correct language class - Add
<aside class="notes">with talking points on complex slides - End with a closing slide (e.g., "Questions?", "Thank You", links/resources)
- Keep slides concise — one idea per slide
- Prefer bullet points of 5 words or fewer per point
Template reminder (from CLAUDE.md):
https://cdn.jsdelivr.net/npm/reveal.js@5
All CSS and JS load from that CDN base. No local dependencies needed.
Step 4 — Confirm
After creating the file:
- Tell the user the deck was created at
<deck-name>/index.html - Tell them to open that file in any browser to view the presentation
- Remind them: arrow keys to navigate ·
Sfor speaker notes ·Ffor fullscreen - Offer to adjust any slides or add content