PluginBench
Skill
Official
Fail
Audit score 45

pdf

openai/skills

Read, create, and review PDFs with visual rendering and Python tools for layout-aware processing.

What is pdf?

Use this skill when working with PDF files where layout, formatting, and visual appearance matter. It combines visual rendering (via Poppler) with Python libraries (reportlab, pdfplumber, pypdf) for generation, extraction, and validation.

  • Render PDF pages to PNG images for visual inspection and layout verification
  • Generate PDFs programmatically with reliable formatting using reportlab
  • Extract text and metadata from PDFs using pdfplumber and pypdf
  • Validate final rendering before delivery to catch formatting defects
  • Maintain organized workflows with temp and output file conventions

How to install pdf

npx skills add https://github.com/openai/skills --skill pdf
Prerequisites
  • Python 3 with uv or pip package manager
  • Poppler system tools (pdftoppm) for rendering; installable via Homebrew on macOS or apt on Ubuntu/Debian
  • Python packages: reportlab, pdfplumber, pypdf
Claude Code
Cursor
Windsurf
Cline

How to use pdf

  1. 1.Install dependencies: run `uv pip install reportlab pdfplumber pypdf` and system Poppler tools
  2. 2.For PDF creation: use reportlab to generate new PDFs with specified formatting
  3. 3.For PDF review: render pages to PNG using `pdftoppm -png` and inspect visually
  4. 4.For text extraction: use pdfplumber or pypdf to extract content and metadata
  5. 5.After each update: re-render pages and verify alignment, spacing, and legibility before final delivery

Use cases

Good for
  • Creating formatted reports or documents with consistent typography and spacing
  • Reviewing PDF layouts to ensure text alignment, tables, and images render correctly
  • Extracting structured data from PDFs while preserving layout information
  • Validating that generated PDFs have no clipped text, overlapping elements, or rendering issues
  • Building automated PDF generation pipelines with quality checks
Who it's for
  • Developers building PDF generation systems
  • Data analysts extracting information from complex PDF documents
  • QA engineers validating document formatting and visual appearance
  • Automation engineers creating report generation workflows

pdf FAQ

When should I use this skill instead of just reading PDF text?

Use this skill when layout, visual design, spacing, typography, or image placement matters. For simple text extraction without layout concerns, basic text tools may suffice.

What if Poppler is not available in my environment?

The skill will notify you which dependency is missing. You can install Poppler locally (via Homebrew on macOS or apt on Ubuntu/Debian) or review the rendered output on your local machine.

Which library should I use for text extraction?

Use pdfplumber or pypdf for text extraction and quick checks. However, do not rely on them for layout fidelity; use visual rendering (PNG inspection) to verify formatting.

Where should I store intermediate and final PDF files?

Use `tmp/pdfs/` for intermediate files (delete when done) and `output/pdf/` for final artifacts. Keep filenames stable and descriptive.

What quality issues should I watch for?

Avoid clipped text, overlapping elements, broken tables, black squares, unreadable glyphs, and Unicode dashes. Ensure headers, footers, page numbering, and section transitions look polished.

Full instructions (SKILL.md)

Source of truth, from openai/skills.


name: "pdf" description: "Use when tasks involve reading, creating, or reviewing PDF files where rendering and layout matter; prefer visual checks by rendering pages (Poppler) and use Python tools such as reportlab, pdfplumber, and pypdf for generation and extraction."

PDF Skill

When to use

  • Read or review PDF content where layout and visuals matter.
  • Create PDFs programmatically with reliable formatting.
  • Validate final rendering before delivery.

Workflow

  1. Prefer visual review: render PDF pages to PNGs and inspect them.
    • Use pdftoppm if available.
    • If unavailable, install Poppler or ask the user to review the output locally.
  2. Use reportlab to generate PDFs when creating new documents.
  3. Use pdfplumber (or pypdf) for text extraction and quick checks; do not rely on it for layout fidelity.
  4. After each meaningful update, re-render pages and verify alignment, spacing, and legibility.

Temp and output conventions

  • Use tmp/pdfs/ for intermediate files; delete when done.
  • Write final artifacts under output/pdf/ when working in this repo.
  • Keep filenames stable and descriptive.

Dependencies (install if missing)

Prefer uv for dependency management.

Python packages:

uv pip install reportlab pdfplumber pypdf

If uv is unavailable:

python3 -m pip install reportlab pdfplumber pypdf

System tools (for rendering):

# macOS (Homebrew)
brew install poppler

# Ubuntu/Debian
sudo apt-get install -y poppler-utils

If installation isn't possible in this environment, tell the user which dependency is missing and how to install it locally.

Environment

No required environment variables.

Rendering command

pdftoppm -png $INPUT_PDF $OUTPUT_PREFIX

Quality expectations

  • Maintain polished visual design: consistent typography, spacing, margins, and section hierarchy.
  • Avoid rendering issues: clipped text, overlapping elements, broken tables, black squares, or unreadable glyphs.
  • Charts, tables, and images must be sharp, aligned, and clearly labeled.
  • Use ASCII hyphens only. Avoid U+2011 (non-breaking hyphen) and other Unicode dashes.
  • Citations and references must be human-readable; never leave tool tokens or placeholder strings.

Final checks

  • Do not deliver until the latest PNG inspection shows zero visual or formatting defects.
  • Confirm headers/footers, page numbering, and section transitions look polished.
  • Keep intermediate files organized or remove them after final approval.

Related skills

More from openai/skills and the wider catalog.

GH

gh-fix-ci

Official
openai/skills

Use when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions; use `gh` to inspect checks and logs, summarize failure context, draft a fix plan, and implement only after explicit approval. Treat external providers (for example Buildkite) as out of scope and report only the details URL.

5.5k installs
SE

security-best-practices

Official
openai/skills

Perform language and framework specific security best-practice reviews and suggest improvements. Trigger only when the user explicitly requests security best practices guidance, a security review/report, or secure-by-default coding help. Trigger only for supported languages (python, javascript/typescript, go). Do not trigger for general code review, debugging, or non-security tasks.

4.7k installs
PL

playwright

Official
openai/skills

Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.

4.0k installs
SC

screenshot

Official
openai/skills

Use when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed.

4.0k installs
FI

figma-implement-design

Official
openai/skills

Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions "implement design", "generate code", "implement component", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.

3.7k installs
FI

figma

Official
openai/skills

Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.

3.7k installs