Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: slidev-cli-skilld description: Build, present, and ship Slidev decks with @slidev/cli. Use when scaffolding a Slidev project, writing or editing slides.md Markdown decks, running the dev server, adding code highlighting, animations, layouts, or Vue components, exporting to PDF/PPTX/PNG/Markdown, building a hostable SPA, or driving slides through the built-in MCP server. license: MIT
Slidev CLI (@slidev/cli v53.0.0)
Markdown slides for developers, built on Vite, Vue 3, UnoCSS, and Shiki. Verified against the prepared @slidev/cli 53.0.0 package source.
Environment limits
- Node.js >= 22.12.0 (
package.jsonengines). - CLI export to PDF/PNG/PPTX needs an optional peer dependency:
npm i -D playwright-chromium (package.json peerDependencies, marked optional).
vite-plugin-pwais an optional peer dependency for PWA output.
Quick start
npm init slidev # scaffold a project (README.md); pnpm create slidev also worksnpm run dev # dev server on http://localhost:3030npm run build # static SPA into dist/npm run export # PDF into the project root
In a scaffolded project, dev/build/export scripts wrap the slidev bin. Run the bin directly after npm i -g @slidev/cli, or with npx.
Verify: after dev, slides load at http://localhost:3030. After export, the PDF exists in the project root.
Commands
| Task | Command | |
|---|---|---|
| Dev server | slidev [entry] (entry defaults to slides.md) | |
| Build SPA | slidev build [entry..] | |
| Export deck | slidev export [entry..] | |
| Export notes | slidev export-notes [entry..] | |
| Format markdown | slidev format [entry..] | |
| MCP server (stdio) | slidev mcp [entry] | |
| Eject theme | slidev theme eject [entry] |
Full flags and defaults: references/cli.md
Smallest working deck
---theme: defaulttitle: My Talktransition: slide-left---# First slideContent---# Second slide<!--Presenter notes: the last HTML comment of a slide.-->
---separates slides; blank lines around it.- The first frontmatter block is the headmatter (deck config).
- Later blocks are per-slide frontmatter.
Key rules
- Dev server default port is 3030; if taken, Slidev picks another in 3030-4000 (
dist/cli.mjsport logic). --tunnelrequires--remote(dist/cli.mjs).--per-slideis rejected with--format pptx-editable(dist/export-LauAJGMx.mjs).slidev exportprints a pointer to the browser exporter; when the dev server runs, visithttp://localhost:<port>/export/to export from the browser (dist/cli.mjs).- Editing slides programmatically: prefer the built-in MCP tools over raw text edits; they handle compound
---separators and hot-reload. See references/mcp.md. - Magic Move code animation needs a four-backtick wrapper fence. See references/code-blocks.md.
References
| Topic | File | |
|---|---|---|
| CLI commands, flags, defaults, shortcuts | references/cli.md | |
| Markdown syntax: slides, notes, imports, diagrams | references/syntax.md | |
| Headmatter and per-slide frontmatter keys | references/config.md | |
| Code blocks: highlighting, Monaco, Magic Move, snippets | references/code-blocks.md | |
| Click animations, motion, transitions, markers, drawing | references/animations.md | |
| Built-in components, layouts, global context | references/components-layouts.md | |
| Export formats, build output, hosting | references/exporting.md | |
| MCP server for AI agents | references/mcp.md |
Common workflows
New deck, iterate, export PDF:
npm init slidevslidev # dev server, edit slides.md, check localhost:3030npm i -D playwright-chromium # once, for CLI exportslidev export --with-clicks # PDF including click steps
Agent editing a live deck:
slidev & # dev server# connect MCP client to http://localhost:3030/__mcp# use slidev-list-slides / slidev-update-slide / slidev-insert-slide
Static site for GitHub Pages:
slidev build --base /<repo-name>/ --download
Resources
- Documentation: https://sli.dev
- Syntax guide: https://sli.dev/guide/syntax
- Theme gallery: https://sli.dev/resources/theme-gallery