slidev-quick-start
Get started with Slidev presentations in minutes. Use this skill to create your first presentation or set up a new Slidev project.
What this skill does
# 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)
```bash
npm init slidev@latest
```
This interactive command will:
1. Ask for your project name
2. Create the project directory
3. Install dependencies
4. Start the dev server
### Option 2: Manual Setup
```bash
# 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.md
```
Add scripts to `package.json`:
```json
{
"scripts": {
"dev": "slidev --open",
"build": "slidev build",
"export": "slidev export"
}
}
```
## Your First Presentation
Create `slides.md` with this content:
```markdown
---
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
```bash
# Start development server
npm run dev
# Or directly with npx
npx slidev
```
Your 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:
```markdown
# Slide 1
Content for slide 1
---
# Slide 2
Content for slide 2
---
# Slide 3
Content for slide 3
```
## Frontmatter Configuration
The first slide's frontmatter configures the entire presentation:
```yaml
---
# 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:
```markdown
---
layout: cover
background: https://cover.sli.dev
---
# Cover Slide
---
layout: two-cols
---
# Left Column
Content here
::right::
# Right Column
Content here
---
layout: center
---
# Centered Content
```
## Adding Code Blocks
```markdown
# 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:
```markdown
# My Slide
Important content here
<!--
Speaker notes go here.
- Remember to mention X
- Demo the feature Y
-->
```
## Best Practices
1. **Start Simple**: Begin with basic Markdown, add features gradually
2. **One Idea Per Slide**: Keep slides focused
3. **Use Layouts**: Leverage built-in layouts for consistent design
4. **Version Control**: Commit `slides.md` to Git
5. **Test Export Early**: Verify PDF export works before presenting
## Common Mistakes to Avoid
โ **Missing blank lines around separators**
```markdown
# Slide 1
---
# Slide 2
```
โ **Correct separator syntax**
```markdown
# Slide 1
---
# Slide 2
```
โ **Invalid frontmatter indentation**
```yaml
---
theme:seriph # Missing space after colon
---
```
โ **Correct frontmatter**
```yaml
---
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
```
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.