Skip to content
velonx*SKILLS

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

coming soonVelonx CLI:velonx install pdf-analysis
  1. Get the skill folder

    git clone --depth 1 https://github.com/velonx/agent-skills.git
    The skill is agent-skills/skills/pdf-analysis/. Or open it on GitHub and download the files.
  2. 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.
  3. 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

  1. 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
    
  2. Extract text per page and keep page numbers attached to every chunk.
  3. Tables: use page.extract_tables(); check headers and merged cells by eye against the page; export to CSV if asked.
  4. Field extraction (invoices, forms, statements): define the fields up front, extract each with its page number, and return JSON. Leave a field null rather than guessing.
  5. Answer or summarise with citations like (p. 7). For long documents summarise per section first, then overall.
  6. 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

GenericClaudeOpenAIGeminiCursor
  • File access to the PDF. Python with pdfplumber (or pypdf) improves table extraction; OCR needs tesseract.

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.