# Process PDF Documents

PDF work often requires careful extraction, conversion, and form handling. This skill gives Claude, Codex, and Claude Code practical workflows for processing PDFs with local tools.

## Install

```bash
npx skillstore add anthropics/pdf
```

## Metadata

- Status: approved
- Slug: pdf
- Skillstore revision: r1
- Version status: missing
- Tree hash: aa2aeb55b9d375fe8b0d8b2760e7bb05db2f17414378c564efffbdfb358ac79f
- Author: anthropics
- GitHub username: anthropics
- License: Proprietary. LICENSE.txt has complete terms
- Repository: https://github.com/anthropics/skills/tree/main/skills/pdf
- Ref: 0519034dad657fb1f7706e0550e962beeda73fdf
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, filesystem, network
- Quality score: 78
- Quality tier: bronze
- Public page: https://skillstore.pages.dev/skills/pdf
- Manifest: https://skillstore.pages.dev/api/skills/pdf/manifest

## Capabilities

- Extract text and tables from PDFs with pypdf, pdfplumber, PDF.js, or command-line tools.
- Create new PDFs with ReportLab or pdf-lib examples.
- Merge, split, rotate, crop, watermark, encrypt, and repair PDF files.
- Detect fillable form fields and generate field metadata for validation.
- Fill fillable PDF fields or add text annotations to non-fillable forms.
- Convert PDF pages to images for visual review and bounding box validation.

## Use Cases

- Prepare Filled Forms: Detect form fields, map user data to valid fields, validate results, and create a completed PDF.
- Extract Structured Data: Pull text, tables, annotations, and coordinates from reports for review or downstream analysis.
- Automate Document Assembly: Merge, split, rotate, watermark, encrypt, or create PDFs as part of repeatable workflows.

## Prompt Templates

### Extract PDF Text

```
Use the pdf skill to extract readable text from document.pdf. Tell me which tool you used and save the result as document.txt.
```

### Merge Selected Documents

```
Use the pdf skill to merge cover.pdf, report.pdf, and appendix.pdf into final-package.pdf. Preserve the order I listed.
```

### Fill a Form Safely

```
Use the pdf skill to fill application.pdf with the values in answers.txt. First check whether it has fillable fields, then validate the completed output.
```

### Build a Batch Extraction Workflow

```
Use the pdf skill to design a local workflow that extracts tables from every PDF in ./reports and writes one spreadsheet per source file. Include validation steps for failed pages.
```

## Limitations

- Requires local Python libraries or command-line tools to be installed before workflows can run.
- Scanned PDFs need OCR, and OCR quality depends on image clarity and language support.
- Form filling accuracy depends on correct field IDs, page numbers, and bounding boxes.
- The skill does not bypass document permissions or recover unknown passwords.

## Best Practices

- Run helper scripts in a dedicated working directory with trusted input PDFs.
- Inspect generated PDFs visually before sending them to another person or system.
- Keep original source PDFs unchanged and write outputs to clearly named new files.

## Anti Patterns

- Do not run batch operations across directories that contain unrelated private documents.
- Do not assume scanned PDFs contain machine-readable text without OCR verification.
- Do not submit form values before validating field IDs, page numbers, and output appearance.

## Security Audit

- Audited at: 2026-07-09T11:56:29.253\+00:00
- Summary: The confirmed findings are expected local filesystem reads, writes, and directory matching used for PDF processing workflows. Backtick, network, and system reconnaissance alerts are false positives from Markdown, comments, template strings, or field names; no prompt injection, subprocess execution, or real network access was found.

## Stats

- Views: 284
- Downloads: 148
- Favorites: 4
- Popularity score: 0
