md-to-pdf
Convert markdown to PDF using Chrome. Triggers on 'markdown to pdf', 'render to pdf', 'pdf from markdown', 'print this markdown'.
How do I install this agent skill?
npx skills add https://github.com/steveclarke/dotfiles --skill md-to-pdfIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is a standard utility for converting Markdown files to PDF using the crossnote engine and headless Chrome. It employs security best practices, such as disabling script execution during rendering and encoding filename metadata to prevent injection in generated headers and footers.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerwarn
5/5 files flagged
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
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 installin the skill directory once
How It Works
- Uses crossnote (Markdown Preview Enhanced engine)
- Injects page numbering config into front-matter
- Renders via Chrome/Puppeteer
- 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'
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/steveclarke/dotfiles/md-to-pdf">View md-to-pdf on skillZs</a>