PROCEDURE

Set Up the /presentation Skill

A Claude Code slash command that generates self-contained HTML slide decks. One file, zero dependencies, any browser.

What You're Building

The /presentation skill is a custom slash command for Claude Code. When you type /presentation in a Claude Code session, it generates a complete HTML slide deck from a content brief.

1

Single HTML File

No PowerPoint, no Canva, no external dependencies beyond Google Fonts

12

Slide Components

Title, cards, flow diagrams, comparison tables, stat rows, and more

5

Colour Presets

Or provide your own custom hex codes

The output file includes:

  • ▸ Scroll-snap navigation between slides
  • ▸ Click-to-advance and keyboard arrow controls
  • ▸ Fixed navigation dots
  • ▸ Responsive layout for any screen size
  • ▸ Print-to-PDF support (Ctrl+P, landscape, one slide per page)

Before You Start

✓

Claude Code installed and authenticated

Claude Code is Anthropic's CLI tool. You need it installed and logged in. This is what runs the skill.

✓

A text editor

You'll be creating markdown and HTML files. VS Code, Notepad++, or any text editor works.

Setup Procedure

1

Create the directory structure

Claude Code looks for slash commands in a commands folder inside ~/.claude/. Create two directories:

mkdir -p ~/.claude/commands
mkdir -p ~/.claude/templates

Windows paths: C:\Users\YourName\.claude\commands\ and C:\Users\YourName\.claude\templates\

2

Create the boilerplate template

Create a file called presentation-boilerplate.html in ~/.claude/templates/.

This is the component library — a single HTML file that contains the full <style> block with CSS custom properties, every slide layout pattern, the <nav class="nav-dots"> element, and the <script> block for navigation. Claude reads this file at runtime and uses its patterns to assemble your slides.

Your boilerplate should define these slide components:

Title slide

Headline, subtitle, optional tags

Cards (2, 3, or 4 column)

Big number/icon + heading + body

Two-column split

Side-by-side cards or lists

Comparison table

Before/after with rationale column

Flow diagram (3–5 steps)

Horizontal process with arrows

Loop/cycle diagram

6-step circular process

Outcome list

Numbered items with heading + detail

Stat row

Big numbers with labels

Issue / question list

Numbered badges with descriptions

Gap badges

Metrics with left accent border

Big question

Single provocative italic question

Closing slide

Summary statement or call to action

Tip: Don't know where to start? Open a Claude Code session and ask: "Create me a presentation boilerplate HTML file with scroll-snap navigation, 12 slide component types, CSS custom properties for theming, and print-to-PDF support." Save the output to ~/.claude/templates/presentation-boilerplate.html.

Each slide in the boilerplate uses a data-slide attribute with a sequential index, a .slide-number div with a zero-padded number (01, 02, etc.), and a background class like .slide--primary, .slide--secondary-1, or .slide--grey.

3

Create the skill file

Create ~/.claude/commands/presentation.md. This is the instruction file Claude follows when you invoke the command.

Start the file with a pointer to your boilerplate:

# Presentation Builder

Load the boilerplate template before proceeding:
- `~/.claude/templates/presentation-boilerplate.html`

Then define the workflow. The skill file should instruct Claude to follow these five steps:

Step 1: Parse the brief

Extract from the user's input:

  • ▸ Topic — what is the presentation about?
  • ▸ Audience — who will see it?
  • ▸ Slide count — how many? (default 8–12)
  • ▸ Content outline — any specific points or structure

If the user typed /presentation with no arguments, ask for details interactively — one question, not five.

Step 2: Clarify colours (mandatory)

Present two options:

Option A — Choose a preset palette:

Lone Wolf Unleashed
Corporate Navy
Forest & Gold
Slate & Coral
Deep Purple

Option B — Custom colours: Ask for 5 hex codes:

  1. Primary (dark background) — title slides, key sections
  2. Accent (highlights) — emphasis, bullet markers, active nav dots
  3. Secondary 1 (alternate dark bg) — secondary sections
  4. Secondary 2 (tertiary dark bg) — variant slides
  5. Secondary 3 (supporting colour) — additional backgrounds, flow icons

Claude auto-derives --accent-light, --support-light, --grey-bg (#F2F2F2), and --primary-90 from these.

Step 3: Clarify structure (if needed)

If the brief already implies a clear structure, skip this. Otherwise, recommend slide types from the component library based on the content. Don't list all 12 mechanically — use judgement.

Step 4: Build the HTML

Instruct Claude to:

  • ▸ Copy the full <style> block from the boilerplate, substituting chosen colours into the CSS custom properties
  • ▸ Include the <nav class="nav-dots"> element (always)
  • ▸ Assemble slides using only the component patterns from the boilerplate
  • ▸ Copy the full <script> block exactly — do not modify the JavaScript
  • ▸ Only include slide types actually used — no empty templates
  • ▸ Alternate dark and light backgrounds for visual rhythm

Step 5: Save and confirm

Ask the user where to save. Default to the current directory with a kebab-case filename (e.g., q1-board-update.html). Report: file path, slide count, colour palette used, and a reminder to open in browser.

4

Optional: Add a brand logo

If you want your logo on the title and closing slides, convert it to a base64 data URI and save it as a text file in your templates folder (e.g., ~/.claude/templates/my-logo-b64.txt).

Add a step in your skill file that reads this file and inserts an <img> tag as the first child inside the slide section:

<img src="[DATA_URI]" alt="Your Brand"
     height="80"
     style="width: auto; flex-shrink: 0;
            align-self: flex-start;
            margin-bottom: 20px;">

Why base64? The output is a single self-contained HTML file. No external image references means it works offline, in email attachments, and prints cleanly to PDF.

5

Test it

Open Claude Code and run:

/presentation "Test Deck" 4 slides for myself

Claude should:

  • ▸ Ask you to choose a colour palette
  • ▸ Generate a 4-slide HTML file
  • ▸ Save it and tell you the file path

Open the file in your browser. Check that:

  • ▸ Arrow keys navigate between slides
  • ▸ Navigation dots appear and are clickable
  • ▸ Ctrl+P shows a landscape print preview with one slide per page

Usage Examples

/presentation "Q1 Board Update" 8 slides for executive team

/presentation SIA system design review for the project team

/presentation

(no arguments — Claude asks you for details interactively)

Want More Resources Like This?

Unleash AI members get access to frameworks, templates, live workshops, and hands-on guidance — all included.

Join Unleash AI