skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
thedesignproject/agent-skills146 installs

presentation

Creates polished single-file HTML/CSS/JS slide deck presentations with animations, keyboard/click/swipe navigation, and progressive bullet reveal. Use when the user wants to create a presentation, slide deck, pitch deck, or wants to present content as slides.

How do I install this agent skill?

npx skills add https://github.com/thedesignproject/agent-skills --skill presentation
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill is generally safe but possesses a vulnerability surface related to how it handles user-provided content. It generates HTML presentations by embedding user input directly into the code without explicit sanitization instructions, which could lead to unintended script execution in the generated file.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

Presentation Skill

Creates standalone HTML slide deck presentations with CSS animations, keyboard/click/swipe navigation, bullet reveal, mouse parallax, and polished visual design. Single file, no dependencies, works anywhere.


Step 1: Choose a Mode

Ask the user how they want to work:

  • Full generation: User provides content/outline upfront → Claude generates the entire presentation in one shot. Best when the user already knows what they want to say.
  • Interactive step-by-step: Claude scaffolds the framework first, then builds slides one at a time — user reviews each slide before moving to the next. Best when the user is still figuring out the story or wants tight control.

Step 2: Content & Structure (THE MOST IMPORTANT STEP)

Before writing any code, deeply understand what the presentation is actually saying.

Ask the user to provide source material — any of:

  • A document, outline, or notes about the topic
  • A rough slide-by-slide outline
  • Key talking points, stats, or quotes
  • An existing presentation to redesign
  • A brain dump of everything they want to cover

Then collaboratively build the slide outline:

  • For each slide: choose a type, headline, body content, and special elements
  • Suggest a narrative arc: hook → context → key content → details → closing
  • Flag where bullet-reveal slides help (dense content needing progressive disclosure)
  • Identify which slides need images/assets vs. pure text
  • Confirm final slide count and order before proceeding

This step makes or breaks the presentation. Spend the most time here.

Available slide types

TypeClassUse Case
Title.slide-titleOpening — large heading, subtitle, decorative shapes
Speaker/Bio.slide-speakerIntroduce presenter — avatar, name, role, glass card
Question.slide-familiarAudience engagement — large centered question
Bullet Reveal.slide-learnKey points, agendas — progressive reveal with data-bullets
Tool/Badge Grid.slide-setupTools, tech, logos — grid of badge cards
Workflow/Flow.slide-flowProcesses, steps — connected boxes with arrows
Two-Column.slide-llmText + image — split layout
Team/Grid.slide-speakersMeet the team — photo grid with names/roles
Glossary.slide-glossDefinitions — large term + definition
Closing/CTA.slide-closingFinal slide — large text, call to action

For detailed HTML templates of each type, see slide-types.md.


Step 3: Design Brief

Gather style direction from the user:

  • Colors: brand colors, or suggest a palette (5-6 hex values with roles: primary, secondary, accent, background-light, background-dark, text)
  • Fonts: heading + body font families (Google Fonts or system fonts)
  • Vibe: minimal / editorial / glassmorphism / bold / corporate
  • Assets: logos, images, photos to embed

Produce a brief with:

  • Color palette with CSS variable names and hex values
  • Typography scale (heading-xl, heading-lg, heading-md, subtitle, body-text)
  • Font families and weights
  • Spacing rhythm (slide padding, element gaps)
  • Animation style (subtle vs. dramatic)
  • One-sentence visual direction
  • Slide-to-theme mapping (which slides get which background color)

For CSS/typography/animation defaults and templates, see framework-reference.md.


Step 4: Generate the Framework

Create a single standalone HTML file with embedded <style> and <script>.

The file structure is:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>[Presentation Title]</title>
  [Google Fonts link]
  <style>
    /* Reset, design tokens, slide system, themes, shapes,
       animations, typography, UI chrome, slide-specific styles,
       responsive breakpoint */
  </style>
</head>
<body>
  <div class="presentation">
    <!-- Slides go here -->
  </div>
  <!-- Progress bar, slide counter, nav hint -->
  <script>
    /* IIFE-based navigation engine */
  </script>
</body>
</html>

For the complete CSS architecture and JS navigation engine templates, see framework-reference.md.


Step 5: Build Slides

Using the templates from slide-types.md:

  • Full generation mode: Create all slides at once based on the outline from Step 2
  • Interactive mode: One slide at a time — write the HTML, let the user review, adjust, then move to the next

For every slide:

  1. Use the appropriate section.slide with theme class (.slide--primary, .slide--secondary, .slide--light)
  2. Set data-theme="dark" or data-theme="light" for nav UI color adaptation
  3. Add .anim classes to all content elements for entrance animations
  4. Apply stagger delays (.anim-d1 through .anim-d8) in visual reading order
  5. Add decorative shapes with entrance directions (.shape-enter-left, etc.)
  6. Include .slide-footer with consistent content on every slide
  7. For bullet-reveal slides: set data-bullets="N" and use <li data-bullet="N"> elements

Step 6: Polish & Review

Checklist before delivery:

  • All .anim classes present on content elements
  • Stagger delays follow visual reading order
  • Decorative shapes don't overlap content (use z-index layering)
  • Color contrast is correct on all slide themes
  • Bullet reveal count matches data-bullets attribute
  • Responsive layout works at 768px breakpoint
  • Navigation works: keyboard (arrows, Space, PgUp/Dn, Home, End), click (left 30% = back, right 70% = forward), and touch/swipe (>50px threshold)
  • Progress bar and slide counter update correctly
  • Header/footer chrome consistent across slides
  • All fonts load correctly (Google Fonts or fallbacks)

Step 7: Export

Default: standalone HTML — single file with base64-embedded images and assets. Works anywhere, no server needed.

To embed images as base64:

<img src="data:image/png;base64,[base64-data]" alt="...">

Optionally offer:

  • Dev version: external image references for easier editing
  • Individual slides: separate HTML files per slide for modular use

Key Patterns

For design patterns, animation tips, and hard-won insights from building presentations with this framework, see learnings.md.

Quick reference

  • Easing: cubic-bezier(0.16, 1, 0.3, 1) (expo-out) for all transitions
  • Stagger: .anim-d1 (0.1s) through .anim-d8 (1.1s)
  • Shapes: absolute positioned, mix-blend-mode: overlay, floating keyframe animations
  • Glass: backdrop-filter: blur(28px) + semi-transparent white + subtle border
  • Typography: clamp() for fluid sizing across projector/laptop/tablet
  • Parallax: --mx/--my CSS variables tracked on mousemove
  • Transitions: 700ms lockout via isTransitioning flag

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/thedesignproject/agent-skills/presentation">View presentation on skillZs</a>