Skip to content

Slideshow Creator

Quick facts

Classification: Utility | Version: 1.0.0 | Category: communication | License: Apache-2.0

Try it: /slideshow-creator "Your context here"

Generate professional presentations (.pptx and .pdf) from a JSON deck specification. Zero design decisions at generation time . Claude selects slide types and fills content slots; all visual properties are pre-decided by the theme.

When to Use

  • Creating slide decks for stakeholder updates, product reviews, team presentations
  • Generating professional .pptx files from content briefs
  • Producing consistent presentations without manual formatting
  • Exporting presentations to PDF for sharing or archiving

When NOT to Use

  • Creating complex data visualizations (use dedicated charting tools)
  • Building interactive web presentations (this produces .pptx, not HTML)
  • Editing existing PowerPoint files (this creates new decks from scratch)

How to Use

Use the /slideshow-creator slash command:

/slideshow-creator "Your context here"

Or reference the skill file directly: skills/utility-slideshow-creator/SKILL.md

Instructions

  1. Read the content brief . Understand topic, audience, length, specific requirements
  2. Plan the deck . Select slide types using the decision logic table. Assign dark/light variants for visual rhythm (alternate to avoid monotony).
  3. Write the JSON deck specification . Fill content slots, respecting character limits from references/slide-types.md
  4. Run the generation script . node scripts/generate-deck.js deck-spec.json
  5. Optionally export PDF . node scripts/export-pdf.mjs deck-spec.json output.pdf
  6. Report the output . Tell the user where the file(s) are

Output Template

JSON Deck Specification Template

Deck Metadata

{
"title": "",
"author": "",
"footerText": "",
"outputFileName": "",
"slides": []
}

Field Reference

FieldTypeRequiredNotes
titlestringyesPresentation title, used as .pptx metadata
authorstringnoAuthor name for .pptx metadata
footerTextstringnoDefault footer text for all slides
outputFileNamestringnoOutput filename. Default: title slugified + .pptx
slidesarrayyesArray of slide objects

Slide Object Structure

Every slide object has type (required) plus content slots defined in slide-types.md.

Common Optional Fields

FieldTypeNotes
variantstring”dark” or “light” — see defaults per type in slide-types.md
notesstringSpeaker notes for presenter view (no character limit)
footerstringOverride deck-level footerText for this slide
slideNumstringOverride auto-incremented slide number

Color Values

Color fields (accentColor, leftColor, rightColor, card/item color) accept:

  • Theme token names: "accent", "secondary", "tertiary", "warm", "primary", "primaryDark", "muted"
  • 6-character hex strings: "2563EB", "0891B2" (no # prefix)

Slide Type Quick Reference

Type KeyRequired SlotsOptional Slots
title_darktitlesubtitle
title_lighttitlesubtitle
sectiontitlevariant
contenttitle, bodyvariant
bulletstitle, bullets[]variant
two_coltitle, leftTitle, leftItems[], rightTitle, rightItems[]variant
statstat, labelaccentColor, variant
dual_statleftStat, leftLabel, rightStat, rightLabeltitle, leftColor, rightColor, variant
quotequoteattribution, variant
three_cardcards[3]title, variant
four_gridcards[4]title, variant
timelinetitle, milestones[]variant
process_flowtitle, steps[]variant
agendaitems[]title, intro, variant
highlighttitle, highlightcontext, accentColor, variant
tabletitle, headers[], rows[][]variant
icon_rowstitle, items[]variant
closing(none)tagline, url

See slide-types.md for character limits and detailed slot definitions.

Example Output

Example: Q3 Product Update Deck

Example: Q3 Product Update Deck

This example walks through creating a 9-slide product update deck for an engineering all-hands meeting, demonstrating the spec-writing workflow from content brief to JSON output.

Content Brief

The product team needs a deck for the Q3 engineering all-hands covering:

  • Customer satisfaction hit a record high (94%)
  • Three major features shipped (real-time analytics dashboard, API rate limiting, bulk data import)
  • Revenue grew 18% quarter-over-quarter
  • Roadmap preview for Q4 (3 milestones)
  • Key insight: teams using the analytics dashboard have 2.4x faster incident response times

Deck Planning

Slide Type Selection

#ContentTypeVariantRationale
1Openingtitle_darkdarkBold external opener
2Section: MetricssectiondarkTopic transition
3CSAT recordstatlightSingle metric spotlight
4Revenue comparisondual_statdarkTwo numbers gain from comparison
5Features shippedbulletslight3-6 point list
6Feature detailsthree_carddarkThree parallel concepts
7Key insighthighlightlightExecutive takeaway
8Q4 roadmaptimelinelightChronological milestones
9CloseclosingdarkStandard ending

Variant Check

Dark-light alternation: D, D, L, D, L, D, L, L, D — slight imbalance at slides 7-8 (both light) but acceptable because highlight and timeline are visually distinct types.

JSON Deck Specification

{
"title": "Q3 Product Update",
"author": "Product Team",
"footerText": "Internal -- Engineering All-Hands",
"outputFileName": "q3-product-update.pptx",
"slides": [
{
"type": "title_dark",
"title": "Q3 Product\nUpdate",
"subtitle": "Engineering All-Hands -- October 2026",
"notes": "Welcome everyone. Quick overview of what shipped and what's ahead."
},
{
"type": "section",
"title": "Key\nMetrics",
"variant": "dark",
"notes": "Starting with our headline performance numbers."
},
{
"type": "stat",
"stat": "94%",
"label": "Customer satisfaction -- highest score this year",
"accentColor": "secondary",
"variant": "light",
"notes": "Up from 88% in Q2. Primary driver: faster support response times from the new dashboard."
},
{
"type": "dual_stat",
"title": "Revenue Growth",
"leftStat": "$3.2M",
"leftLabel": "Q2 recurring revenue",
"leftColor": "muted",
"rightStat": "$3.8M",
"rightLabel": "Q3 recurring revenue",
"rightColor": "accent",
"variant": "dark",
"notes": "18% QoQ growth. Bulk import feature drove 40% of new contract value."
},
{
"type": "bullets",
"title": "What Shipped in Q3",
"bullets": [
"Real-time analytics dashboard with customizable widgets",
"API rate limiting with per-client quotas and alerting",
"Bulk data import supporting CSV, JSON, and XML formats",
"SSO integration for enterprise customers"
],
"variant": "light",
"notes": "Four major features. Each had full rollout with zero critical incidents."
},
{
"type": "three_card",
"title": "Feature Highlights",
"cards": [
{
"title": "Analytics Dashboard",
"bullets": ["Real-time metrics", "Custom widgets", "Export to PDF"],
"color": "accent"
},
{
"title": "API Rate Limiting",
"bullets": ["Per-client quotas", "Automatic alerting", "Usage dashboard"],
"color": "secondary"
},
{
"title": "Bulk Import",
"bullets": ["CSV, JSON, XML", "Validation preview", "Async processing"],
"color": "tertiary"
}
],
"variant": "dark",
"notes": "Deeper dive on the three headline features."
},
{
"type": "highlight",
"title": "Key Insight",
"highlight": "Teams using the analytics dashboard resolve incidents 2.4x faster than teams using manual monitoring.",
"context": "Based on analysis of 180 incidents across 45 teams during August-September. The effect is strongest for teams with 3+ custom dashboard widgets configured.",
"accentColor": "accent",
"variant": "light",
"notes": "This is our strongest product-market signal this quarter."
},
{
"type": "timeline",
"title": "Q4 Roadmap",
"milestones": [
{ "label": "OCT", "description": "Advanced filtering and saved views" },
{ "label": "NOV", "description": "Webhook integrations and event streaming" },
{ "label": "DEC", "description": "SOC 2 Type II certification complete" },
{ "label": "JAN", "description": "Public API v2 general availability" }
],
"variant": "light",
"notes": "Four milestones across the quarter. SOC 2 is the compliance gate for enterprise expansion."
},
{
"type": "closing",
"notes": "Thank you. Questions?"
}
]
}

What This Deck Demonstrates

  • Line break control: Title slide uses \n to split “Q3 Product” and “Update” onto separate lines for deliberate text wrapping
  • Section dividers: The section slide creates a clear visual break before the metrics block, signaling a topic change to the audience
  • Single vs comparative metrics: stat spotlights one number (CSAT score) while dual_stat places two numbers side-by-side for direct comparison (Q2 vs Q3 revenue)
  • Parallel structure: three_card gives equal visual weight to three shipped features, avoiding the implicit ranking that a bullet list creates
  • Highlight restraint: highlight is used exactly once for the strongest finding — overuse dilutes its impact
  • Chronological milestones: timeline presents Q4 roadmap items in calendar order, making sequencing and dependencies visible
  • Speaker notes on every slide: Notes provide presenter context without cluttering the slide surface — especially useful for stakeholder decks that get forwarded without the presenter
  • Dark/light rhythm: Variants alternate to maintain visual energy; the consecutive light slides (7-8) work because highlight and timeline have distinct visual structures
  • Character-limit compliance: All content respects the limits defined in slide-types.md — titles stay concise, bullets stay scannable, and the highlight sentence remains under the maximum length

Quality Checklist

  • Every slide has a valid type key (one of the 18 defined types)
  • All content slots respect character limits from references/slide-types.md
  • Dark/light variants alternate for visual rhythm (no 3+ consecutive same-variant slides)
  • Deck has a title slide (first) and a closing slide (last)
  • Section dividers separate distinct topics in decks > 6 slides
  • Speaker notes included for key slides (stats, highlights, transitions)
  • JSON is valid (no trailing commas, proper quoting, correct nesting)
  • Color values are valid theme tokens or 6-character hex strings (no # prefix)

Output Contract

  • Planning artifact: JSON deck specification (the file Claude writes)
  • Final output: .pptx file (+ optional .pdf), generated locally from the spec
  • Quality gate: All items in the quality checklist pass