MCPInstall

slidev-navigation

Master Slidev navigation and keyboard shortcuts. Use this skill for efficient slide control, custom shortcuts, and navigation customization.

Installs
201
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/yoanbernabeu/slidev-skills --skill slidev-navigation
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads slidev-navigation automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Slidev Navigation

This skill covers all navigation features in Slidev, including keyboard shortcuts, navigation bar, overview mode, and customizing navigation behavior.

When to Use This Skill

  • Learning navigation controls
  • Customizing keyboard shortcuts
  • Setting up presentation navigation
  • Configuring navigation bar
  • Creating custom navigation components

Default Keyboard Shortcuts

Basic Navigation

KeyAction
SpaceNext animation or slide
→ / RightNext animation or slide
← / LeftPrevious animation or slide
↑ / UpPrevious slide (skip animations)
↓ / DownNext slide (skip animations)

Mode Toggles

KeyAction
oToggle overview mode
dToggle dark mode
fToggle fullscreen
pToggle presenter mode

Navigation Jumps

KeyAction
gGo to specific slide
HomeGo to first slide
EndGo to last slide

Other Controls

KeyAction
EscExit fullscreen/overview/drawing
eToggle drawing mode
rToggle recording

Navigation Bar

Location

Bottom-left corner of the slide (appears on hover).

Available Buttons

  • Home: Go to first slide
  • Previous: Previous slide/animation
  • Current/Total: Click to open go-to dialog
  • Next: Next slide/animation
  • Presenter: Open presenter mode
  • Camera: Toggle camera view
  • Record: Start/stop recording
  • Drawing: Toggle drawing mode
  • Overview: Open slide overview
  • Dark Mode: Toggle dark/light
  • Fullscreen: Toggle fullscreen
  • Export: Export options
  • Info: Presentation info

Overview Mode

Accessing

  • Press o key
  • Click overview button in navigation bar
  • Navigate to /overview URL

Features

  • Grid view of all slides
  • Click any slide to navigate
  • Keyboard navigation within overview
  • Search slides (if implemented)

Overview Navigation

KeyAction
← → ↑ ↓Navigate grid
EnterSelect slide
Esc / oClose overview

Go-To Dialog

Opening

  • Press g key
  • Click slide number in navigation bar

Usage

  1. Dialog opens
  2. Type slide number
  3. Press Enter

Quick Jump

g → 15 → Enter

Goes directly to slide 15.

Customizing Shortcuts

Configuration File

Create setup/shortcuts.ts:

import { defineShortcutsSetup } from '@slidev/types'

export default defineShortcutsSetup((nav, base) => {
  return [
    ...base, // Keep default shortcuts
    {
      key: 'enter',
      fn: () => nav.next(),
      autoRepeat: true,
    },
    {
      key: 'backspace',
      fn: () => nav.prev(),
      autoRepeat: true,
    },
    {
      key: 'ctrl+f',
      fn: () => nav.go(1),
    },
  ]
})

Shortcut Properties

PropertyTypeDescription
keystringKey combination
fnfunctionAction to perform
autoRepeatbooleanRepeat when held

Key Syntax

// Single key
{ key: 'enter', fn: () => {} }

// Modifier + key
{ key: 'ctrl+s', fn: () => {} }

// Multiple modifiers
{ key: 'ctrl+shift+s', fn: () => {} }

Available Modifiers

  • ctrl
  • shift
  • alt
  • meta (Cmd on Mac)

Navigation API

In Components

<script setup>
import { useNav } from '@slidev/client'

const {
  currentSlideNo,  // Current slide number (ref)
  currentPage,     // Current page number
  total,           // Total slides
  clicks,          // Current click count
  next,            // Go to next
  prev,            // Go to previous
  go,              // Go to slide number
  nextSlide,       // Next slide (skip animations)
  prevSlide,       // Previous slide (skip animations)
} = useNav()
</script>

Navigation Functions

<template>
  <!-- Custom navigation buttons -->
  <button @click="nav.prev()">Previous</button>
  <button @click="nav.next()">Next</button>
  <button @click="nav.go(1)">Go to Start</button>
  <button @click="nav.go(total.value)">Go to End</button>
</template>

<script setup>
import { useNav } from '@slidev/client'
const nav = useNav()
</script>

Custom Navigation Components

Slide Progress Bar

<!-- components/ProgressBar.vue -->
<script setup>
import { computed } from 'vue'
import { useNav } from '@slidev/client'

const { currentSlideNo, total } = useNav()
const progress = computed(() =>
  (currentSlideNo.value / total.value) * 100
)
</script>

<template>
  <div class="fixed top-0 left-0 right-0 h-1 bg-gray-200">
    <div
      class="h-full bg-blue-500 transition-all"
      :style="{ width: `${progress}%` }"
    />
  </div>
</template>

Custom Page Number

<!-- components/PageNumber.vue -->
<script setup>
import { useNav } from '@slidev/client'
const { currentSlideNo, total } = useNav()
</script>

<template>
  <div class="fixed bottom-4 right-4 text-sm">
    {{ currentSlideNo }} / {{ total }}
  </div>
</template>

Navigation Buttons

<!-- components/NavButtons.vue -->
<script setup>
import { useNav } from '@slidev/client'
const { prev, next, currentSlideNo, total } = useNav()
</script>

<template>
  <div class="fixed bottom-4 flex gap-2">
    <button
      @click="prev()"
      :disabled="currentSlideNo === 1"
      class="px-4 py-2 bg-blue-500 text-white rounded disabled:opacity-50"
    >
      Previous
    </button>
    <button
      @click="next()"
      :disabled="currentSlideNo === total"
      class="px-4 py-2 bg-blue-500 text-white rounded disabled:opacity-50"
    >
      Next
    </button>
  </div>
</template>

Touch Navigation

Default Behavior

  • Swipe left: Next slide
  • Swipe right: Previous slide

Touch Areas

Screen is divided into:

  • Left third: Previous
  • Right two-thirds: Next

Mouse Navigation

Click Areas

  • Left side of slide: Previous
  • Right side of slide: Next

Disable Click Navigation

---
# In frontmatter
---

Custom CSS to disable:

.slidev-page {
  pointer-events: none;
}

URL Navigation

Direct Slide Access

http://localhost:3030/5      # Slide 5
http://localhost:3030/10     # Slide 10

Presenter Mode

http://localhost:3030/presenter
http://localhost:3030/presenter/5  # Presenter at slide 5

Overview Mode

http://localhost:3030/overview

Slide Numbering

Default Numbering

Slides numbered 1 to N based on order.

Custom Slide IDs

---
routeAlias: introduction
---

Access via:

http://localhost:3030/introduction

Link to Slide by ID

[Go to Introduction](/introduction)

Navigation Events

Watch Navigation

<script setup>
import { watch } from 'vue'
import { useNav } from '@slidev/client'

const { currentSlideNo } = useNav()

watch(currentSlideNo, (newSlide, oldSlide) => {
  console.log(`Navigated from ${oldSlide} to ${newSlide}`)
})
</script>

Best Practices

1. Learn Core Shortcuts

Essential for smooth presenting:

  • Space / → - Forward
  • ← - Back
  • o - Overview
  • g - Go to

2. Custom Shortcuts for Your Style

// If you prefer Enter/Backspace
{
  key: 'enter',
  fn: () => nav.next(),
}

3. Hide Navigation for Clean Presentations

CSS to hide nav bar:

.slidev-nav {
  display: none;
}

4. Add Progress Indicator

Global bottom component for progress.

5. Practice Navigation

Before presenting:

  • Run through all slides
  • Practice overview jumping
  • Test any custom shortcuts

Output Format

When configuring navigation:

// setup/shortcuts.ts
import { defineShortcutsSetup } from '@slidev/types'

export default defineShortcutsSetup((nav, base) => {
  return [
    ...base, // Keep defaults

    // Custom shortcuts
    { key: '[key]', fn: () => nav.[action]() },
  ]
})

NAVIGATION PLAN:

  • Forward: [key]
  • Backward: [key]
  • Overview: [key]
  • Jump: [method]

CUSTOM COMPONENTS:

  • Progress bar: [yes/no]
  • Page numbers: [yes/no]
  • Custom buttons: [yes/no]

FAQ

What does the slidev-navigation skill do?

Master Slidev navigation and keyboard shortcuts. Use this skill for efficient slide control, custom shortcuts, and navigation customization.

How do I install slidev-navigation?

Run npx skills add https://github.com/yoanbernabeu/slidev-skills --skill slidev-navigation in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/slidev-navigation/ (personal) or .claude/skills/slidev-navigation/ (project).

Which AI agents can use slidev-navigation?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is slidev-navigation safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains slidev-navigation?

It is published by yoanbernabeu in yoanbernabeu/slidev-skills. It has 201 recorded installs.

More from yoanbernabeu/slidev-skills

View all →

slidev-styling

yoanbernabeu/slidev-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design307 installs

slidev-quick-start

yoanbernabeu/slidev-skills

Get started with Slidev presentations in minutes. Use this skill to create your first presentation or set up a new Slidev project.

Docs & Writing299 installs

slidev-themes

yoanbernabeu/slidev-skills

Open the skill to read its SKILL.md instructions.

297 installs

slidev-syntax-guide

yoanbernabeu/slidev-skills

Master Slidev's extended Markdown syntax. Use this skill to write slides with advanced formatting, frontmatter, and special features.

Docs & Writing279 installs

slidev-drawings

yoanbernabeu/slidev-skills

Open the skill to read its SKILL.md instructions.

253 installs

slidev-project-structure

yoanbernabeu/slidev-skills

Understand Slidev project structure and configuration. Use this skill to configure themes, addons, and customize your presentation setup.

Docs & Writing248 installs

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs