Markdown deck → single-file HTML presentation

Converts a markdown deck (slides separated by --- HR boundaries or # H1 headings, with optional presenter notes) into a single-file HTML presentation with keyboard navigation, presenter mode, URL-hash deep linking, and print-to-PDF support. It produces a self-contained HTML file that runs in any browser.

✨ What it does

  • Splits markdown into slides using HR or H1 boundaries (auto-detected).
  • Extracts presenter notes from <!-- notes: ... --> blocks.
  • Generates a single-file HTML with keyboard navigation (arrow keys, Space, PgDn/PgUp, Home/End, P for presenter mode, Esc
  • Includes presenter mode with split view, speaker notes, clock, and next-slide preview.
  • Supports URL-hash deep linking (e.g., deck.html#3) and browser back/forward navigation.
  • Adds a progress bar, slide counter, and print stylesheet for PDF export.

🎯 When to use it

  • When you have a markdown file with clear slide boundaries (3+ HR lines or 5+ H1 headings) and want an interactive HTML presentation.
  • When you need a deck with presenter notes and presenter mode for live talks.
  • When you want a single-file HTML deck that can be shared easily and printed to PDF.
  • When the orchestrator routes your input as SLIDES or you invoke /cs:md-slides directly.

🚀 How to use

Trigger: /cs:md-slides

Trigger by running /cs:md-slides <path>.md or when the orchestrator classifies input as SLIDES. The input should be a markdown file with clear slide boundaries (at least 3 HR lines or 5 H1 headings) and optional presenter notes. Example prompts:

/cs:md-slides mypresentation.md

Convert this markdown deck into an HTML presentation with presenter notes.

📄 Output: A single-file HTML presentation saved as deck-{slug}.html in the default output directory.

📦 Add this skill to Claude Code

# 1. Get the skills repo
git clone --depth 1 https://github.com/alirezarezvani/claude-skills /tmp/claude-skills

# 2. Copy this skill into your project (or ~/.claude/skills for all projects)
mkdir -p .claude/skills
cp -r /tmp/claude-skills/markdown-html/skills/md-slides .claude/skills/md-slides

Skill source: markdown-html/skills/md-slides/SKILL.md

⚠️ Good to know

Refuses input without clear slide boundaries, decks that would produce only one slide, inputs under 100 lines, and (with --strict-notes) decks with less than 50% notes coverage.

❓ FAQ

What slide boundary formats are supported?

Slides can be separated by --- horizontal rules or by # H1 headings; the tool auto-detects which format is used.

How do I include presenter notes?

Add <!-- notes: ... --> blocks within each slide; these are extracted and shown in presenter mode.

Can I export the deck to PDF?

Yes, the generated HTML includes a print stylesheet that makes Cmd+P produce a PDF with one slide per page.

🤖 Overview, features, install steps and FAQ were generated from the project's SKILL.md on Sep 4, 2026. Always check the original source before running commands.