opencode/skills/slidev/SKILL.md
Markdown-based presentation slides powered by Vue and Vite. Use when creating slide decks, technical presentations, conference talks, or any presentation that benefits from code highlighting, diagrams, and web technologies.
npx skillsauth add third774/dotfiles slidevInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Slidev renders Markdown files as interactive slide presentations. Supports Vue components, UnoCSS styling, Shiki code highlighting, Mermaid diagrams, and LaTeX math.
# Create new project
pnpm create slidev
# Or with npm (downloads each time, slower)
npm init slidev@latest
# Dev server
slidev --open
# Export to PDF
slidev export
# Build static SPA
slidev build
Entry file defaults to slides.md. Pass different file: slidev other.md.
Slides separated by --- with blank lines before/after:
---
theme: seriph
title: My Presentation
fonts:
sans: Inter
mono: Fira Code
---
# Slide 1: Title Slide
Content here.
---
# Slide 2
More content.
---
layout: center
class: text-center
---
# Centered Slide
This slide uses the `center` layout.
Configures entire deck:
| Field | Purpose | Example |
|-------|---------|---------|
| theme | Theme package or name | seriph, default, apple-basic |
| title | Presentation title | My Talk |
| fonts | Google Fonts auto-import | { sans: Inter, mono: Fira Code } |
| aspectRatio | Slide ratio | 16/9 (default), 4/3 |
| canvasWidth | Canvas width in px | 980 (default) |
| themeConfig | Theme-specific config | { primary: '#5d8392' } |
| transition | Default slide transition | slide-left, fade |
| mdc | Enable MDC syntax | true |
---
layout: two-cols
class: my-class
background: /image.png
transition: fade
clicks: 5
---
Comments at the END of a slide become presenter notes:
# My Slide
Content visible to audience.
<!--
Speaker notes here.
Only visible in presenter view.
Supports **markdown**.
-->
Shiki syntax highlighting with language tag:
```ts
const greeting = 'Hello, Slidev!'
```
```ts {2,3} // Highlight lines 2-3
```ts {1-3,5} // Highlight 1-3 and 5
```ts {1|3|5-7} // Click-stepped: 1, then 3, then 5-7
```ts {*|1|3}{lines:true} // With line numbers
```ts {lines:true} // Show line numbers
```ts {startLine:5} // Start numbering at 5
```ts {maxHeight:'200px'} // Scrollable with max height
```ts twoslash // TwoSlash integration
For live code editing, see references/monaco.md.
<div class="text-3xl font-bold text-blue-500 p-4">
Styled content
</div>
Enable with mdc: true in headmatter:
# Red Title {.text-red-500}
Paragraph with [styled link]{.text-green-500.underline}.
# My Slide
<style>
h1 { color: red; }
</style>
Create style.css in project root. Auto-imported.
```mermaid
graph LR
A[Start] --> B{Decision}
B -->|Yes| C[Action]
B -->|No| D[End]
```
```plantuml
@startuml
Alice -> Bob: Hello
Bob --> Alice: Hi!
@enduml
```
slidev [entry] # Start dev server (default: slides.md)
slidev --port 8080 # Custom port
slidev --open # Open browser
slidev --remote # Enable remote access
slidev --remote mypassword # Password-protected remote
slidev build # Build to ./dist
slidev build --out public # Custom output dir
slidev build --base /talks/ # Base URL for hosting
slidev export # PDF (default)
slidev export --format png # PNG per slide
slidev export --format pptx # PowerPoint (images)
slidev export --format md # Markdown with PNGs
slidev export --with-clicks # Separate page per click
slidev export --dark # Dark mode
slidev export --range 1,3-5 # Specific slides
slidev export --timeout 60000 # Longer timeout
Requires playwright-chromium: pnpm add -D playwright-chromium
| Topic | File |
|-------|------|
| Built-in layouts | references/layouts.md |
| Built-in components | references/components.md |
| Click animations & transitions | references/animations.md |
| Monaco live editor | references/monaco.md |
| Themes and addons | references/themes-addons.md |
| LaTeX math | references/latex.md |
data-ai
Extract captions and transcripts from YouTube videos for agent context. Tries manual subtitles, then auto-generated, then falls back to audio transcription via Whisper. Use when a user provides a YouTube URL and wants to understand, summarize, reference, or search video content.
tools
Official skill for XcodeBuildMCP. Use when doing iOS/macOS/watchOS/tvOS/visionOS work (build, test, run, debug, log, UI automation).
development
Write behavior-focused tests following Testing Trophy model with real dependencies, avoiding common anti-patterns like testing mocks and polluting production code. Use when writing new tests, reviewing test quality, or improving test coverage.
data-ai
Create professional Mermaid diagrams with proper styling and visual hierarchy. Use when creating flowcharts, sequence diagrams, state machines, class diagrams, or architecture visualizations.