PDF Analysisv1.0.0featured
Extract text, tables and specific fields from PDF documents and answer questions about them with page references. Use when the user shares a PDF or asks to summarise a report, pull numbers from an invoice or statement, extract tables, or compare PDFs.
- Author
- Velonx
- License
- MIT
- Updated
- Sep 25, 2026
Overview
Turns PDFs into answers: summaries with page citations, structured field extraction, and clean tables — while being explicit about pages that couldn't be read (scans, images, broken encoding).
When to Use
- "Summarise this PDF", "what does page 12 say about…", "pull the totals from these invoices"
- Extracting tables to CSV, comparing two versions of a contract or report.
Installation
velonx install pdf-analysisGet the skill folder
The skill isgit clone --depth 1 https://github.com/velonx/agent-skills.gitagent-skills/skills/pdf-analysis/. Or open it on GitHub and download the files.Give SKILL.md to your agent as instructions
Add it to the system prompt, custom instructions or rules file your agent reads. Keep the rest of the folder next to it if the skill refers to examples or scripts.Ask for the task in your own words
The agent follows the skill when your request matches it. You can also name it: “use pdf-analysis”.
Get the skill folder
The skill isgit clone --depth 1 https://github.com/velonx/agent-skills.gitagent-skills/skills/pdf-analysis/. Or open it on GitHub and download the files.Claude Code: copy it into a skills folder
Usecp -R agent-skills/skills/pdf-analysis ~/.claude/skills/.claude/skills/inside a project instead to share it with your team through git.Claude apps: upload it
Zip the folder and upload it under Settings → Capabilities → Skills.Ask for the task in your own words
The agent follows the skill when your request matches it. You can also name it: “use pdf-analysis”.
Get the skill folder
The skill isgit clone --depth 1 https://github.com/velonx/agent-skills.gitagent-skills/skills/pdf-analysis/. Or open it on GitHub and download the files.ChatGPT: add it to a GPT or project
PasteSKILL.mdinto the instructions, and upload files from the folder as knowledge if the skill uses them.API: send it as instructions
UseSKILL.mdas the system / developer message, or as agent instructions in your SDK.Ask for the task in your own words
The agent follows the skill when your request matches it. You can also name it: “use pdf-analysis”.
Get the skill folder
The skill isgit clone --depth 1 https://github.com/velonx/agent-skills.gitagent-skills/skills/pdf-analysis/. Or open it on GitHub and download the files.Gemini app: create a Gem
PasteSKILL.mdinto the Gem’s instructions.Gemini CLI or API
Add the contents to your project’sGEMINI.md, or pass it as thesystem_instructionin the API.Ask for the task in your own words
The agent follows the skill when your request matches it. You can also name it: “use pdf-analysis”.
Get the skill folder
The skill isgit clone --depth 1 https://github.com/velonx/agent-skills.gitagent-skills/skills/pdf-analysis/. Or open it on GitHub and download the files.Add it as a project rule
Create.cursor/rules/pdf-analysis.mdcand paste the body ofSKILL.md. Use the skill’s description as the rule description so the agent applies it when relevant.Keep the folder in your repo
Only needed if the skill refers to examples or scripts.Ask for the task in your own words
The agent follows the skill when your request matches it. You can also name it: “use pdf-analysis”.
Agents move these settings between versions — if a path doesn’t match, check your agent’s docs.
Usage
- Inspect first: page count, whether text is extractable, and which pages are scanned images. With Python:
import pdfplumber with pdfplumber.open(path) as pdf: for i, page in enumerate(pdf.pages, 1): text = page.extract_text() or "" print(i, len(text)) # ~0 chars → likely scanned; needs OCR - Extract text per page and keep page numbers attached to every chunk.
- Tables: use
page.extract_tables(); check headers and merged cells by eye against the page; export to CSV if asked. - Field extraction (invoices, forms, statements): define the fields up front, extract each with its page number, and return JSON. Leave a field
nullrather than guessing. - Answer or summarise with citations like
(p. 7). For long documents summarise per section first, then overall. - Report gaps: list pages that were scanned/unreadable and whether OCR was used.
Examples
Prompt: "Get invoice number, date, vendor and total from these 20 PDFs into a CSV."
See examples/invoice-fields.md for the field spec and output format.
Requirements & compatibility
Your agent needs
- Read and write local files
- Run code (e.g. Python)
Environment: Works best with Python 3.10+ and pdfplumber or pypdf available; falls back to the agent's built-in PDF reading.
Written for
- File access to the PDF. Python with
pdfplumber(orpypdf) improves table extraction; OCR needstesseract.
Limitations
- Scanned PDFs need OCR, which introduces errors — numbers from OCR should be double-checked.
- Complex layouts (multi-column, rotated tables) may extract out of order.
- Password-protected PDFs require the user to unlock them first.
Files
Changelog
- 1.0.0 — Initial release.
Contributing
This skill lives in velonx/agent-skills. Improvements go through a pull request, reviewed by maintainers.