Skip to content

Guide · Agent skill

How to use the PDF Reader and Builder agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The pdf skill gives an AI agent the ability to read, extract from, create and edit PDF files by writing and running Python code in a sandbox. It is aimed at people who regularly pull tables or text out of PDF reports, need to merge, split, rotate or watermark files, or want a generated PDF report that includes Chinese, Japanese or Korean text. By the end of this guide you will know what the skill does, how to install it, how to phrase requests so the agent uses it, and what to check before running it on sensitive documents.

PDF Reader and BuilderHKUDS/DeepTutor · Apache-2.0

Quick start

  1. 1Download the skill. Download the ZIP for the pdf skill from this page.
  2. 2Unzip into a skills folder. Unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder.
  3. 3Or upload it in the apps. In the Claude apps, go to Settings → Capabilities → Skills and upload the skill.
  4. 4Confirm the sandbox. Check that you have a sandbox with shell and Python execution and the pdfplumber, pypdf, reportlab and openpyxl libraries.
  5. 5Upload your PDF. Attach the PDF you want to work on, or describe the file you want created.
  6. 6Ask in plain language. Say what you want, such as extracting tables to Excel or merging files, and the format you expect back.
  7. 7Review the output. Open the returned file and check the extracted data or generated layout before relying on it.

What the PDF skill makes the agent do

An agent skill is a folder with a SKILL.md file that tells the agent how to handle a certain kind of task. When this skill is active and you upload a .pdf or ask for one to be produced or edited, the agent writes complete Python source and runs it in the sandbox. It picks a library by task: pdfplumber for extracting text, tables and layout, pypdf for merging, splitting, rotating, cropping, watermarking, encrypting and filling forms, and reportlab for creating new PDFs.

  • Extract text and tables, including writing tables into an Excel workbook with one worksheet per table
  • Merge, split, rotate and crop pages, and read or set metadata
  • Watermark, encrypt and decrypt PDFs
  • Fill fillable (AcroForm) forms, or overlay text on flat forms
  • Create new PDFs with reportlab, including CJK-capable fonts

Install the PDF skill

You can install the skill in one of two ways. Download the ZIP from this page and unzip it into ~/.claude/skills/ for a personal install, or into a project's .claude/skills/ folder to share it with one project. Alternatively, upload the skill in the Claude apps under Settings → Capabilities → Skills.

The skill's folder contains SKILL.md. Make sure the folder is unzipped so that SKILL.md sits inside the skill folder, not nested one level deeper than expected.

  • Personal: unzip into ~/.claude/skills/
  • Per project: unzip into the project's .claude/skills/
  • Claude apps: Settings → Capabilities → Skills, then upload

Check the requirements before you start

The skill needs a sandbox with shell and Python execution. The source lists pdfplumber, pypdf, reportlab and openpyxl as preinstalled Python libraries. The skill's instructions tell the agent not to attempt pip install, so confirm these libraries are present in your environment.

For non-Latin text, the sandbox needs a TrueType CJK font on the system, such as wqy-zenhei. Without one, the agent is instructed to stop and tell you rather than produce a PDF full of empty boxes.

  • Sandbox with shell and Python execution
  • Python libraries: pdfplumber, pypdf, reportlab, openpyxl
  • For CJK text: a TrueType CJK font such as wqy-zenhei (OpenType/CFF fonts such as Noto Sans CJK are not supported by reportlab)

Trigger the skill with natural requests

You do not need special syntax. The skill is meant to activate whenever you upload a PDF or ask for one to be produced, edited or pulled apart. Say what you want done and name the file or the output you expect. Mention the format you want back, such as an Excel file or a single merged PDF, so the agent knows where to put the result.

  • Upload the PDF and ask: pull every table from this report into an Excel workbook
  • Ask: merge these three PDFs in the order I attached them
  • Ask: rotate page 1 of this scan 90 degrees clockwise
  • Ask: stamp DRAFT across every page of this file
  • Ask: make a one-page PDF report in Japanese from these notes

Common tasks and how the agent handles them

For tables, the agent uses pdfplumber's table extraction and can write each table to its own worksheet. If the table is messy, it can be told to use line-based strategies or to crop a region first. For plain text from large files, it may use pypdf because it is lighter. For reports you want generated, it builds a flowing document with reportlab so text paginates automatically.

If a PDF has no extractable text, the agent is instructed to say the page appears to be scanned and that it cannot recover the text, because no OCR engine is installed and network access is off. It will not invent the content.

Safety notes: scripts and network

This skill runs scripts. The agent writes Python and executes it on your files inside the sandbox. The skill does not use network access, according to its requirements, and the instructions forbid installing packages with pip during a task. Still, the code runs on your documents, so review what the sandbox can reach before you upload sensitive material, and do not use the skill on files you would not want processed by code you have not reviewed.

Encryption in the skill is applied with pypdf's standard calls. Choose passwords deliberately and keep the original file, since the skill writes new output files rather than changing the source.

  • Runs scripts: yes, Python executed in a sandbox
  • Uses network: no, so scanned PDFs cannot be OCR'd
  • Avoid sensitive files unless you have reviewed the sandbox

Tips for better results

Name the output you want and the order of operations. If you need a quantity preserved, such as a specific word count, say so and the agent is instructed to verify it. For CJK reports, state the language up front so the agent confirms a CJK font is available before generating the file.

Layouts that depend on desktop publishing will not match a designer's output, because reportlab's basic layout is used. For those, export or finish the document in a dedicated tool.

  • Say the output format and file name you expect
  • State the language for any CJK report
  • Expect basic layouts from generated PDFs

What people use it for

  • Pulling financial tables from quarterly PDF reports into an Excel workbook with one sheet per table
  • Merging several PDF attachments into a single file in a set order
  • Splitting a long PDF into one file per page
  • Stamping a DRAFT or CONFIDENTIAL watermark across every page of a document
  • Generating a bilingual or CJK-language PDF report with a tabled summary

Frequently asked questions

How do I install the PDF agent skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings → Capabilities → Skills.

What does the PDF skill need to run?

It needs a sandbox with shell and Python execution and the Python libraries pdfplumber, pypdf, reportlab and openpyxl. For Chinese, Japanese or Korean text it also needs a TrueType CJK font on the system, such as wqy-zenhei.

Can the PDF skill read scanned PDFs?

Not reliably. Scanned or image-only PDFs need an OCR engine, and none is installed in the skill's environment with network off, so the text cannot be recovered. The agent is instructed to say so rather than invent content.

Is the PDF skill free to use?

The source for this skill is licensed under Apache-2.0, which is shown on this page. Check the license text in the repository for the terms that apply to your use.

Why does my Chinese PDF show empty boxes?

The built-in reportlab fonts contain no CJK glyphs, so the text becomes boxes. The skill registers a TrueType CJK font first; if none is found on the host, it is instructed to stop rather than produce a broken file. Install a TrueType CJK font such as wqy-zenhei in the sandbox.

How does this compare with other PDF tools?

This skill is a good fit for extracting tables, merging, splitting, rotating and watermarking, and for simple generated reports. For highly designed layouts, use a desktop publishing tool, and for scanned documents use a tool that includes OCR.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use the pdf skill if you regularly pull tables or text out of PDF reports, need quick merge, split, rotate or watermark operations, or want generated reports with CJK text. Pick something else if your PDFs are scanned, if the documents are too sensitive to run code on in a sandbox you have not reviewed, or if you need polished desktop-publishing layouts.

Download the skill