Skip to content
Back to skills

Slidev Presentations

ASecurity

Creates Slidev markdown presentations for developers. Activates for: slides with code highlighting, technical talks, conference presentations, workshop materials, live coding decks, or markdown-based slides. Not for PowerPoint/Google Slides or non-presentation documents.

  • 283 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 7, 2026
developmenttypescriptpythongobashreactkubernetestestingapidevopsci/cd

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 9 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add nicepkg/ai-workflow --skill slidev-presentations --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Slidev Presentations?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Slidev Presentations
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nicepkg-slidev-presentations/badge)](https://www.skillsdirectory.com/skills/nicepkg-slidev-presentations)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: slidev-presentations
description: Creates Slidev markdown presentations for developers. Activates for: slides with code highlighting, technical talks, conference presentations, workshop materials, live coding decks, or markdown-based slides. Not for PowerPoint/Google Slides or non-presentation documents.
---

# Slidev Presentations Skill

Generate professional, browser-based presentations using [Slidev](https://sli.dev/) - the presentation framework for developers.

## Official LLM Documentation

For complete API reference or advanced features, fetch the official LLM-optimized documentation:
```
https://sli.dev/llms-full.txt
```

## When to Use This Skill

Activate when the user requests:

- Creating presentation slides
- Technical talks or conference presentations
- Developer-focused slide decks
- Markdown-based presentations with code examples
- Interactive presentations with animations

### Example Trigger Phrases

These prompts should activate this skill:

- "Create a presentation about Kubernetes architecture"
- "Make slides for my talk on TypeScript best practices"
- "Generate a Slidev deck explaining our API design"
- "Build a technical presentation for the team meeting"
- "I need slides for a conference talk on microservices"
- "Create a workshop presentation with code examples"
- "Make a deck covering React hooks for beginners"
- "Generate presentation slides about CI/CD pipelines"

### NOT This Skill

Do NOT activate for:

- PowerPoint or Google Slides requests (different format)
- Simple document or README generation
- Non-presentation Markdown files
- Requests for presentation tips without actual slide creation

## Recommended Workflow

Follow the **plan-first approach** for quality presentations:

```text
1. Gather Context  →  2. Create Plan  →  3. Review Plan  →  4. Generate Slides
```

### Why Plan First?

- Plans capture audience, duration, and core message
- Review checkpoint before investing in slide generation
- Plans become presenter notes and Q&A preparation
- Easier to iterate on structure than on finished slides

### Workflow Options

| Scenario                      | Command                                         | Output        |
| ----------------------------- | ----------------------------------------------- | ------------- |
| New presentation on a topic   | `/slidev:plan [topic]` then `/slidev:from-plan` | Plan + Slides |
| Presentation about a codebase | `/slidev:from-codebase [path]`                  | Plan + Slides |
| Quick slides (skip planning)  | `/slidev:new [topic]`                           | Slides only   |
| Generate from existing plan   | `/slidev:from-plan [plan-file]`                 | Slides only   |

### Plan Document Structure

A presentation plan includes:

- **Metadata**: Duration, audience, format, venue
- **Core Message**: The ONE thing to remember
- **Time Allocation**: Section breakdown with minutes
- **Section Details**: Key points, visuals needed, talking points
- **Diagrams to Create**: Architecture, flow, comparisons
- **Code Examples**: Files, lines, what to highlight
- **Demo Plan**: What to show, commands, backup plan
- **Q&A Preparation**: Anticipated questions and answers
- **Presenter Checklist**: Before/during presentation tasks

### Questions to Gather

When creating a plan, gather:

1. **Duration**: Lightning (5-10 min) to deep dive (45-60 min)
2. **Audience**: Peers, leadership, external, onboarding
3. **Format**: Lecture, demo-heavy, workshop, Q&A-heavy
4. **Venue**: Team meeting, conference, client presentation
5. **Focus Areas**: Architecture, features, API, testing, DevOps
6. **Technical Depth**: High-level, moderate, deep dive
7. **Core Message**: What's the ONE thing to remember?
8. **Call to Action**: What should audience DO after?

## Example Outputs

See the `assets/` directory for complete example presentations:

- `example-technical-talk.md` - Conference-style deep dive (Kubernetes)
- `example-tutorial.md` - Workshop format with exercises (TypeScript)
- `example-team-update.md` - Internal team presentation (Q4 update)

## Reference Documentation

See the `references/` directory for detailed documentation:

- [slidev-quick-reference.md](references/slidev-quick-reference.md) - Complete syntax cheatsheet
- [layouts-guide.md](references/layouts-guide.md) - All layouts with usage guidance
- [themes.md](references/themes.md) - Theme options and customization
- [advanced-features.md](references/advanced-features.md) - Monaco editor, animations, addons, icons
- [multi-file-organization.md](references/multi-file-organization.md) - Splitting presentations across files

## Quick Setup

If the user doesn't have Slidev installed, provide these commands:

```bash
# Create new presentation (recommended)
npm init slidev@latest

# Or with pnpm
pnpm create slidev

# Or add to existing project
npm install @slidev/cli @slidev/theme-default
```

## Linting Configuration (Required)

Slidev's multi-frontmatter syntax conflicts with standard markdown linters. **Always ensure a `.markdownlint.json` exists** in the presentation directory before generating slides.

### Why This Matters

Slidev uses `---` separators with per-slide frontmatter:

```markdown
---
layout: section
---
```

Standard markdownlint interprets `layout: section` + `---` as a setext-style heading and "fixes" it to `## layout: section`, corrupting the presentation.

### Required Configuration

Create `.markdownlint.json` in the presentation directory:

```json
{
  "MD003": false,
  "MD024": false,
  "MD025": false,
  "MD026": false,
  "MD033": false,
  "MD041": false
}
```

| Rule  | Why Disabled                                             |
| ----- | -------------------------------------------------------- |
| MD003 | Prevents setext→ATX conversion that corrupts frontmatter |
| MD024 | Slides often have repeated headings across slides        |
| MD025 | Each slide can have its own H1                           |
| MD026 | Slide titles may end with punctuation                    |
| MD033 | Slidev uses inline HTML for layouts and animations       |
| MD041 | First line is YAML frontmatter, not a heading            |

### Automatic Setup

All `/slidev:*` commands should check for and create this config file before writing `slides.md`. If modifying an existing presentation, verify the config exists first.

Run the presentation:

```bash
# Development mode with hot reload
npx slidev

# Build for production
npx slidev build

# Export to PDF (requires playwright-chromium)
npx slidev export

# Export to PPTX
npx slidev export --format pptx
```

## Output Format

Generate a complete `slides.md` file that can be run directly with Slidev.

## Core Syntax (Quick Reference)

For full syntax details, see `references/slidev-quick-reference.md`.

### Basic Structure

```markdown
---
theme: default
title: My Presentation
transition: slide-left
mdc: true
---

# First Slide

Content here

---

# Second Slide

More content
```

### Key Layouts

| Layout            | Use Case                  |
| ----------------- | ------------------------- |
| `cover`           | Title slide               |
| `center`          | Centered content          |
| `section`         | Section divider           |
| `two-cols`        | Side-by-side content      |
| `two-cols-header` | Header + two columns      |
| `image-right`     | Image right, content left |
| `fact`            | Highlight a statistic     |

### Two-Column Layout

```markdown
---
layout: two-cols-header
---

# Header

::left::

Left content

::right::

Right content
```

### Code with Line Highlighting

````markdown
```typescript {2,3}
function add(a: number, b: number) {
  const sum = a + b  // highlighted
  return sum         // highlighted
}
```
````

### Click-to-Reveal Code

````markdown
```typescript {1|2|3|all}
const a = 1  // click 1
const b = 2  // click 2
const c = 3  // click 3
```
````

### Animations

```html
<!-- Reveal items one-by-one -->
<v-clicks>

- First item (click 1)
- Second item (click 2)

</v-clicks>

<!-- Single element reveal -->
<div v-click>Appears on click</div>
```

### Presenter Notes

```markdown
# Slide Title

Content

<!--
Speaker notes here (presenter mode only)
-->
```

### Diagrams (Mermaid)

````markdown
```mermaid
graph TD
  A[Start] --> B{Decision}
  B -->|Yes| C[Action]
  B -->|No| D[End]
```
````

## Advanced Features

For advanced functionality, see [references/advanced-features.md](references/advanced-features.md):

- **Shiki Magic Move** - Animated code transitions
- **Monaco Editor** - Interactive, editable code blocks (`{monaco}`, `{monaco-run}`)
- **v-motion** - Movement animations
- **v-mark** - Hand-drawn style annotations
- **Addons** - Python execution, QR codes, diagrams
- **Icons** - 100k+ icons via UnoCSS
- **Live Drawing** - Annotation during presentations

## Multi-File Organization

For large presentations (30+ slides), split across multiple files. See [references/multi-file-organization.md](references/multi-file-organization.md).

Quick example:

```markdown
---
src: ./slides/01-intro.md
---

---
src: ./slides/02-content.md
---
```

Benefits: No linting conflicts, easier reorganization, better version control.

Files in this skill

  • SKILL.md9 KB
  • assets/example-team-update.md3.2 KB
  • assets/example-technical-talk.md4.3 KB
  • assets/example-tutorial.md7 KB
  • references/advanced-features.md4.7 KB
  • references/layouts-guide.md5.1 KB
  • references/multi-file-organization.md3.4 KB
  • references/slidev-quick-reference.md14.7 KB
  • references/themes.md2.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.