Agent skill

PDF Generation

by glebis in glebis/claude-skills

Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts.

MITAuto-check passedDocuments & Office

Install PDF Generation

skills CLI
$ npx skills add glebis/claude-skills --skill pdf-generation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install glebis/claude-skills pdf-generation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/glebis/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/pdf-generation .claude/skills/pdf-generation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pdf-generation
GitHub stars
390
Token cost
~1.3k tokens
SKILL.md length
381 words
Files
7 (incl. scripts, references)
Skills in repo
92
Repo updated
First seen
Licence
MIT

At a glance

Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts.

  • Works in 3 steps: Blank lines before lists - Required for… → Blank lines after headings - Improves… → Nested list indentation - Use 3 spaces…
  • Converting markdown to PDF
  • SKILL.md covers Overview, Quick Start, Document Theme Colors and YAML Frontmatter Example, plus 6 more sections
  • Runs Python scripts from its folder; calls pandoc and brew

What it does

PDF Generation is an agent skill from glebis/claude-skills. 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.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `.claude-plugin/plugin.json`, `README.md` and `references/frontmatter_templates.md`).

It sits in Documents & Office, covering PDF, Typography and Report writing. It works with Telegram and Pandoc. The repository describes itself as: Collection of Claude Code skills for enhanced AI workflows. The licence is MIT.

When your agent uses it

  • Converting markdown to PDF
  • Creating white papers
  • Research documents
  • Marketing materials

Example prompts

  • “/pdf-generation”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  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

What it can do on your machine

Read from SKILL.md and the folder at commit 3b88261. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • pandoc
    • brew

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

PDF Generation loads about 1.3k tokens when it runs, and up to ~1.5k if it reads all its reference files. Until then it costs about 114 tokens; SKILL.md has 381 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~114
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from glebis/claude-skills at commit 3b88261, republished under its MIT licence (© glebis). 381 words, ~1,308 tokens.

Download SKILL.mdSave it as .claude/skills/pdf-generation/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
pdf-generation
description
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.

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:

bash
# 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

yaml
---
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:

markdown
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:

bash
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
Show full SKILL.md (141 more words)Show less
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
bash
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:

bash
# 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.

© glebis, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (scripts, references) in pdf-generation of glebis/claude-skills.

  • SKILL.md
  • .claude-plugin/plugin.json
  • README.md
  • references/frontmatter_templates.md
  • references/pandoc_reference.md
  • scripts/fix_markdown.py
  • scripts/generate_pdf.py

Open the folder on GitHubat commit 3b88261

Compare with similar skills

PDF Generation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

PDF Generation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PDF Generation this skillglebis/claude-skills390—~1.3kAutomated safety check: PassMIT
Graphic EbookVarnan-Tech/opendirectory674—~5kAutomated safety check: PassMIT
Ky Markdown RebuilderKyrieCheungYep/ky-markdown-rebuilder117—~5.7kAutomated safety check: PassNone
Summarizereysu/ai-life-skills269—~7.7kAutomated safety check: PassMIT
CSV To Executive Reportskrun-dev/skrun210—~1.1kAutomated safety check: PassMIT
Japanese Hand Drawn Editorial Ppt Skillsoftware-ai-life/Awesome-PPT-Design-Skills120—~758Automated safety check: PassNone

Similar skills

  • Graphic Ebook

    Varnan-Tech/opendirectory

    Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.

    674 GitHub stars~5k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Ky Markdown Rebuilder

    KyrieCheungYep/ky-markdown-rebuilder

    Rebuild visual documents into reliable Markdown by combining text extraction with page or screenshot alignment.

    117 GitHub stars~5.7k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • Summarize

    reysu/ai-life-skills

    Summarize any content (YouTube video, article, whitepaper/PDF, podcast episode, book chapter, etc.) into a rich Obsidian note with section-by-section breakdowns, wikilinks to all technical concepts…

    269 GitHub stars~7.7k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Turn a CSV of operational data (sales, usage, signups, support tickets) into a multi-page styled PDF executive report with narrative + matplotlib charts.

    210 GitHub stars~1.1k tokensUpdated 16 days ago
    Documents & OfficeAuto-check passed
  • Japanese Hand Drawn Editorial Ppt Skill

    software-ai-life/Awesome-PPT-Design-Skills

    Create or redesign PowerPoint decks in a high-end Japanese hand-drawn editorial style: warm off-white paper texture, delicate pencil or ink line illustration, thin uneven strokes, mostly monochrome…

    120 GitHub stars~758 tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • PDF Size

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing a site that publishes downloadable PDFs (reports, white papers, legal documents, manuals).

    74k GitHub stars~597 tokensUpdated 3 days ago
    Documents & OfficeAuto-check passed

More from glebis/claude-skills

All 92 skills in this repo
  • Runs a human-first workflow for labeling PII spans in a transcript, then scores inter-annotator agreement and drafts an adjudicated gold set.

    390 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Automates a dedicated, logged-in Chrome instance per profile without ever closing the user's own open tabs or browser windows.

    390 GitHub stars~973 tokensUpdated yesterday
    Auto-check passed
  • Deep Research

    glebis/claude-skills

    This skill should be used when conducting comprehensive research on any topic using the OpenAI Deep Research API.

    390 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check: notes
  • Elimination Research

    glebis/claude-skills

    This skill should be used for elimination-style research where the user wants to choose from a shortlist of products, tools, services, vendors, or other options using explicit criteria, numeric…

    390 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Narrated HTML Presentations

    glebis/claude-skills

    Generates a self-contained HTML presentation with article and slides modes, ElevenLabs voiceover narration and optional GPT Image 2 illustrations.

    390 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check: notes
  • Writes fictional but realistic coaching or therapy session transcripts for evals, demos and few-shot examples, in several modalities and export formats.

    390 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about PDF Generation

What does PDF Generation do?

Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts. PDF Generation is an agent skill from glebis/claude-skills. Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts.

When should I use PDF Generation?

PDF Generation fits situations like: converting markdown to PDF; creating white papers; research documents; marketing materials.

How do I install PDF Generation in Claude Code?

Run `npx skills add glebis/claude-skills --skill pdf-generation -a claude-code`. Or copy the skill folder (pdf-generation in glebis/claude-skills) into .claude/skills/pdf-generation in your project. Claude Code loads it when a task matches its description.

How do I install PDF Generation in Codex?

Run `npx skills add glebis/claude-skills --skill pdf-generation -a codex`. Or copy the skill folder (pdf-generation in glebis/claude-skills) into .agents/skills/pdf-generation in your project. Codex loads it when a task matches its description.

Can I use PDF Generation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add glebis/claude-skills --skill pdf-generation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pdf-generation, .gemini/skills/pdf-generation, .github/skills/pdf-generation and .opencode/skills/pdf-generation in your project.

What does PDF Generation need to run?

Going by SKILL.md and its folder, PDF Generation needs Python for the scripts in its folder and the command-line tools its instructions call (pandoc and brew). Our summary lists: Python 3.

Does PDF Generation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is PDF Generation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does PDF Generation use?

PDF Generation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does PDF Generation use?

About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 216 tokens, read only when the agent opens those files.

What are the alternatives to PDF Generation?

Skills that share tags, products or a category with PDF Generation: Graphic Ebook (Varnan-Tech/opendirectory, 674 stars), Ky Markdown Rebuilder (KyrieCheungYep/ky-markdown-rebuilder, 117 stars), Summarize (reysu/ai-life-skills, 269 stars) and CSV To Executive Report (skrun-dev/skrun, 210 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PDF Generation?

glebis (a GitHub user) maintains it in glebis/claude-skills, which has 390 GitHub stars. The repository holds 92 skills in this directory. The repository was last updated on October 8, 2026.

Source: glebis/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.