Get started with Slidev presentations in minutes. Use this skill to create your first presentation or set up a new Slidev project.
Install
npx skillscat add yoanbernabeu/slidev-skills/slidev-quick-start Install via the SkillsCat registry.
This skill provides instructions for creating and setting up new Slidev presentation projects. It helps developers initialize Slidev projects using npm commands, configure package.json scripts, and create basic slide files. Use this when starting a new Slidev presentation from scratch or converting existing content to Slidev format. Requires Node.js 18+ and a package manager.
Slidev Quick Start
This skill helps you get started with Slidev, the presentation framework for developers. You'll learn how to create a new project, understand the basic syntax, and run your first presentation.
When to Use This Skill
- Creating a new Slidev presentation from scratch
- Setting up Slidev for the first time
- Understanding basic Slidev concepts
- Converting an existing presentation to Slidev
- Quickly scaffolding a presentation structure
Prerequisites
- Node.js: Version 18.0 or higher
- Package Manager: npm, pnpm, or yarn
- Text Editor: VS Code recommended (with Slidev extension)
Creating a New Project
Option 1: Using npm init (Recommended)
npm init slidev@latestThis interactive command will:
- Ask for your project name
- Create the project directory
- Install dependencies
- Start the dev server
Option 2: Manual Setup
# Create project directory
mkdir my-presentation
cd my-presentation
# Initialize package.json
npm init -y
# Install Slidev
npm install @slidev/cli @slidev/theme-default
# Create slides file
touch slides.mdAdd scripts to package.json:
{
"scripts": {
"dev": "slidev --open",
"build": "slidev build",
"export": "slidev export"
}
}Your First Presentation
Create slides.md with this content:
---
theme: default
title: My First Presentation
info: |
## My First Slidev Presentation
Created with Slidev
class: text-center
drawings:
persist: false
transition: slide-left
---
# Welcome to Slidev
Presentation slides for developers
<div class="pt-12">
<span @click="$slidev.nav.next" class="px-2 py-1 rounded cursor-pointer" hover="bg-white bg-opacity-10">
Press Space for next page <carbon:arrow-right class="inline"/>
</span>
</div>
---
# What is Slidev?
Slidev is a slides maker and presenter designed for developers
- 📝 **Markdown-based** - focus on content with Markdown
- 🎨 **Themable** - themes can be shared and installed
- 🧑💻 **Developer Friendly** - code highlighting, live coding
- 🤹 **Interactive** - embed Vue components
- 🎥 **Recording** - built-in recording and camera view
- 📤 **Portable** - export to PDF, PPTX, or host online
---
layout: center
---
# Thank You!
[Documentation](https://sli.dev) · [GitHub](https://github.com/slidevjs/slidev)Running Your Presentation
# Start development server
npm run dev
# Or directly with npx
npx slidevYour presentation will be available at http://localhost:3030
Essential Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Space / → |
Next slide/animation |
← |
Previous slide/animation |
↑ / ↓ |
Navigate slides (skip animations) |
o |
Overview mode |
d |
Toggle dark mode |
f |
Fullscreen |
g |
Go to slide |
Esc |
Exit overview/fullscreen |
Slide Separator
Use --- (three dashes) surrounded by blank lines to separate slides:
# Slide 1
Content for slide 1
---
# Slide 2
Content for slide 2
---
# Slide 3
Content for slide 3Frontmatter Configuration
The first slide's frontmatter configures the entire presentation:
---
# Presentation metadata
theme: seriph # Theme name
title: My Presentation # Browser tab title
info: | # Presentation info
## About
Description here
# Appearance
colorSchema: auto # auto, light, or dark
class: text-center # CSS classes for first slide
background: /image.jpg # Background image
# Features
drawings:
persist: false # Save drawings between reloads
transition: slide-left # Default transition
highlighter: shiki # Code highlighter
# Export
exportFilename: slides # Export filename
download: true # Show download button
---Adding Layouts
Specify layouts per slide using frontmatter:
---
layout: cover
background: https://cover.sli.dev
---
# Cover Slide
---
layout: two-cols
---
# Left Column
Content here
::right::
# Right Column
Content here
---
layout: center
---
# Centered ContentAdding Code Blocks
# Code Example
\`\`\`typescript
interface User {
id: number
name: string
email: string
}
function greet(user: User): string {
return `Hello, ${user.name}!`
}
\`\`\`Adding Speaker Notes
Add HTML comments at the end of a slide for speaker notes:
# My Slide
Important content here
<!--
Speaker notes go here.
- Remember to mention X
- Demo the feature Y
-->Best Practices
- Start Simple: Begin with basic Markdown, add features gradually
- One Idea Per Slide: Keep slides focused
- Use Layouts: Leverage built-in layouts for consistent design
- Version Control: Commit
slides.mdto Git - Test Export Early: Verify PDF export works before presenting
Common Mistakes to Avoid
❌ Missing blank lines around separators
# Slide 1
---
# Slide 2✓ Correct separator syntax
# Slide 1
---
# Slide 2❌ Invalid frontmatter indentation
---
theme:seriph # Missing space after colon
---✓ Correct frontmatter
---
theme: seriph
---Output Format
When creating a new Slidev presentation, provide:
PROJECT STRUCTURE:
- slides.md (main presentation file)
- package.json (with dev/build/export scripts)
- Optional: public/ directory for assets
FIRST SLIDE FRONTMATTER:
---
theme: [recommended theme]
title: [presentation title]
---
SUGGESTED SLIDE STRUCTURE:
1. Title/Cover slide
2. Introduction/Agenda
3. Main content slides
4. Summary/Conclusion
5. Thank you/Contact slide
NEXT STEPS:
- Run `npm run dev` to start
- Edit slides.md to add content
- Use `o` key for overview