Skip to content
Skill

pdf

by anthropics

AI Summary

A PDF processing skill that enables users to read, extract, merge, split, and manipulate PDF files through an AI coding assistant. Developers and business users benefit from automated PDF workflows without writing complex code.

Install

Copy this and paste it into Claude Code, Cursor, or any AI assistant:

I want to install the "pdf" skill in my project.

Please run this command in my terminal:
# Install skill into your project (12 files)
mkdir -p .claude/skills/pdf && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/SKILL.md "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/SKILL.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/LICENSE.txt "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/LICENSE.txt" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/forms.md "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/forms.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/reference.md "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/reference.md" && mkdir -p .claude/skills/pdf/scripts && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/scripts/check_bounding_boxes.py "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/scripts/check_bounding_boxes.py" && mkdir -p .claude/skills/pdf/scripts && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/scripts/check_fillable_fields.py "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/scripts/check_fillable_fields.py" && mkdir -p .claude/skills/pdf/scripts && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/scripts/convert_pdf_to_images.py "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/scripts/convert_pdf_to_images.py" && mkdir -p .claude/skills/pdf/scripts && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/scripts/create_validation_image.py "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/scripts/create_validation_image.py" && mkdir -p .claude/skills/pdf/scripts && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/scripts/extract_form_field_info.py "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/scripts/extract_form_field_info.py" && mkdir -p .claude/skills/pdf/scripts && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/scripts/extract_form_structure.py "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/scripts/extract_form_structure.py" && mkdir -p .claude/skills/pdf/scripts && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/scripts/fill_fillable_fields.py "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/scripts/fill_fillable_fields.py" && mkdir -p .claude/skills/pdf/scripts && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/pdf/scripts/fill_pdf_form_with_annotations.py "https://raw.githubusercontent.com/anthropics/skills/main/skills/pdf/scripts/fill_pdf_form_with_annotations.py"

Then restart Claude Code (or reload the window in Cursor) so the skill is picked up.

Description

Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.

Overview

This guide covers essential PDF processing operations using Python libraries and command-line tools. For advanced features, JavaScript libraries, and detailed examples, see REFERENCE.md. If you need to fill out a PDF form, read FORMS.md and follow its instructions.

Quick Start

`python from pypdf import PdfReader, PdfWriter

Read a PDF

reader = PdfReader("document.pdf") print(f"Pages: {len(reader.pages)}")

Extract text

text = "" for page in reader.pages: text += page.extract_text() `

Discussion

0/2000
Loading comments...

Health Signals

MaintenanceCommitted Today
Active
Adoption1K+ stars on GitHub
117.3k ★ · Popular
DocsREADME + description
Well-documented

GitHub Signals

Stars117.3k
Forks13.5k
Issues693
UpdatedToday
View on GitHub
No License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Claude Code