MCPInstall

pdf-tools

PDF engineering for extraction, generation, modification, and form filling. Use when extracting text or tables from PDFs, generating PDFs with Puppeteer, modifying PDFs with pdf-lib, filling PDF forms, or implementing PDF security. Use for AI-assisted OCR, HTML-to-PDF conversion, and document processing pipelines.

Installs
172
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/oakoss/agent-skills --skill pdf-tools
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads pdf-tools automatically when relevant.

  3. 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 Tools

Full-lifecycle PDF engineering covering extraction, generation, modification, form filling, and security. Prioritizes JavaScript-first solutions (pdf-lib, unpdf, Puppeteer) with Python/CLI utilities for advanced scenarios.

When to use: Extracting structured data from PDFs, generating pixel-perfect PDFs from HTML/React, modifying existing PDFs, filling forms (fillable or non-fillable), or securing documents with encryption.

When NOT to use: Simple text file processing, image-only manipulation without PDF context, or tasks better handled by a word processor.

Quick Reference

TaskToolKey Point
Generate PDF from HTMLPuppeteer / Playwrightpage.pdf(); use networkidle0 (Puppeteer) or networkidle (Playwright)
Extract text (lightweight)unpdfEdge/serverless compatible
Extract tables (AI)Vision model + Zod schemaMulti-column and merged cell support
Extract tables (non-AI)pdfplumber (Python)Precise cell boundary detection
Modify, merge, splitpdf-lib (or @pdfme/pdf-lib)Byte-level PDF manipulation in JS
Fill fillable formspdf-lib (or @pdfme/pdf-lib)Inspect AcroForm fields before writing
Fill non-fillable formsPython annotation scriptsVisual analysis + bounding box annotations
Encrypt PDFqpdfAES-256: qpdf --encrypt user owner 256 --
Repair corrupted PDFqpdfqpdf input.pdf --replace-input
Fast text extraction (CLI)poppler-utilspdftotext -layout input.pdf -
Merge thousands of filespypdf (Python)Lighter than headless browser
Batch queue processingBullMQ + unpdfRedis-backed with retry, concurrency, progress tracking
PDF/A archival complianceghostscript + verapdfgs -dPDFA=2 for conversion; verapdf for validation
Tagged PDF (accessibility)Puppeteertagged: true maps HTML semantics to PDF structure tags
Digital signatures@signpdf/*PKCS#7 signing with P12 certificates
PDF comparisonunpdf + diff / pixelmatchText diff or pixel-level visual diff between versions
Secure redactionpymupdf (fitz)apply_redactions() removes content bytes, not just visual overlay

Common Mistakes

MistakeCorrect Pattern
Using canvas drawing commands for PDF generationUse Puppeteer/Playwright with HTML/CSS templates
Running Puppeteer in edge/serverless environmentsUse unpdf for edge; Puppeteer requires full Node.js
Extracting complex layouts with basic text parsersUse AI-assisted OCR or pdfplumber for multi-column text
Storing unencrypted PDFs with PII in public storageApply AES-256 encryption via qpdf before storage
Relying on window.print() for server-side generationUse headless browser APIs (page.pdf()) for deterministic output
Using pypdf for complex layout extractionUse pdfplumber or AI OCR for multi-column or overlapping text
Skipping font embedding in containerized environmentsEmbed Google Fonts or WOFF2 files with Puppeteer
Writing to flattened PDF form fieldsInspect AcroForm fields with pdf-lib before writing
Using unmaintained pdf-lib for encrypted PDFsUse @cantoo/pdf-lib fork which adds encrypted PDF support

Delegation

  • Inspect PDF structure and diagnose extraction issues: Use Explore agent to examine AcroForm fields, encoding, and metadata
  • Build end-to-end document processing pipelines: Use Task agent to implement extraction, transformation, and generation workflows
  • Design PDF architecture for a new system: Use Plan agent to select tools and plan extraction, generation, or modification strategies

References

  • AI Extraction Patterns -- Vision-based table extraction, recursive summarization, multi-pass verification
  • High-Fidelity Generation -- Puppeteer HTML-to-PDF, CSS print tips, React templates, browser pooling
  • Legacy Utilities -- pdfplumber, pypdf, qpdf, poppler-utils for batch and forensic tasks
  • Form Filling -- Fillable field extraction, non-fillable annotation workflow, validation scripts
  • Batch Processing and Accessibility -- Queue-based batch processing, PDF/A compliance, tagged PDFs, digital signatures, comparison, redaction

FAQ

What does the pdf-tools skill do?

PDF engineering for extraction, generation, modification, and form filling. Use when extracting text or tables from PDFs, generating PDFs with Puppeteer, modifying PDFs with pdf-lib, filling PDF forms, or implementing PDF security. Use for AI-assisted OCR, HTML-to-PDF conversion, and document processing pipelines.

How do I install pdf-tools?

Run npx skills add https://github.com/oakoss/agent-skills --skill pdf-tools 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-tools/ (personal) or .claude/skills/pdf-tools/ (project).

Which AI agents can use pdf-tools?

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-tools 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-tools?

It is published by oakoss in oakoss/agent-skills. It has 172 recorded installs.

More from oakoss/agent-skills

View all →

ui-ux-polish

oakoss/agent-skills

Iterative UI/UX polishing workflow for web applications. Use when improving visual polish, refining desktop and mobile UX separately, running iterative enhancement cycles, applying design patterns like glassmorphism or bento grids, or auditing accessibility and WCAG compliance. Use for Stripe-level visual quality, responsive optimization, and design system alignment.

Frontend & Design541 installs

playwright

oakoss/agent-skills

Open the skill to read its SKILL.md instructions.

Testing & QA453 installs

coolify

oakoss/agent-skills

Coolify self-hosted PaaS for deploying applications, databases, and services via REST API and Git integration. Covers API authentication, deployment triggers, build packs (Nixpacks, Dockerfile, Compose), CI/CD with GitHub Actions webhooks, environment management, and Traefik proxy configuration. Use when deploying apps to Coolify, triggering deployments via API, configuring build packs, setting up GitHub Actions CI/CD pipelines, managing environment variables, or troubleshooting deployment failures.

DevOps & Cloud361 installs

application-security

oakoss/agent-skills

Application security covering threat modeling (STRIDE), OWASP Top 10 (2025), OWASP API Security Top 10 (2023), secure coding review, authentication/authorization patterns, input validation, encryption, security headers, supply chain security, compliance (GDPR/HIPAA/SOC2/PCI-DSS), and security monitoring. Use when reviewing code for vulnerabilities, implementing auth patterns, securing APIs, configuring security headers, hardening supply chain, preventing injection attacks, or preparing for compliance audits.

Security272 installs

find-skills

oakoss/agent-skills

Discovers and installs agent skills from the open ecosystem. Enriches search results with descriptions fetched from skills.sh. Use when a user asks "how do I do X", "find a skill for X", "is there a skill that can...", or wants to extend agent capabilities. Use for skill discovery, skill search, skill install, finding tools.

AI & Agents256 installs

drizzle-orm

oakoss/agent-skills

Open the skill to read its SKILL.md instructions.

Data & Databases238 installs

Popular docs & writing skills

View category →

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.

Docs & Writing1.2M installs

lark-markdown

open.feishu.cn

飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。

Docs & Writing778.7K installs

writing-beats

mattpocock/skills

Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.

Docs & Writing490.7K installs

writing-shape

mattpocock/skills

Writing, exploit: shape raw material into an article, paragraph by paragraph.

Docs & Writing490.2K installs

writing-fragments

mattpocock/skills

Writing, explore: mine raw fragments, no structure yet.

Docs & Writing489.6K installs

writing-for-agents

mattpocock/skills

Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.

Docs & Writing479.3K installs