Skip to main content
skill CX Codex

presentation-design · aaronvanston — Claude Code skill: slide layout rules

Sets visual rules for bold, minimal decks: dark theme, oversized headlines, per-section accent colors. Useful when you need to turn content into a slide structure.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aaronvanston/skills-presentations --skill presentation-design -a claude-code
Open on GitHub

What presentation-design does

The skill pins down a presentation style: black or near-black background, white primary text, gray for supporting copy. Light mode is supported too. Contrast is split into four levels, from headlines down to faint background elements.

Inside are a typography table and a set of ready layouts: full statement, big statement, split, section divider with gradient, code slide, metrics, photo grid. Each slide type maps to one of them. Section accent colors come with hex codes — teal for framing, red for problems, purple for solutions.

The core idea: impact comes from scale, not weight. Use light or regular weights at massive sizes. If your deck isn't dark-themed, expect to rework the color guidance by hand, since the palette assumes a dark background.

What it helps with

  • turn talk notes into a slide layout
  • pick an accent color for a new section
  • choose size and weight for a headline
  • build a metrics or code slide
  • split bullet points into two columns

Example prompts for the agent

  • how should a slide with three metrics look?
  • give me a layout for a section divider slide
  • which color fits the problems section?

How to install presentation-design

1Skills CLI (Vercel)

npx skills add aaronvanston/skills-presentations --skill presentation-design -a claude-code

2Manually: put the files in place

~/.claude/skills/presentation-design/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/presentation-design/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about presentation-design

How do I install presentation-design in Claude?

Run npx skills add aaronvanston/skills-presentations --skill presentation-design -a claude-code. The skill lands in ~/.claude/skills/presentation-design/SKILL.md.

What does presentation-design do?

It gives the agent visual rules for slides: typography, contrast levels, section accent colors and ready layouts for each slide type.

Which platforms does the skill support?

Besides Claude there are install paths for Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode. GitHub Copilot uses a different command: gh skill install aaronvanston/skills-presentations presentation-design.

Source text

SKILL.md · MIT
---
name: presentation-design
description: Visual design guidance for bold, minimal presentations. Provides layout patterns, typography hierarchy, color specifications, and slide composition rules. Use when asking "how should this slide look?", "design guidance for...", "what layout for this slide?", or when translating content into visual structure for a presentation.
---

# Presentation Design

Visual design guidance for bold, minimal presentations optimized for live presenting.

## Core Style

**Theme:** Dark-first, high contrast, minimal (light mode supported)
**Feel:** Modern, confident, tech-forward

| Element | Specification |
|---------|---------------|
| Background | Black (#000000) or near-black; light mode: #fafafa |
| Primary text | White (#FFFFFF); light mode: #09090b |
| Secondary text | Gray (#9CA3AF) |
| Accents | Section-specific colors (see below) |
| Typography | Sans-serif (e.g. Geist Sans), **light weights** at large sizes |
| Letter spacing | Tight (-0.035em to -0.015em) |

## Typography Hierarchy

Impact comes from **scale, not weight**. Use light/regular weights (400-600) at massive sizes.

```
SECTION LABEL     Small caps, section color, tracked wide
                  Example: "THE PROBLEM" | "WHAT WORKS"

Headline          Massive, primary color, light weight (400-500)
                  Fluid sizing via container queries
                  1-5 words per line typical

Subtitle          Smaller, secondary/muted color, regular weight
                  1-2 lines maximum

Body/Bullets      Medium size, primary or secondary color
                  Bold lead-ins (600 weight) when used
```

### Text Contrast Hierarchy

Use 4 levels of contrast to create depth:

| Level | Purpose | Example |
|-------|---------|---------|
| Primary | Headlines, key content | White / #FFFFFF |
| Secondary | Subtitles, supporting text | Light gray |
| Muted | Labels, metadata | Medium gray |
| Faint | Background elements | Dark gray |

## Section Colors

Each major section of a presentation gets its own accent color. This reinforces structure and helps the audience track where they are.

| Color | Hex (dark) | Typical use |
|-------|------------|-------------|
| Teal | #14b8a6 | Opening, framing, recap |
| Red | #f87171 | Problems, challenges, tension |
| Purple | #a78bfa | Solutions, features, tools |
| Amber | #fbbf24 | Data, reality checks, caveats |
| Green | #34d399 | Best practices, what works |
| Blue | #60a5fa | Technical, implementation |
| Pink | #f472b6 | Highlights, special callouts |

Section colors appear in: section labels, gradient backgrounds, progress bars, and accent elements.

## Layout Patterns

### Full Statement (most common)
```
┌─────────────────────────────────────────┐
│ SECTION LABEL                           │
│                                         │
│ Massive                                 │
│ Headline                                │
│ Here                                    │
│                                         │
│ Subtitle text in muted color            │
│                                 [ref] ↗ │
└─────────────────────────────────────────┘
```

### Big Statement (maximum impact)
```
┌─────────────────────────────────────────┐
│ SECTION LABEL                           │
│                                         │
│                                         │
│       Even Bigger                       │
│       Statement                         │
│                                         │
│                                         │
└─────────────────────────────────────────┘
```

### Split Layout
```
┌─────────────────────────────────────────┐
│ SECTION LABEL                           │
│                                         │
│ Headline        │  • Point one          │
│ Here            │  • Point two          │
│                 │  • Point three        │
│ Subtitle        │  • Point four         │
└─────────────────────────────────────────┘
```

### Section Divider (with gradient)
```
┌────────────────────┬────────────────────┐
│                    │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓│
│ Section            │▓▓▓ Gradient ▓▓▓▓▓▓▓│
│ Title              │▓▓▓ Background ▓▓▓▓▓│
│                    │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓│
│ Subtitle           │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓│
└────────────────────┴────────────────────┘
```

### Code Slide
```
┌─────────────────────────────────────────┐
│ SECTION LABEL                           │
│ Headline                                │
│ Subtitle                                │
│                                         │
│ ┌─────────────────────────────────────┐ │
│ │ // syntax-highlighted code block    │ │
│ │ const result = await generate()     │ │
│ │                                     │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────┘
```

### Data/Metrics
```
┌─────────────────────────────────────────┐
│        ┌────────┐ ┌────────┐ ┌────────┐ │
│        │  $10M  │ │  ~10%  │ │  NPS   │ │
│        │  ARR   │ │ GROWTH │ │   90   │ │
│        └────────┘ └────────┘ └────────┘ │
│ SECTION LABEL                           │
│ Headline                                │
│ Subtitle                                │
└─────────────────────────────────────────┘
```

### People/Photos Grid
```
┌─────────────────────────────────────────┐
│ Headline                                │
│ Subtitle                                │
│                                         │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐        │
│ │photo│ │photo│ │photo│ │photo│        │
│ │Name │ │Name │ │Name │ │Name │        │
│ │TITLE│ │TITLE│ │TITLE│ │TITLE│        │
│ └─────┘ └─────┘ └─────┘ └─────┘        │
│                                         │
│ Photo style: Rounded, B&W or consistent │
└─────────────────────────────────────────┘
```

## Slide Type → Layout Mapping

| Slide Type | Layout |
|------------|--------|
| Title | Full statement, centered |
| Section divider | Split with gradient, section color |
| Statement | Full statement, left-aligned |
| Big statement | Big statement, maximum scale |
| Question | Full statement, centered |
| Goals/Agenda | Split layout, bullets right |
| Data | Metrics boxes top |
| Code | Headline + syntax-highlighted block |
| Quote | Centered, large quotation marks |
| People | Photos grid |
| Recap | Split layout, labeled bullets |
| Resources | Grouped reference links by section |
| Next steps | Timeline or labeled bullets |

## Embedded Content

Slides can embed rich media alongside headlines:

- **Code blocks** — syntax-highlighted, dark surface background
- **Terminal output** — monospace with ANSI color support
- **Tweet cards** — styled quote cards with avatar and attribution
- **Video previews** — thumbnail with play button
- **Article previews** — link cards with title and description

## Visual Elements

- **Section labels:** Top-left, uppercase, section color
- **Progress bar:** Bottom edge, section color, thin (3px)
- **References:** Bottom footer with clickable URLs
- **Gradients:** Aurora-style background effects using section color
- **Icons:** Simple line icons, white or accent color, used sparingly

## Things to Avoid

- Dense paragraphs of text
- More than 4-5 bullet points
- Clip art or stock imagery
- Heavy font weights for headlines (use scale instead)
- Multiple competing focal points
- Animation for animation's sake

© aaronvanston · MIT · aaronvanston/skills-presentations

Similar skills

Everything for Design →

presentation-design by other authors comes first.

From the same set2

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor