Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
glebis avatar

Pdf Generation

  • 437 installs
  • 339 repo stars
  • Updated August 4, 2026
  • glebis/claude-skills

pdf-generation is a Claude Code skill that generates polished PDF reports, invoices, and export packs from markdown, HTML, or structured data for developers automating customer-facing document output during feature work.

About

pdf-generation is a document automation skill from glebis/claude-skills that produces polished PDF reports, invoices, and export packs from markdown, HTML, or structured JSON and CSV data. The skill guides layout, typography, headers, tables, and pagination choices so generated PDFs are suitable for customer delivery rather than raw print-to-PDF dumps. Developers reach for pdf-generation when building SaaS billing exports, monthly analytics reports, compliance document packs, or automated invoice attachments in API backends. Output includes PDF files plus the generating script or template using common Node.js, Python, or headless browser tooling patterns that can be integrated into CI or on-demand API endpoints.

  • Markdown or HTML to PDF pipelines
  • Page layout, margins, and header/footer control
  • Table and image embedding in exports
  • Batch document generation from templates
  • Suitable for invoices, reports, and handoffs

Pdf Generation by the numbers

  • 437 all-time installs (skills.sh)
  • Ranked #162 of 688 Office & Documents skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/glebis/claude-skills --skill pdf-generation

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs437
repo stars339
Last updatedAugust 4, 2026
Repositoryglebis/claude-skills

How do you generate PDF reports from markdown?

Generate polished PDF reports, invoices, and export packs from markdown, HTML, or structured data during feature work and customer-facing document automation.

Who is it for?

Full-stack developers automating invoices, analytics reports, or compliance export packs in SaaS APIs.

Skip if: Interactive PDF form filling, digital signatures, or complex print-layout design in InDesign.

When should I use this skill?

User asks to generate PDF reports, invoices, export packs, or convert markdown or HTML to PDF programmatically.

What you get

Polished PDF files with layout templates and generating script or API integration

Files

SKILL.mdMarkdownGitHub ↗

PDF Generation

Overview

Generate professional PDFs from markdown files using Pandoc with Eisvogel template styling. Supports English and Russian documents with customizable themes, table of contents, and professional typography including EB Garamond font for Russian text.

Quick Start

Basic commands:

# Desktop/Print PDF (A4 format)
pandoc doc.md -o doc.pdf --pdf-engine=xelatex --toc --toc-depth=2 -V geometry:margin=2.5cm -V fontsize=11pt -V documentclass=article

# Mobile-friendly PDF (6x9 phone screen optimized)
pandoc doc.md -o doc-mobile.pdf --pdf-engine=xelatex --toc --toc-depth=2 -V geometry:paperwidth=6in -V geometry:paperheight=9in -V geometry:margin=0.5in -V fontsize=10pt -V linestretch=1.2

# Russian PDF with EB Garamond
pandoc doc-ru.md -o doc.pdf --pdf-engine=xelatex --toc --toc-depth=2 -V geometry:margin=2.5cm -V fontsize=11pt -V documentclass=article -V mainfont="EB Garamond"

# Russian Mobile PDF
pandoc doc-ru.md -o doc-mobile.pdf --pdf-engine=xelatex --toc --toc-depth=2 -V geometry:paperwidth=6in -V geometry:paperheight=9in -V geometry:margin=0.5in -V fontsize=10pt -V linestretch=1.2 -V mainfont="EB Garamond"

Document Theme Colors

  • White Papers - Blue (1e3a8a)
  • Marketing - Green (059669)
  • Research - Purple (7c3aed)
  • Technical - Gray (374151)

YAML Frontmatter Example

---
title: "Document Title"
subtitle: "Subtitle"
author: "Author"
date: "2025-11-18"
titlepage: true
titlepage-color: "1e3a8a"
titlepage-text-color: "ffffff"
book: true
---

See references/frontmatter_templates.md for complete templates.

Markdown Formatting Best Practices

