| name | pdf |
| description | Generate branded PDFs from markdown files. Use when converting case studies, proposals, or documentation to PDF format. Handles styling, templates, and batch conversion. Use when this capability is needed. |
| metadata | {"author":"filippofilip95"} |
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
/pdf content/case-studies/project.md
/pdf proposal.md ~/Desktop/client-proposal.pdf
/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;
--accent: #0ea5e9;
}
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.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.