md-to-pdf

star 34

Convert markdown to PDF using Chrome. Triggers on 'markdown to pdf', 'render to pdf', 'pdf from markdown', 'print this markdown'.

steveclarke By steveclarke schedule Updated 5/19/2026

name: md-to-pdf description: "Convert markdown to PDF using Chrome. Triggers on 'markdown to pdf', 'render to pdf', 'pdf from markdown', 'print this markdown'."

Markdown to PDF

Converts markdown files to beautifully formatted PDFs using crossnote (same engine as mcp-printer).

Features

  • Mermaid diagrams — Flowcharts, sequence diagrams, etc.
  • Math equations — KaTeX rendering
  • Syntax highlighting — GitHub theme
  • Page numbers — Automatic footer with page X / Y
  • GitHub-light theme — Clean, print-optimized styling

Usage

~/.claude/skills/md-to-pdf/scripts/md-to-pdf.cjs input.md              # Creates input.pdf
~/.claude/skills/md-to-pdf/scripts/md-to-pdf.cjs input.md output.pdf   # Custom output name

Options

Flag Description
-o FILE Specify output filename

Requirements

  • Chrome or Chromium — Auto-detected on macOS/Linux
  • Node.js — For running the script
  • Dependencies — Run npm install in the skill directory once

How It Works

  1. Uses crossnote (Markdown Preview Enhanced engine)
  2. Injects page numbering config into front-matter
  3. Renders via Chrome/Puppeteer
  4. Supports Mermaid, math, code highlighting out of the box

Examples

# Quick conversion
~/.claude/skills/md-to-pdf/scripts/md-to-pdf.cjs README.md

# Spec document for sharing
~/.claude/skills/md-to-pdf/scripts/md-to-pdf.cjs spec.md spec-v2.pdf

# Multiple files
for f in docs/*.md; do ~/.claude/skills/md-to-pdf/scripts/md-to-pdf.cjs "$f"; done

Mermaid Example

Include in your markdown:

```mermaid
graph TD
    A[Start] --> B{Decision}
    B -->|Yes| C[Do something]
    B -->|No| D[Do something else]
```

The diagram will render as a graphic in the PDF.

Printing

If the user wants to print the PDF, use the /print skill after generating.

Workflow decision:

User intent Action
"Convert to PDF" Keep the PDF
"Print this markdown" Generate PDF → print with /print → delete PDF
"Create a PDF and print it" Keep the PDF, also print

When printing is the goal (not the PDF itself), delete the PDF after printing:

# Generate, print, cleanup
~/.claude/skills/md-to-pdf/scripts/md-to-pdf.cjs doc.md
~/.claude/skills/print/scripts/print doc.pdf
rm doc.pdf

The /print skill handles double-sided and b&w defaults automatically.

Alias (Optional)

Add to your shell profile:

alias md-to-pdf='~/.claude/skills/md-to-pdf/scripts/md-to-pdf.cjs'
Install via CLI
npx skills add https://github.com/steveclarke/dotfiles --skill md-to-pdf
Repository Details
star Stars 34
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator