
pdf-generation
Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts. Use when converting markdown to PDF, creating white papers, research documents, marketing materials, or technical documentation. Supports both English and Russian documents with professional typography and color-coded themes. Mobile-optimized layout (6x9) by default for Telegram bot context, desktop/print layout (A4) for other contexts.
- Installs
- 482
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/glebis/claude-skills --skill pdf-generation- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads pdf-generation automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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:
- Blank lines before lists - Required for proper list rendering
- Blank lines after headings - Improves spacing
- 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
- Check context (Telegram = mobile, otherwise desktop)
- Check if Russian (use EB Garamond if yes)
- Run appropriate pandoc command
- Verify output
Workflow 2: Professional Title Page
- Add YAML frontmatter with theme color
- Include metadata (title, author, date)
- Choose layout (mobile vs desktop)
- 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.pdffilename 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.
FAQ
What does the pdf-generation skill do?
Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts. Use when converting markdown to PDF, creating white papers, research documents, marketing materials, or technical documentation. Supports both English and Russian documents with professional typography and color-coded themes. Mobile-optimized layout (6x9) by default for Telegram bot context, desktop/print layout (A4) for other contexts.
How do I install pdf-generation?
Run npx skills add https://github.com/glebis/claude-skills --skill pdf-generation in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/pdf-generation/ (personal) or .claude/skills/pdf-generation/ (project).
Which AI agents can use pdf-generation?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is pdf-generation safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains pdf-generation?
It is published by glebis in glebis/claude-skills. It has 482 recorded installs.
More from glebis/claude-skills
google-image-search
glebis/claude-skills
Search and download images via Google Custom Search API with LLM-powered selection. This skill should be used when finding images for articles, presentations, research documents, or enriching Obsidian notes with relevant visuals. Supports simple queries, batch processing from JSON config, automatic config generation from terms, and full note enrichment with automatic image insertion below headings.
health-data
glebis/claude-skills
Open the skill to read its SKILL.md instructions.
firecrawl-research
glebis/claude-skills
Open the skill to read its SKILL.md instructions.
deep-research
glebis/claude-skills
Open the skill to read its SKILL.md instructions.
presentation-generator
glebis/claude-skills
Generate interactive HTML presentations with neobrutalism styling, ASCII art decorations, and Agency brand colors. Outputs HTML (interactive with navigation), PNG (individual slides via Playwright), and PDF. References brand-agency skill for colors and typography. Use when creating presentations, slide decks, pitch materials, or visual summaries.
decision-toolkit
glebis/claude-skills
Generate structured decision-making tools — step-by-step guides, bias checkers, scenario explorers, and interactive dashboards. Use when facing significant choices requiring systematic analysis. Supports multiple cognitive styles and output formats.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.