Smithery Logo
MCPsSkillsDocsPricing
Login
NewFlame, an assistant that learns and improves. Available onTelegramSlack
    AJBcoding

    create-slidev-presentation

    AJBcoding/create-slidev-presentation
    Design
    3
    1 installs

    About

    SKILL.md

    Install

    • Telegram
      Telegram
    • Slack
      Slack
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    • Download skill
    ├─
    ├─
    └─
    Smithery Logo

    Give agents more agency

    Resources

    DocumentationPrivacy PolicySystem Status

    Company

    PricingAboutBlog

    Connect

    © 2026 Smithery. All rights reserved.

    About

    This skill should be used when asked to create or edit Slidev (sli.dev) presentation slide decks.

    SKILL.md

    Slidev

    Overview

    Enable creation and editing of high-quality Slidev presentations. Slidev is a web-based presentation framework that uses Markdown with Vue 3 components, providing features like live code editing, syntax highlighting, animations, and export to multiple formats.

    Key capabilities:

    • Create presentations from markdown with YAML configuration
    • Use 17 built-in layouts plus custom layouts
    • Add click animations, transitions, and motion effects
    • Embed live code editors (Monaco) with TypeScript support
    • Include diagrams (Mermaid, PlantUML), LaTeX math, and media
    • Export to PDF, PPTX, PNG, or static web application

    Requirements: Node.js >= 24.0.0

    Quick Start

    Creating a New Presentation

    # Initialize project
    pnpm create slidev
    
    # Or with specific entry file
    pnpm create slidev my-slides
    
    # Start development server
    cd my-slides
    pnpm run dev
    

    Minimal Presentation Structure

    ---
    theme: default
    title: My Presentation
    ---
    
    # Welcome
    
    Introduction slide
    
    ---
    
    # Second Slide
    
    Content here
    
    ---
    layout: end
    ---
    
    # Thank You
    

    Slide separator: Three dashes (---) padded with new lines

    Creating Presentations

    Structure Decision Tree

    Is this a new presentation?

    • Yes → Use template from assets/slide-templates.md or assets/example-configurations.md
    • No → See "Editing Presentations" section

    What type of presentation?

    • Business/Professional → Use seriph theme, simple transitions
    • Technical/Code-heavy → Enable monaco, lineNumbers, use code templates
    • Conference/Workshop → Enable drawings, record, presenter mode
    • Educational → Use clear layouts, diagrams, progressive disclosure
    • Design-focused → Minimalist theme, fade transitions, large typography

    Configuration Approach

    Start with minimal headmatter, add features as needed:

    Step 1 - Minimal (always include):

    ---
    theme: default
    title: Presentation Title
    ---
    

    Step 2 - Add features (based on content):

    ---
    theme: seriph
    title: Presentation Title
    author: Your Name
    mdc: true
    lineNumbers: true  # For code
    monaco: dev        # For live code
    transition: slide-left
    ---
    

    Step 3 - Optimize (for specific use case):

    • Code presentations: Add twoslash, higher canvasWidth (1200)
    • Media-heavy: Set aspectRatio: 16/9, optimize fonts
    • Export-focused: Configure export options, set exportFilename

    Layout Selection

    Use appropriate layout for each slide's purpose:

    Slide Purpose Layout Example
    Title slide cover Opening slide
    Section divider section New topic
    Standard content default Bullet points, text
    Centred content center Short quotes
    Two columns two-cols Comparisons
    Image + text image-left/right Diagrams with explanation
    Big number/stat fact Key metrics
    Quote quote Testimonials
    Final slide end Thank you, Q&A

    Specify layout in per-slide frontmatter:

    ---
    layout: two-cols
    ---
    

    Reference: references/layouts-reference.md for all 17 layouts with examples

    Component Usage

    Built-in components for common needs:

    Click animations:

    <v-clicks>
    
    - Item 1
    - Item 2
    - Item 3
    
    </v-clicks>
    

    Media embedding:

    <Youtube id="dQw4w9WgXcQ" />
    <Tweet id="1234567890" />
    

    Navigation:

    <Link to="42">Go to slide 42</Link>
    <Toc minDepth="1" maxDepth="2" />
    

    Reference: references/components-reference.md for complete component library

    Code Presentation

    Basic code block:

    ```typescript
    const greeting: string = 'Hello, Slidev!'
    console.log(greeting)
    ```
    

    With line highlighting (incremental):

    ```ts {1|3-4|all}
    const step1 = 'First'
    // Highlight line 1
    const step2 = 'Second'
    const step3 = 'Third'
    // Then highlight lines 3-4
    // Finally highlight all
    ```
    

    Interactive editor:

    ```ts {monaco-run}
    console.log('Runs in browser!')
    ```
    

    Best practices:

    1. Always specify language for syntax highlighting
    2. Use incremental highlighting to guide attention
    3. Keep code blocks under 20 lines (use {maxHeight:'200px'} if longer)
    4. Enable lineNumbers: true for code-heavy presentations

    Animations

    Progressive disclosure (most common):

    <v-clicks>
    
    - Point 1
    - Point 2
    - Point 3
    
    </v-clicks>
    

    Element-level control:

    <div v-click>Appears on click 1</div>
    <div v-click>Appears on click 2</div>
    <div v-click="3">Appears on click 3</div>
    

    Motion animations:

    <div
      v-motion
      :initial="{ x: -80, opacity: 0 }"
      :enter="{ x: 0, opacity: 1 }"
    >
      Animated entrance
    </div>
    

    Slide transitions:

    ---
    transition: slide-left
    ---
    

    Options: fade, slide-left, slide-right, slide-up, slide-down, view-transition

    Editing Presentations

    Modification Strategy

    Step 1 - Read and understand:

    1. Read slides.md to understand structure
    2. Identify headmatter (first frontmatter block)
    3. Note layouts and components used

    Step 2 - Make targeted changes:

    • Add slides: Insert --- separator and new content
    • Modify content: Edit markdown between separators
    • Change layouts: Update per-slide frontmatter
    • Adjust config: Modify headmatter or create slidev.config.ts

    Step 3 - Test changes:

    slidev  # Verify in dev server
    

    Common Editing Tasks

    Add slide after specific slide:

    1. Find target slide content
    2. Add separator (---) after it
    3. Add new slide content

    Change slide layout:

    ---
    layout: two-cols  # Change this
    ---
    

    Add click animations to list:

    <v-clicks>
    
    - Existing item 1
    - Existing item 2
    
    </v-clicks>
    

    Enable feature globally: Update headmatter:

    ---
    # Add/update these
    monaco: dev
    lineNumbers: true
    ---
    

    Split long presentation: Create pages/section1.md, then in main slides.md:

    ---
    src: ./pages/section1.md
    ---
    

    Common Patterns

    Use pre-built templates from assets/slide-templates.md:

    Title slide pattern:

    ---
    layout: cover
    background: /cover.jpg
    class: text-center
    ---
    
    # Title
    
    ## Subtitle
    
    Author · Date
    

    Code demo pattern:

    ---
    layout: two-cols
    ---
    
    ```ts {monaco-run}
    // Interactive code
    ```
    
    ::right::
    
    # Explanation
    
    - Point 1
    - Point 2
    

    Comparison pattern:

    ---
    layout: two-cols
    ---
    
    # Before
    
    Old approach
    
    ::right::
    
    # After
    
    New approach
    

    Section divider pattern:

    ---
    layout: section
    background: linear-gradient(to right, #667eea, #764ba2)
    class: text-white
    ---
    
    # Part 2: Implementation
    

    Complete examples: See assets/example-configurations.md for full presentation templates

    Export & Build

    Export to PDF

    # Basic export
    slidev export
    
    # With options
    slidev export --output presentation.pdf
    slidev export --with-clicks  # Include animations
    slidev export --dark         # Dark mode
    slidev export --range 1,4-8  # Specific slides
    

    Prerequisites: Install playwright-chromium

    pnpm add -D playwright-chromium
    

    Export to Other Formats

    slidev export --format pptx   # PowerPoint
    slidev export --format png    # PNG images
    slidev export --format md     # Markdown with PNGs
    

    Build Static Site

    slidev build
    slidev build --base /slides/  # For subdirectory hosting
    

    Deploy dist/ directory to static hosting (Netlify, Vercel, GitHub Pages).

    Configuration Reference

    Essential Headmatter Options

    ---
    # Theme
    theme: seriph  # or: default, apple-basic, carbon, dracula, nord, etc.
    
    # Metadata
    title: Presentation Title
    author: Your Name
    info: |
      ## Description
      Multi-line supported
    
    # Features
    mdc: true              # Enable MDC syntax
    monaco: dev            # Enable Monaco editor
    lineNumbers: true      # Line numbers in code
    twoslash: true         # TypeScript type info
    download: true         # PDF download button
    
    # Appearance
    colorSchema: auto      # auto, light, or dark
    transition: slide-left # Global transition
    
    # Layout
    aspectRatio: 16/9
    canvasWidth: 980
    
    # Fonts
    fonts:
      sans: Inter
      mono: JetBrains Mono
      weights: '300,400,600,700'
      provider: google
    
    # Export
    exportFilename: my-presentation
    export:
      format: pdf
      withClicks: false
      dark: false
    ---
    

    Complete reference: See references/configuration-reference.md

    Per-Slide Frontmatter

    ---
    layout: center           # Slide layout
    background: /image.jpg   # Background image
    class: text-white        # CSS classes
    transition: fade         # Override global
    clicks: 5                # Number of clicks
    hideInToc: true         # Hide from TOC
    zoom: 0.8               # Scale content
    routeAlias: solutions   # Navigation alias
    ---
    

    Troubleshooting

    Common Issues

    Slides not updating:

    slidev --force  # Clear cache
    

    Layout not found:

    • Check layout name spelling (case-sensitive)
    • Verify theme includes layout
    • Create custom layout in ./layouts/

    Code not highlighting:

    • Specify language: ```typescript not ```
    • Check for syntax errors
    • Clear cache: slidev --force

    Export fails or hangs:

    pnpm add -D playwright-chromium  # Install first
    slidev export --timeout 60000    # Increase timeout
    slidev export --wait 2000         # Add wait time
    

    Monaco not working:

    • Set monaco: 'dev' or monaco: true in headmatter
    • Clear cache
    • Check browser console for errors

    Images not loading:

    • Path must start with / for public folder
    • Verify file in public/ directory
    • Check browser console for 404s

    Complete guide: See references/troubleshooting.md

    Best Practices

    Content Organisation

    1. One idea per slide - Don't overcrowd
    2. 6x6 rule - Max 6 lines, 6 words per line
    3. Visual hierarchy - Use heading levels consistently
    4. Progressive disclosure - Use <v-clicks> for lists
    5. Consistent styling - Stick to theme

    Code Presentation

    1. Specify language - Always enable syntax highlighting
    2. Line highlighting - Guide attention: {1|3-5|all}
    3. Keep it short - Under 20 lines per block
    4. Use Monaco - For interactive demos
    5. Font size - Ensure readability (use zoom if needed)

    Performance

    1. Optimise images - Compress, use WebP
    2. Lazy load - preload: false on heavy slides
    3. Limit animations - Balance engagement vs. performance
    4. Local assets - Use /public folder
    5. Disable unused features - monaco: false if not needed

    Accessibility

    1. Colour contrast - Minimum 4.5:1 ratio
    2. Alt text - Describe images
    3. Font size - Minimum 24pt body text
    4. Test keyboard navigation - Arrow keys should work
    5. Avoid flashing - No rapid animations (<3/second)

    Resources

    This skill includes comprehensive documentation:

    references/

    • layouts-reference.md - All 17 built-in layouts with examples
    • components-reference.md - Complete component library and custom patterns
    • configuration-reference.md - All configuration options and setup files
    • troubleshooting.md - Common issues and solutions

    assets/

    • slide-templates.md - Ready-to-use templates for common slide types
    • example-configurations.md - Complete example configurations for different use cases

    Official Documentation

    • Website: https://sli.dev
    • Docs: https://sli.dev/guide/
    • GitHub: https://github.com/slidevjs/slidev
    • Themes: https://sli.dev/resources/theme-gallery

    Workflow Example

    User request: "Create a technical presentation about TypeScript best practices"

    Step 1: Choose template from assets/example-configurations.md → "Technical/Code-Heavy Presentation"

    Step 2: Create slides.md with appropriate headmatter:

    ---
    theme: default
    title: TypeScript Best Practices
    author: Developer Name
    monaco: dev
    lineNumbers: true
    twoslash: true
    ---
    

    Step 3: Add slides using templates from assets/slide-templates.md:

    • Cover slide
    • Section dividers
    • Code demonstration slides
    • Comparison slides
    • End slide

    Step 4: Start dev server to preview:

    slidev
    

    Step 5: Export when ready:

    slidev export --format pdf
    
    Recommended Servers
    tldraw
    tldraw
    Nanobanana
    Nanobanana
    DevMatch
    DevMatch
    Repository
    ajbcoding/claude-skill-eval
    Files