This skill should be used when the user asks to "create a deck", "make a presentation", "build slides", "pitch deck", "investor deck", "sales presentation", "design a deck", "interactive presentation", "presenter mode", "HTML slides", "video background deck", "deck playground", "visual deck editor", "deck builder UI", "publish deck link", or needs to generate a complete deck with minimal friction. Handles low-question discovery, early Deck Creator UI launch, theme selection, copywriting, parallel slide generation, PDF stitching, optional HTML presenter, and publishing workflows.
From gemskillsnpx claudepluginhub b-open-io/claude-plugins --plugin gemskillsThis skill uses the workspace's default tool permissions.
assets/presenter.htmlplayground/DECK-INDEX.mdplayground/DECK-PLAN.mdplayground/HANDOFF.mdplayground/README.mdplayground/THEME.mdplayground/VARIANTS.jsonplayground/biome.jsonplayground/bun.lockplayground/components.jsonplayground/next.config.tsplayground/package.jsonplayground/postcss.config.mjsplayground/public/file.svgplayground/public/globe.svgplayground/public/icons/deck-sidebar-icon-source.svgplayground/public/next.svgplayground/public/screenshots/deck-studio-ui.pngplayground/public/screenshots/gemskills-deck-clawnet.jpgplayground/public/vercel.svgExecutes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Create professional presentation decks with consistent visual style, compelling copy, AI-generated slide images, and optional interactive HTML presenter with video backgrounds.
For a visual UI to design and generate decks interactively:
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/deck-creator/scripts/playground_server.ts --dir <deck-dir>
The playground provides style browsing, per-slide editing, live preview, and one-click generation. Supports both Gemini PNG and text-layered HTML modes.
IMPORTANT: Invoke this skill via the Skill tool (Skill("deck-creator")). Do not manually execute phases without loading this skill first. Follow the workflow step by step; do not skip phases.
Prefer speed over exhaustive questioning. Ask only what is necessary, infer the rest, and get the user into the UI quickly.
Ask one compact question set first:
pdf, html+pdf, or web/publish)Infer defaults when missing:
10html+pdf for live/web use, otherwise pdfnoneAfter creating THEME.md + DECK-PLAN.md, launch the playground immediately with the target deck dir preloaded:
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/deck-creator/scripts/playground_server.ts --dir <deck-dir>
Then ask exactly one fork-in-the-road question:
Do not auto-generate slides without explicit user confirmation (cost-sensitive), but offer a one-click quick start to generate slide 1 first.
Six phases, executed in order:
Gather only the minimum information needed before opening the UI.
Ask in tiers:
Tier 1 (Always): Audience, Purpose, Content sources/materials, Slide count (recommend 10-16)
Tier 2 (Context): Presentation setting, Brand guidelines, Style references, Existing assets
Tier 3 (If live/conference/webinar): PDF only or HTML presenter too? Video backgrounds? Browse styles visually or auto-suggest?
If example decks or references are provided, analyze visual style, layout patterns, typography, and messaging patterns.
<deck-dir>THEME.md and DECK-PLAN.md with best-guess defaults--dir <deck-dir> so the user lands in the deck immediatelyThis is the normal flow. Do not delay UI launch until every detail is finalized.
Establish a consistent visual system before generating slides.
Option A: Theme Factory (recommended) - Install and invoke theme-factory skill for a cohesive palette.
Option B: Manual - Define Background, Primary, Secondary, Text, and Accent colors from brand guidelines.
Aspect Ratio: 16:9 (--size 2K produces 1376x768)
Art Style: (optional) Any style ID from browsing-styles skill (e.g., pixl, cybr, deco)
Typography: Headlines Bold 48-64px, Body 18-24px, Stats Extra Bold 72-96px
Layout: Card-based with generous whitespace
Apply a consistent art style across all slides using --style <id>. Browse 169 styles with the browsing-styles skill. When a style is specified, add --style <id> to every generation command.
If the user wants an HTML presenter, add a Presenter Settings block to THEME.md:
## Presenter Settings
Format: html+pdf
Video Background: none | url(<url>) | veo-global | veo-per-slide
Transition: 500ms
Auto-Advance: false
Document the complete theme in THEME.md.
Apply copywriting principles: one message per slide, headlines tell the story, show don't tell, problem-solution-proof structure, concrete over abstract, end with action.
Create a DECK-PLAN.md with deck overview and per-slide plan (headline, content points, visual concept, key message). Continue gathering content until 10-16 slides are fully planned. Do not proceed to generation until the content plan is complete.
Consult references/copywriting.md for headline formulas, persuasion patterns, and audience-specific framing. Consult references/slide-types.md for detailed templates per slide type.
Launch all slide generation agents simultaneously. Spawn one gemskills:content-specialist agent per slide via the Task tool. Include theme spec, slide prompt, output path, and the generate-image command:
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "prompt" --aspect 16:9 --size 2K [--style <id>] --output <path>
Limit to 12 parallel generations. For 14+ slides, generate in two batches.
Verify all slides exist, stitch into PDF, verify PDF, create DECK-INDEX.md, provide summary. Consult references/generation.md for detailed prompt templates, PDF stitching methods, and post-generation steps.
Do not read generated slide images back into context. Ask the user to visually inspect.
If the user requested an HTML presenter (or THEME.md specifies Format: html+pdf):
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/deck-creator/scripts/build_presenter.ts --dir <deck-dir> [--open]
For video backgrounds, either pass --video <url> with a user-provided URL, or generate an ambient loop via Veo 3.1 first. Consult references/presenter.md for full CLI options, video modes, keyboard shortcuts, and verification checklist.
If the user asked for web/share/publish, guide them to Deck > Publish & Share... in the playground and complete one publish route (Vercel, Zip, or Cloudflare Tunnel). Treat "publish link delivered" as the finish line for web mode.
project/deck/
├── THEME.md # Visual style definition
├── DECK-PLAN.md # Content planning document
├── DECK-INDEX.md # Final deck inventory
├── deck.pdf # Stitched presentation PDF
├── presenter.html # Interactive HTML presenter (optional)
├── ambient.mp4 # AI-generated video background (optional)
├── PRESENTER-CONFIG.json # Per-slide video config (optional)
└── slides/
├── 01-title.png
└── ...
references/slide-types.md - Expanded templates for each slide typereferences/copywriting.md - Marketing copy principles and headline formulasreferences/generation.md - Prompt templates, parallel generation, PDF stitchingreferences/presenter.md - HTML presenter build, video modes, keyboard shortcutsassets/videos/ - Bundled ambient video backgrounds (seeded to ~/.gemskills on first use)