# Analyze PDF

> Download and analyze PDF files from URLs or local paths — extract text, answer questions, summarize content. Use when analyzing, reading, or extracting information from a PDF.

- Skill: `kovrichard/analyze-pdf` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add kovrichard/analyze-pdf`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kovrichard/analyze-pdf/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- License: MIT
- Author: kovrichard (https://skillmd.com/u/kovrichard)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kovrichard/analyze-pdf

---


When the user asks to analyze, read, or extract information from a PDF:

## How to get the PDF

- **URL**: Use the `pdf-download` CLI tool to download and archive the PDF:
  ```bash
  pal cli skill run analyze-pdf pdf-download -- <url> [--filename <name.pdf>]
  ```
  The tool downloads the file, saves it to `memory/downloads/{YYYY}/{MM}/{DD}/{filename}.pdf`, and returns JSON with the saved `path`.

- **Local path**: Use the file directly.

## How to read it

Use your native PDF reading capability (e.g. a Read tool or equivalent). Most modern multimodal models can parse PDF content directly — no external dependencies, libraries, or conversion tools are needed.

Do NOT install PDF processing tools (poppler, pdftotext, etc.) unless the user explicitly asks. Native reading is sufficient.

### Fallback: when native Read fails

If the Read tool fails to open the PDF (e.g. error mentioning `pdftoppm`, missing renderer, or unsupported format), fall back to the text-extraction CLI:

```bash
pal cli skill run analyze-pdf pdf-read -- <path>
```

Use the stdout output as the document content and proceed with the user's request as normal.

If `pdf-read.ts` also fails, stop completely — report the exact errors from both attempts and ask the user how to proceed. Never infer PDF content from filename, metadata, or assumptions.

## What to do with it

Follow the user's request. Common tasks:

- **Answer a specific question** about the PDF content
- **Summarize** the document (defer to /summarize if installed)
- **Extract structured data** (tables, references, entities)
- **Extract wisdom** (defer to /extract-wisdom if installed)
- **Compare** with other documents or information

## Guidelines

- For large PDFs, read specific page ranges rather than the entire document
- Preserve the original structure (headings, lists, tables) when relevant
- Quote verbatim when the user asks about specific content
- If the PDF contains images or diagrams, describe them