For optimal PDF rendering, ensure:

1. Blank lines before lists - Required for proper list rendering 2. Blank lines after headings - Improves spacing 3. Nested list indentation - Use 3 spaces for sub-items

Common Claude Code Pattern

Lists after colons need blank lines:

Your data spans 9 years with complete tracking:

- Item 1
- Item 2

Without blank line after colon, renders as inline text.

Automatic Fix

Use preprocessing script:

scripts/fix_markdown.py input.md output.md

Automatically detects and fixes:

  • Lists after colons (Claude Code format)
  • Lists after headings
  • Nested list spacing

Layout Options

Desktop/Print Layout (A4)

  • Paper: 210mm x 297mm (A4)
  • Margins: 2.5cm
  • Font size: 11pt
  • Best for: Printing, reading on large screens, archival

Mobile Layout (Phone-optimized)

  • Paper: 6in x 9in (phone aspect ratio)
  • Margins: 0.5in (minimal for screen space)
  • Font size: 10pt with 1.2 line spacing
  • Best for: Phone/tablet reading, Telegram/messaging apps

Default for Telegram Bot: Use mobile layout for all PDFs sent via Telegram unless user explicitly requests print/desktop version.

Generation Workflows

Workflow 1: Simple PDF

1. Check context (Telegram = mobile, otherwise desktop) 2. Check if Russian (use EB Garamond if yes) 3. Run appropriate pandoc command 4. Verify output

Workflow 2: Professional Title Page

1. Add YAML frontmatter with theme color 2. Include metadata (title, author, date) 3. Choose layout (mobile vs desktop) 4. Generate with xelatex

Workflow 3: Using Script

scripts/generate_pdf.py doc.md -t white-paper
scripts/generate_pdf.py doc.md -t marketing --russian
scripts/generate_pdf.py doc.md --mobile  # Mobile layout

Resources

  • scripts/generate_pdf.py - Automated generation
  • references/frontmatter_templates.md - YAML templates
  • references/pandoc_reference.md - Command reference

Troubleshooting

Install pandoc: brew install pandoc Install LaTeX: brew install --cask mactex

Mobile-Friendly PDFs

For phone and tablet reading, use the mobile layout option:

# Using script (recommended)
scripts/generate_pdf.py doc.md --mobile

# Direct pandoc command
pandoc doc.md -o doc-mobile.pdf \
  --pdf-engine=xelatex \
  --toc --toc-depth=2 \
  -V geometry:paperwidth=6in \
  -V geometry:paperheight=9in \
  -V geometry:margin=0.5in \
  -V fontsize=10pt \
  -V linestretch=1.2 \
  -V colorlinks=true \
  -V linkcolor=blue \
  -V urlcolor=blue

Mobile layout features:

  • 6x9 inch page size (optimal for mobile screens)
  • 10pt font (readable on smaller screens)
  • 0.5in margins (maximizes content area)
  • 1.2 line spacing (improved readability)
  • Auto-generated -mobile.pdf filename suffix

When to use mobile layout:

  • Sharing research via Telegram/messaging apps
  • Reading on phones or tablets
  • Creating portable reference documents
  • Quick consumption on the go

Default context: Mobile layout is used by default when generating PDFs through the Telegram bot for optimal mobile reading experience.

Related skills

How it compares

Pick pdf-generation for programmatic report and invoice PDFs; use design tools when pixel-perfect marketing collateral layout is the primary goal.

FAQ

What inputs does pdf-generation accept?

pdf-generation accepts markdown, HTML, and structured data such as JSON or CSV to produce polished PDF reports, invoices, and export packs. Output includes the PDF file and integration code for API or batch workflows.

When should developers use pdf-generation?

pdf-generation fits SaaS billing invoices, monthly analytics exports, and compliance document packs that must render consistently for customers. Skip it for interactive PDF forms or digital signature workflows.

Office & Documentsworkflownotes

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.