Curated Claude Code catalog
Updated 07.05.2026 · 19:39 CET
01 / Skill
slidevjs

slidev

Quality
9.0

Slidev is a web-based presentation framework that allows developers to create interactive slide decks using Markdown, Vue components, and Vite. It excels at technical presentations, code walkthroughs, and workshops where live coding, syntax highlighting, and interactive elements are crucial.

USP

Unlike traditional presentation software, Slidev is built for developers, offering deep integration with code, live editing, LaTeX, and diagrams, all managed with a familiar Markdown workflow and Vue components.

Use cases

  • 01Creating technical presentations with live code examples
  • 02Building interactive demos for workshops and talks
  • 03Exporting slide decks to PDF, PNGs, or PPTX
  • 04Recording presentations with presenter notes
  • 05Developing educational materials with LaTeX and diagrams

Detected files (2)

  • skills/slidev/SKILL.mdskill
    Show content (8782 bytes)
    ---
    name: slidev
    description: Create and present web-based slidedecks for developers using Slidev with Markdown, Vue components, code highlighting, animations, and interactive features. Use when building technical presentations, conference talks, code walkthroughs, teaching materials, or developer decks.
    ---
    
    # 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
    
    ```bash
    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
    
    ```md
    ---
    theme: default
    title: My Presentation
    ---
    
    # First Slide
    
    Content here
    
    ---
    
    # Second Slide
    
    More content
    
    <!--
    Presenter notes go here
    -->
    ```
    
    - `---` separates slides
    - First frontmatter = headmatter (deck config)
    - HTML comments = presenter notes
    
    ## Core References
    
    | Topic | Description | Reference |
    |-------|-------------|-----------|
    | Markdown Syntax | Slide separators, frontmatter, notes, code blocks | [core-syntax](references/core-syntax.md) |
    | Animations | v-click, v-clicks, motion, transitions | [core-animations](references/core-animations.md) |
    | Headmatter | Deck-wide configuration options | [core-headmatter](references/core-headmatter.md) |
    | Frontmatter | Per-slide configuration options | [core-frontmatter](references/core-frontmatter.md) |
    | CLI Commands | Dev, build, export, theme commands | [core-cli](references/core-cli.md) |
    | Components | Built-in Vue components | [core-components](references/core-components.md) |
    | Layouts | Built-in slide layouts | [core-layouts](references/core-layouts.md) |
    | Exporting | PDF, PPTX, PNG export options | [core-exporting](references/core-exporting.md) |
    | Hosting | Build and deploy to various platforms | [core-hosting](references/core-hosting.md) |
    | Global Context | $nav, $slidev, composables API | [core-global-context](references/core-global-context.md) |
    
    ## Feature Reference
    
    ### Code & Editor
    
    | Feature | Usage | Reference |
    |---------|-------|-----------|
    | Line highlighting | `` ```ts {2,3} `` | [code-line-highlighting](references/code-line-highlighting.md) |
    | Click-based highlighting | `` ```ts {1\|2-3\|all} `` | [code-line-highlighting](references/code-line-highlighting.md) |
    | Line numbers | `lineNumbers: true` or `{lines:true}` | [code-line-numbers](references/code-line-numbers.md) |
    | Scrollable code | `{maxHeight:'100px'}` | [code-max-height](references/code-max-height.md) |
    | Code tabs | `::code-group` (requires `comark: true`) | [code-groups](references/code-groups.md) |
    | Monaco editor | `` ```ts {monaco} `` | [editor-monaco](references/editor-monaco.md) |
    | Run code | `` ```ts {monaco-run} `` | [editor-monaco-run](references/editor-monaco-run.md) |
    | Edit files | `<<< ./file.ts {monaco-write}` | [editor-monaco-write](references/editor-monaco-write.md) |
    | Code animations | `` ````md magic-move `` | [code-magic-move](references/code-magic-move.md) |
    | TypeScript types | `` ```ts twoslash `` | [code-twoslash](references/code-twoslash.md) |
    | Import code | `<<< @/snippets/file.js` | [code-import-snippet](references/code-import-snippet.md) |
    
    ### Diagrams & Math
    
    | Feature | Usage | Reference |
    |---------|-------|-----------|
    | Mermaid diagrams | `` ```mermaid `` | [diagram-mermaid](references/diagram-mermaid.md) |
    | PlantUML diagrams | `` ```plantuml `` | [diagram-plantuml](references/diagram-plantuml.md) |
    | LaTeX math | `$inline$` or `$$block$$` | [diagram-latex](references/diagram-latex.md) |
    
    ### Layout & Styling
    
    | Feature | Usage | Reference |
    |---------|-------|-----------|
    | Canvas size | `canvasWidth`, `aspectRatio` | [layout-canvas-size](references/layout-canvas-size.md) |
    | Zoom slide | `zoom: 0.8` | [layout-zoom](references/layout-zoom.md) |
    | Scale elements | `<Transform :scale="0.5">` | [layout-transform](references/layout-transform.md) |
    | Layout slots | `::right::`, `::default::` | [layout-slots](references/layout-slots.md) |
    | Scoped CSS | `<style>` in slide | [style-scoped](references/style-scoped.md) |
    | Global layers | `global-top.vue`, `global-bottom.vue` | [layout-global-layers](references/layout-global-layers.md) |
    | Draggable elements | `v-drag`, `<v-drag>` | [layout-draggable](references/layout-draggable.md) |
    | Icons | `<mdi-icon-name />` | [style-icons](references/style-icons.md) |
    
    ### Animation & Interaction
    
    | Feature | Usage | Reference |
    |---------|-------|-----------|
    | Click animations | `v-click`, `<v-clicks>` | [core-animations](references/core-animations.md) |
    | Rough markers | `v-mark.underline`, `v-mark.circle` | [animation-rough-marker](references/animation-rough-marker.md) |
    | Drawing mode | Press `C` or config `drawings:` | [animation-drawing](references/animation-drawing.md) |
    | Direction styles | `forward:delay-300` | [style-direction](references/style-direction.md) |
    | Note highlighting | `[click]` in notes | [animation-click-marker](references/animation-click-marker.md) |
    
    ### Syntax Extensions
    
    | Feature | Usage | Reference |
    |---------|-------|-----------|
    | Comark syntax | `comark: true` + `{style="color:red"}` | [syntax-comark](references/syntax-comark.md) |
    | Block frontmatter | `` ```yaml `` instead of `---` | [syntax-block-frontmatter](references/syntax-block-frontmatter.md) |
    | Import slides | `src: ./other.md` | [syntax-importing-slides](references/syntax-importing-slides.md) |
    | Merge frontmatter | Main entry wins | [syntax-frontmatter-merging](references/syntax-frontmatter-merging.md) |
    
    ### Presenter & Recording
    
    | Feature | Usage | Reference |
    |---------|-------|-----------|
    | Recording | Press `G` for camera | [presenter-recording](references/presenter-recording.md) |
    | Timer | `duration: 30min`, `timer: countdown` | [presenter-timer](references/presenter-timer.md) |
    | Remote control | `slidev --remote` | [presenter-remote](references/presenter-remote.md) |
    | Ruby text | `notesAutoRuby:` | [presenter-notes-ruby](references/presenter-notes-ruby.md) |
    
    ### Export & Build
    
    | Feature | Usage | Reference |
    |---------|-------|-----------|
    | Export options | `slidev export` | [core-exporting](references/core-exporting.md) |
    | Build & deploy | `slidev build` | [core-hosting](references/core-hosting.md) |
    | Build with PDF | `download: true` | [build-pdf](references/build-pdf.md) |
    | Cache images | Automatic for remote URLs | [build-remote-assets](references/build-remote-assets.md) |
    | OG image | `seoMeta.ogImage` or `og-image.png` | [build-og-image](references/build-og-image.md) |
    | SEO tags | `seoMeta:` | [build-seo-meta](references/build-seo-meta.md) |
    
    **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](references/editor-side.md) |
    | VS Code extension | Install `antfu.slidev` | [editor-vscode](references/editor-vscode.md) |
    | Prettier | `prettier-plugin-slidev` | [editor-prettier](references/editor-prettier.md) |
    | Eject theme | `slidev theme eject` | [tool-eject-theme](references/tool-eject-theme.md) |
    
    ### Lifecycle & API
    
    | Feature | Usage | Reference |
    |---------|-------|-----------|
    | Slide hooks | `onSlideEnter()`, `onSlideLeave()` | [api-slide-hooks](references/api-slide-hooks.md) |
    | Navigation API | `$nav`, `useNav()` | [core-global-context](references/core-global-context.md) |
    
    ## 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
    
  • .claude-plugin/marketplace.jsonmarketplace
    Show content (378 bytes)
    {
      "name": "slidev-plugins",
      "owner": {
        "name": "Anthony Fu",
        "url": "https://github.com/antfu"
      },
      "metadata": {
        "description": "Claude Code plugins for the Slidev presentation framework"
      },
      "plugins": [
        {
          "name": "slidev",
          "source": "./",
          "description": "Claude Code skill for creating and presenting Slidev slidedecks"
        }
      ]
    }
    

README


Slidev

Presentation slides for developers 🧑‍💻👩‍💻👨‍💻

NPM version NPM Downloads Docs & Demos Themes
GitHub stars

Video Preview | Documentation


Made possible by my Sponsor Program 💖

Features

  • 📝 Markdown-based - focus on content and use your favorite editor
  • 🧑‍💻 Developer Friendly - built-in code highlighting, live coding, etc.
  • 🎨 Themable - theme can be shared and used with npm packages
  • 🌈 Stylish - on-demand utilities via UnoCSS.
  • 🤹 Interactive - embedding Vue components seamlessly
  • 🎙 Presenter Mode - use another window, or even your phone to control your slides
  • 🎨 Drawing - draw and annotate on your slides
  • 🧮 LaTeX - built-in LaTeX math equations support
  • 📰 Diagrams - creates diagrams using textual descriptions with Mermaid
  • 🌟 Icons - access to icons from any icon set directly
  • 💻 Editor - integrated editor, or the VSCode extension
  • 🎥 Recording - built-in recording and camera view
  • 📤 Portable - export into PDF, PNGs, or PPTX
  • ⚡️ Fast - instant reloading powered by Vite
  • 🛠 Hackable - using Vite plugins, Vue components, or any npm packages

Getting Started

Try it Online ⚡️

sli.dev/new

Init Project Locally

Install Node.js >= 20.12.0 and run the following command:

npm init slidev

Documentation: English | 中文文档 | Français | Español | Русский | Português-BR

Discord: chat.sli.dev

For a full example, you can check the demo folder, which is also the source file for my previous talk.

Tech Stack

  • Vite - An extremely fast frontend tooling
  • Vue 3 powered Markdown - Focus on the content while having the power of HTML and Vue components whenever needed
  • UnoCSS - On-demand utility-first CSS engine, style your slides at ease
  • Shiki, Monaco Editor - First-class code snippets support with live coding capability
  • RecordRTC - Built-in recording and camera view
  • VueUse family - @vueuse/core, @vueuse/motion, etc.
  • Iconify - Icon sets collection.
  • Drauu - Drawing and annotations support
  • KaTeX - LaTeX math rendering.
  • Mermaid - Textual Diagrams.

Sponsors

This project is made possible by all the sponsors supporting my work:

Logos from Sponsors

License

MIT License © 2021 Anthony Fu