Slidev
JetBrainsOfficialCreated by Anthony FuDistributed by JetBrains
- Skill
- Tool integration
- Software development
- MIT
- Low risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Slidev is a developer-focused presentation tool that allows users to create slide decks using Markdown, Vue components, and built-in code highlighting. It is designed for technical talks, workshops, and documentation, offering features like live code editing, interactive diagrams, presenter notes, and various export formats including PDF and static web applications.
What it does
- Generates web-based slide decks from Markdown files
- Supports live code execution and editing via Monaco editor
- Provides built-in support for Mermaid, PlantUML, and LaTeX
- Includes presenter mode with notes, timers, and drawing tools
- Allows exporting presentations to PDF, PPTX, or static SPA
- Enables complex animations and transitions using Vue components
When to use it
- Creating technical conference talks or workshops
- Building interactive code walkthroughs
- Developing documentation that requires live demonstrations
- Presenting data-heavy content with diagrams and math equations
Advantages
- Uses familiar Markdown syntax for content creation
- Integrates seamlessly with developer workflows and tools
- Supports advanced code highlighting and interactive snippets
- Highly customizable through Vue components and CSS
- Portable output formats for offline or online distribution
Usage examples
- “Create a new Slidev project”
- The agent initializes a new Slidev project structure in the current directory, ready for development.
- “Export my presentation to PDF”
- The agent runs the export command to generate a PDF file of the slide deck, provided the necessary browser dependencies are installed.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/jetbrains/slidev/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip slidev.zip -d .agents/skills
Documentation by Anthony Fu
Slidev - Presentation Slides for Developers
Web-based slides maker built on Vite, Vue, and Markdown.
When to Use
Technical presentations or slidedecks with live code examples
Syntax-highlighted code snippets with animations
Interactive demos (Monaco editor, runnable code)
Mathematical equations (LaTeX) or diagrams (Mermaid, PlantUML)
Record presentations with presenter notes
Export to PDF, PPTX, or host as SPA
Code walkthroughs for developer talks or workshops
Quick Start
pnpm create slidev # Create project
pnpm run dev # Start dev server (opens http://localhost:3030)
pnpm run build # Build static SPA
pnpm run export # Export to PDF (requires playwright-chromium)Verify: After pnpm run dev, confirm slides load at http://localhost:3030. After pnpm run export, check the output PDF exists in the project root.
Basic Syntax
---
theme: default
title: My Presentation
---
# First Slide
Content here
---
# Second Slide
More content
<!--
Presenter notes go here
-->---separates slidesFirst frontmatter = headmatter (deck config)
HTML comments = presenter notes
Core References
| Topic | Description | Reference |
|---|---|---|
| Markdown Syntax | Slide separators, frontmatter, notes, code blocks | core-syntax |
| Animations | v-click, v-clicks, motion, transitions | core-animations |
| Headmatter | Deck-wide configuration options | core-headmatter |
| Frontmatter | Per-slide configuration options | core-frontmatter |
| CLI Commands | Dev, build, export, theme commands | core-cli |
| Components | Built-in Vue components | core-components |
| Layouts | Built-in slide layouts | core-layouts |
| Exporting | PDF, PPTX, PNG export options | core-exporting |
| Hosting | Build and deploy to various platforms | core-hosting |
| Global Context | $nav, $slidev, composables API | core-global-context |
Feature Reference
Code & Editor
| Feature | Usage | Reference |
|---|---|---|
| Line highlighting | ```ts {2,3} | code-line-highlighting |
| Click-based highlighting | ```ts {1|2-3|all} | code-line-highlighting |
| Line numbers | lineNumbers: true or {lines:true} | code-line-numbers |
| Scrollable code | {maxHeight:'100px'} | code-max-height |
| Code tabs | ::code-group (requires comark: true) | code-groups |
| Monaco editor | ```ts {monaco} | editor-monaco |
| Run code | ```ts {monaco-run} | editor-monaco-run |
| Edit files | <<< ./file.ts {monaco-write} | editor-monaco-write |
| Code animations | ````md magic-move | code-magic-move |
| TypeScript types | ```ts twoslash | code-twoslash |
| Import code | <<< @/snippets/file.js | code-import-snippet |
Diagrams & Math
| Feature | Usage | Reference |
|---|---|---|
| Mermaid diagrams | ```mermaid | diagram-mermaid |
| PlantUML diagrams | ```plantuml | diagram-plantuml |
| LaTeX math | $inline$ or $$block$$ | diagram-latex |
Layout & Styling
| Feature | Usage | Reference |
|---|---|---|
| Canvas size | canvasWidth, aspectRatio | layout-canvas-size |
| Zoom slide | zoom: 0.8 | layout-zoom |
| Scale elements | <Transform :scale="0.5"> | layout-transform |
| Layout slots | ::right::, ::default:: | layout-slots |
| Scoped CSS | <style> in slide | style-scoped |
| Global layers | global-top.vue, global-bottom.vue | layout-global-layers |
| Draggable elements | v-drag, <v-drag> | layout-draggable |
| Icons | <mdi-icon-name /> | style-icons |
Animation & Interaction
| Feature | Usage | Reference |
|---|---|---|
| Click animations | v-click, <v-clicks> | core-animations |
| Rough markers | v-mark.underline, v-mark.circle | animation-rough-marker |
| Drawing mode | Press C or config drawings: | animation-drawing |
| Direction styles | forward:delay-300 | style-direction |
| Note highlighting | [click] in notes | animation-click-marker |
Syntax Extensions
| Feature | Usage | Reference |
|---|---|---|
| Comark syntax | comark: true + {style="color:red"} | syntax-comark |
| Block frontmatter | ```yaml instead of --- | syntax-block-frontmatter |
| Import slides | src: ./other.md | syntax-importing-slides |
| Merge frontmatter | Main entry wins | syntax-frontmatter-merging |
Presenter & Recording
| Feature | Usage | Reference |
|---|---|---|
| Recording | Press G for camera | presenter-recording |
| Timer | duration: 30min, timer: countdown | presenter-timer |
| Remote control | slidev --remote | presenter-remote |
| Ruby text | notesAutoRuby: | presenter-notes-ruby |
Export & Build
| Feature | Usage | Reference |
|---|---|---|
| Export options | slidev export | core-exporting |
| Build & deploy | slidev build | core-hosting |
| Build with PDF | download: true | build-pdf |
| Cache images | Automatic for remote URLs | build-remote-assets |
| OG image | seoMeta.ogImage or og-image.png | build-og-image |
| SEO tags | seoMeta: | build-seo-meta |
Export prerequisite: pnpm add -D playwright-chromium is required for PDF/PPTX/PNG export. If export fails with a browser error, install this dependency first.
Editor & Tools
| Feature | Usage | Reference |
|---|---|---|
| Side editor | Click edit icon | editor-side |
| VS Code extension | Install antfu.slidev | editor-vscode |
| Prettier | prettier-plugin-slidev | editor-prettier |
| Eject theme | slidev theme eject | tool-eject-theme |
Lifecycle & API
| Feature | Usage | Reference |
|---|---|---|
| Slide hooks | onSlideEnter(), onSlideLeave() | api-slide-hooks |
| Navigation API | $nav, useNav() | core-global-context |
Common Layouts
| Layout | Purpose |
|---|---|
cover | Title/cover slide |
center | Centered content |
default | Standard slide |
two-cols | Two columns (use ::right::) |
two-cols-header | Header + two columns |
image / image-left / image-right | Image layouts |
iframe / iframe-left / iframe-right | Embed URLs |
quote | Quotation |
section | Section divider |
fact / statement | Data/statement display |
intro / end | Intro/end slides |
Resources
Documentation: https://sli.dev
Theme Gallery: https://sli.dev/resources/theme-gallery
Showcases: https://sli.dev/resources/showcases
Files
- ATTRIBUTION.mdAdded by AutoGineer870 B
- LICENSE.md1.0 KiB
- README.md1.5 KiB
- SKILL.md8.7 KiB
- SYNC.md140 B
- references/animation-click-marker.md767 B
- references/animation-drawing.md866 B
- references/animation-rough-marker.md877 B
- references/api-slide-hooks.md682 B
- references/build-og-image.md566 B
- references/build-pdf.md635 B
- references/build-remote-assets.md604 B
- references/build-seo-meta.md974 B
- references/code-groups.md909 B
- references/code-import-snippet.md865 B
- references/code-line-highlighting.md839 B
- references/code-line-numbers.md735 B
- references/code-magic-move.md899 B
- references/code-max-height.md657 B
- references/code-twoslash.md714 B
- references/core-animations.md2.6 KiB
- references/core-cli.md2.7 KiB
- references/core-components.md2.7 KiB
- references/core-exporting.md2.0 KiB
- references/core-frontmatter.md2.3 KiB
- references/core-global-context.md2.8 KiB
- references/core-headmatter.md3.1 KiB
- references/core-hosting.md2.1 KiB
- references/core-layouts.md2.7 KiB
- references/core-syntax.md1.8 KiB
- references/diagram-latex.md742 B
- references/diagram-mermaid.md777 B
- references/diagram-plantuml.md653 B
- references/editor-monaco-run.md744 B
- references/editor-monaco-write.md427 B
- references/editor-monaco.md644 B
- references/editor-prettier.md713 B
- references/editor-side.md415 B
- references/editor-vscode.md926 B
- references/layout-canvas-size.md469 B
- references/layout-draggable.md895 B
- references/layout-global-layers.md1.1 KiB
- references/layout-slots.md830 B
- references/layout-transform.md663 B
- references/layout-zoom.md648 B
- references/presenter-notes-ruby.md575 B
- references/presenter-recording.md550 B
- references/presenter-remote.md633 B
- references/presenter-timer.md559 B
- references/style-direction.md705 B
- references/style-icons.md809 B
- references/style-scoped.md631 B
- references/syntax-block-frontmatter.md648 B
- references/syntax-frontmatter-merging.md654 B
- references/syntax-importing-slides.md726 B
- references/syntax-mdc.md627 B
- references/tool-eject-theme.md498 B
references/core-frontmatter.md
name: frontmatter description: Configuration options for individual slides
Per-Slide Frontmatter
Configuration options for individual slides.
Layout
---
layout: center
---Available layouts: default, cover, center, two-cols, two-cols-header, image, image-left, image-right, iframe, iframe-left, iframe-right, quote, section, statement, fact, full, intro, end, none
Background
---
background: /image.jpg
backgroundSize: cover
class: text-white
---Click Count
---
clicks: 5 # Total clicks for this slide
clicksStart: 0 # Starting click number
---Transitions
---
transition: fade # Slide transition
---Or different for forward/backward:
---
transition: slide-left | slide-right
---Zoom
---
zoom: 0.8 # Scale content (0.8 = 80%)
---Hide Slide
---
disabled: true # Hide this slide
# or
hide: true
---Table of Contents
---
hideInToc: true # Hide from Toc component
level: 2 # Override heading level
title: Custom Title # Override slide title
---Import External File
---
src: ./slides/intro.md # Import markdown file
---With specific slides:
---
src: ./other.md#2,5-7 # Import slides 2, 5, 6, 7
---Route Alias
---
routeAlias: intro # URL: /intro instead of /1
---Preload
---
preload: false # Don't mount until entering
---Draggable Positions
---
dragPos:
logo: 100,50,200,100,0 # Left,Top,Width,Height,Rotate
arrow: 300,200,50,50,45
---Image Layouts
---
layout: image-left
image: /photo.jpg
backgroundSize: contain
class: my-custom-class
---Iframe Layouts
---
layout: iframe
url: https://example.com
---Two Columns
---
layout: two-cols
---
# Left Side
Content
::right::
# Right Side
ContentTwo Columns with Header
---
layout: two-cols-header
---
# Header
::left::
Left content
::right::
Right contentFull Example
---
layout: center
background: /bg.jpg
class: text-white text-center
transition: fade
clicks: 3
zoom: 0.9
hideInToc: false
---
# Slide ContentRequirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Anthony Fu
- Publisher
- JetBrains (Official)
- Distributed by
- JetBrains
- Source
- JetBrains/skills · slidev · commit 3f53782
- Licence
- MIT License (redistribution allowed)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Anthony Fu or JetBrains.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download slidev.zip