pdf

SKILL.md

PDF Generator Skill

Generate professionally branded PDFs from markdown documents.

Trigger

User runs /pdf [file] or asks to "generate PDF", "convert to PDF", or "create PDF".

Usage

# Single file
/pdf content/case-studies/project.md

# With custom output
/pdf proposal.md ~/Desktop/client-proposal.pdf

# HTML (for browser printing)
/pdf --html document.md

Workflow

1. Validate Input

  • Check file exists
  • Verify it's a markdown file
  • Check PDF generator is set up

2. Generate PDF

Run the generator script:

./tools/pdf-generator/generate-pdf.sh [input] [output]

3. Report Results

  • Confirm PDF location
  • Open PDF (on macOS)
  • Report any errors

Common Tasks

Convert Case Study

./tools/pdf-generator/generate-pdf.sh content/case-studies/[name].md

Output: tools/pdf-generator/output/[name].pdf

Convert Proposal

./tools/pdf-generator/generate-pdf.sh clients/[client]/proposal.md

Batch Convert

./tools/pdf-generator/generate-pdf.sh --batch content/case-studies/

HTML Fallback

If no PDF engine is installed:

./tools/pdf-generator/generate-pdf.sh --html document.md

Then print to PDF from browser.

Customization

Brand Colors

Edit tools/pdf-generator/templates/styles.css:

:root {
  --primary: #552cd5;    /* Your brand color */
  --accent: #0ea5e9;     /* Links, highlights */
}

Footer

Edit tools/pdf-generator/templates/template.html to add:

  • Company name
  • Website
  • Contact info

Requirements

  • Pandoc: brew install pandoc
  • WeasyPrint: pip install weasyprint (recommended)

Install with:

./tools/pdf-generator/generate-pdf.sh --install

Troubleshooting

"No PDF engine found"

Install WeasyPrint: pip install weasyprint Or use --html flag and print from browser.

"pandoc not found"

Install: brew install pandoc

Fonts not rendering

WeasyPrint needs fonts installed locally. Use system fonts or install Google Fonts.

Weekly Installs
3
First Seen
Feb 26, 2026
Installed on
gemini-cli3
github-copilot3
codex3
kimi-cli3
cursor3
amp3