skills/duc01226/easyplatform/markdown-to-pdf

markdown-to-pdf

Installation
SKILL.md

[IMPORTANT] Use TaskCreate to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ATTENTION ask user whether to skip.

Quick Summary

Goal: Convert Markdown files to PDF with syntax highlighting and custom CSS support.

Workflow:

  1. Install -- Ensure required tools (pandoc + wkhtmltopdf or weasyprint) are available
  2. Convert -- Run conversion with syntax highlighting and optional CSS
  3. Verify -- Check PDF output for formatting and completeness

Key Rules:

  • Requires pandoc + a PDF engine (wkhtmltopdf or weasyprint)
  • Supports syntax highlighting for code blocks
  • Custom CSS can be applied for styling

Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).

markdown-to-pdf

Convert markdown files to high-quality PDF documents with code syntax highlighting and custom CSS support.

Installation Required

This skill requires npm dependencies. Run one of the following:

# Option 1: Install via ClaudeKit CLI (recommended)
ck init  # Runs install.sh which handles all skills

# Option 2: Manual installation
cd .claude/skills/markdown-to-pdf
npm install

Dependencies: md-to-pdf, gray-matter

Note: First run may download Chromium (~150MB) unless system Chrome is detected.

Quick Start

# Basic conversion
node .claude/skills/markdown-to-pdf/scripts/convert.cjs --input ./README.md

# Specify output path
node .claude/skills/markdown-to-pdf/scripts/convert.cjs --input ./doc.md --output ./output.pdf

# With custom CSS
node .claude/skills/markdown-to-pdf/scripts/convert.cjs --input ./doc.md --css ./my-style.css

CLI Options

Option Short Description Default
--input -i Input markdown file path (required)
--output -o Output PDF file path {input}.pdf
--css -c Custom CSS file path built-in
--no-highlight Disable syntax highlighting false
--help -h Show help message

Features

  • Syntax Highlighting: Code blocks rendered with highlight.js
  • Custom CSS: Override default styles with your own CSS
  • Cross-Platform: Works on Windows, macOS, Linux
  • System Chrome: Uses installed Chrome/Chromium when available
  • Frontmatter Support: YAML frontmatter extracted for title/metadata

Default Styling

The default PDF style includes:

  • Serif font (Georgia) for body text
  • Monospace font (Consolas/Monaco) for code
  • Proper page margins (2cm)
  • Code block background highlighting
  • Table borders and alternating row colors

Output

Returns JSON on success:

{
    "success": true,
    "input": "/path/to/input.md",
    "output": "/path/to/output.pdf",
    "pages": 3
}

Troubleshooting

Chrome not found: The skill will automatically download Chromium. Set PUPPETEER_SKIP_DOWNLOAD=1 to prevent this.

Memory issues: Large documents may require more memory. Consider splitting into multiple files.

Font issues: Embed fonts via CSS @font-face with base64-encoded fonts for consistent rendering.


Closing Reminders

  • IMPORTANT MUST ATTENTION break work into small todo tasks using TaskCreate BEFORE starting
  • IMPORTANT MUST ATTENTION search codebase for 3+ similar patterns before creating new code
  • IMPORTANT MUST ATTENTION cite file:line evidence for every claim (confidence >80% to act)
  • IMPORTANT MUST ATTENTION add a final review todo task to verify work quality
Weekly Installs
253
GitHub Stars
6
First Seen
Jan 24, 2026
Installed on
opencode248
gemini-cli248
codex247
cursor246
github-copilot244
amp243