← LeaderboardThe Skill Leaderboard

marp-export

Export Marp slide markdown files to PDF (default), HTML, PPTX, or PNG. Handles theme loading, Chrome/Chromium detection for PDF export, and batch conversion. Trigger when user says "export slides", "convert marp to pdf", "marp export", "slides to pdf", "slides to html", "导出slides", "slides转pdf", "导出演示文稿".

Published by brycewang-stanford ↗brycewang-stanford/Auto-Empirical-Research-Skills

Try your first task

marp-export

Start a fresh conversation. Replace the highlighted placeholders.

Use marp-export to export [Marp markdown file] to [PDF, HTML, PPTX, or PNG] with its custom theme and local assets; if PDF or PPTX browser requirements are unavailable, produce HTML instead and state the limitation.

Required inputs

  • [Marp markdown file]
  • [PDF, HTML, PPTX, or PNG]

User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗

SKILL.md

name: marp-exportdescription: Export Marp slide markdown files to PDF (default), HTML, PPTX, or PNG. Handles theme loading, Chrome/Chromium detection for PDF export, and batch conversion. Trigger when user says "export slides", "convert marp to pdf", "marp export", "slides to pdf", "slides to html", "导出slides", "slides转pdf", "导出演示文稿".allowed-tools: Read, Bash, Glob, Grep

Marp Export Skill

Export existing Marp markdown files to PDF (default), HTML, PPTX, or PNG.

Quick Reference

# PDF (default) — requires Chrome/Chromium
npx @marp-team/marp-cli INPUT.md -o OUTPUT.pdf --theme-set ~/.claude/skills/marp-slides-creator/themes/ --allow-local-files --html

# HTML
npx @marp-team/marp-cli INPUT.md -o OUTPUT.html --theme-set ~/.claude/skills/marp-slides-creator/themes/ --html

# PPTX (editable, requires LibreOffice)
npx @marp-team/marp-cli INPUT.md -o OUTPUT.pptx --pptx-editable --theme-set ~/.claude/skills/marp-slides-creator/themes/ --allow-local-files

# PNG sequence
npx @marp-team/marp-cli INPUT.md --images png -o OUTPUT_DIR/ --theme-set ~/.claude/skills/marp-slides-creator/themes/

Workflow

Step 1: Locate Input File

Find the Marp markdown file. It must contain marp: true in YAML frontmatter.

# Verify it's a Marp file
head -5 INPUT.md  # should show "marp: true"

Step 2: Theme Directory

Themes are stored in the marp-slides-creator skill:

THEME_DIR="$HOME/.claude/skills/marp-slides-creator/themes/"

Always use --theme-set "$THEME_DIR/" in all export commands.

Step 3: Detect Chrome/Chromium (for PDF/PPTX)

PDF and PPTX export require a Chrome/Chromium browser. Marp-cli auto-detects, but if it fails:

# macOS Chrome paths (check in order)
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version
/Applications/Chromium.app/Contents/MacOS/Chromium --version
/Applications/Microsoft\ Edge.app/Contents/MacOS/Microsoft\ Edge --version

# Set CHROME_PATH if auto-detection fails
export CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

If no browser found, fall back to HTML export and inform the user.

Step 4: Export

Default format is PDF. User can specify otherwise.

Output naming convention:

  • Same directory as input file
  • Same base name, different extension
  • Example: presentation.md → presentation.pdf

PDF export:

npx @marp-team/marp-cli INPUT.md \
  -o OUTPUT.pdf \
  --theme-set ~/.claude/skills/marp-slides-creator/themes/ \
  --allow-local-files \
  --html

HTML export:

npx @marp-team/marp-cli INPUT.md \
  -o OUTPUT.html \
  --theme-set ~/.claude/skills/marp-slides-creator/themes/ \
  --html

Both PDF + HTML:

# Run sequentially
npx @marp-team/marp-cli INPUT.md -o OUTPUT.pdf --theme-set ~/.claude/skills/marp-slides-creator/themes/ --allow-local-files --html
npx @marp-team/marp-cli INPUT.md -o OUTPUT.html --theme-set ~/.claude/skills/marp-slides-creator/themes/ --html

Step 5: Verify & Report

# Check output exists and show file size
ls -lh OUTPUT.pdf OUTPUT.html 2>/dev/null

Report to user:

  • Output file path(s)
  • File size(s)
  • Format(s) generated
  • Any warnings from marp-cli

Key Flags Reference

FlagPurposeWhen to use
--theme-set DIR/Load custom themesWhen custom .css themes exist
--allow-local-filesAllow local imagesPDF/PPTX with local assets
--htmlEnable HTML tags in markdownAlways recommended
--pptx-editableEditable PPTX outputPPTX format (needs LibreOffice)
--images pngExport as PNG sequencePNG format
--pdf-notesInclude speaker notes in PDFWhen notes are present
--pdf-outlinesAdd bookmarks to PDFFor long presentations

Error Handling

ErrorCauseFix
Chrome/Chromium not foundNo browser for PDFSet CHROME_PATH or fall back to HTML
theme not foundMissing theme CSSCheck --theme-set path, use built-in theme
Could not find an inputBad file pathVerify path and marp: true frontmatter
Blank/empty PDFHTML tags without --htmlAdd --html flag

Examples

# Export current project's slides to PDF
npx @marp-team/marp-cli slides_project/05_final/presentation.md \
  -o slides_project/05_final/slides.pdf \
  --theme-set ~/.claude/skills/marp-slides-creator/themes/ \
  --allow-local-files --html

# Quick HTML export (no Chrome needed)
npx @marp-team/marp-cli my-talk.md -o my-talk.html --html

# Batch export all .md files in a directory
for f in slides/*.md; do
  npx @marp-team/marp-cli "$f" -o "${f%.md}.pdf" --allow-local-files --html
done