Generated banner for View PDF
Generated logo for View PDF

View PDF

AnthropicOfficialPublished by Anthropic

  • Skill
  • Tool integration
  • Documents and content
  • Apache-2.0
  • No issues found

From the author

Interactive PDF viewer. Use when the user wants to open, show, or view a PDF and collaborate on it visually — annotate, highlight, stamp, fill form fields, place signature/initials, or review markup together. Not for summarization or text extraction (use native Read instead).
— the description by Anthropic

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The view-pdf skill provides an interactive interface for working with PDF documents. Unlike text-based extraction tools, this skill focuses on visual collaboration, allowing users to view, annotate, and modify documents in real-time. It supports a wide range of markup types, including highlights, stamps, and image-based signatures, making it ideal for tasks that require visual confirmation or manual form completion.

What it does

  • Opens local or remote PDF files in a live, interactive viewer.
  • Supports visual annotations like highlights, underlines, shapes, and sticky notes.
  • Enables interactive form filling with visual feedback.
  • Allows for the placement of image-based signatures or stamps.
  • Provides navigation, zooming, and search capabilities within the document.
  • Captures screenshots to verify and share annotation progress with the user.

When to use it

  • When you need to review a document visually with a user.
  • When a user needs to fill out a PDF form that requires visual guidance.
  • When you need to mark up a document with highlights, comments, or stamps.
  • When a user needs to place a signature or initials on a specific page.
  • When you want to walk a user through specific sections of a document.

Advantages

  • Provides live visual feedback for all document interactions.
  • Handles complex forms where field labels are visual rather than metadata-based.
  • Supports batching multiple annotation commands for efficient workflows.
  • Allows for precise placement of visual elements like signatures and stamps.
  • Integrates seamlessly with local file systems and direct HTTPS PDF links.

Usage examples

“Can you help me fill out this application form?”
The agent opens the PDF, identifies the form fields, asks the user for the necessary information, fills the fields, and provides a screenshot of the completed form for verification.
“Please review this contract and highlight the liability clauses.”
The agent opens the contract, searches for relevant text, highlights the clauses, and presents the annotated document to the user for review.
“I need to sign this document on the last page.”
The agent navigates to the final page, prompts the user for their signature image path, places the image as an annotation, and confirms the placement with a screenshot.
“Mark this document as DRAFT and add a note on page 2.”
The agent adds a 'DRAFT' stamp to the document and inserts a sticky note annotation on the specified page, then displays the updated view.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/anthropics/view-pdf/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip view-pdf.zip -d .agents/skills

Documentation by Anthropic

PDF Viewer — Interactive Document Workflows

You have access to a local PDF server that renders documents in a live viewer and lets you annotate, fill forms, and place signatures with real-time visual feedback.

When to use this skill

Use the PDF viewer when the user wants interactivity:

  • "Show me this contract" / "Open this paper"

  • "Highlight the key terms and let me review"

  • "Help me fill out this form"

  • "Sign this on page 3" / "Add my initials to each page"

  • "Stamp this CONFIDENTIAL" / "Mark this as approved"

  • "Walk me through this document and annotate the important parts"

Do NOT use the viewer for pure ingestion:

  • "Summarize this PDF" → use the native Read tool directly

  • "What does page 5 say?" → use Read

  • "Extract the table from section 3" → use Read

The viewer's value is showing the user the document and collaborating on markup — not streaming text back to you.

Tools

list_pdfs

List available local PDFs and allowed local directories. No arguments.

display_pdf

Open a PDF in the interactive viewer. Call once per document.

  • url — local file path or HTTPS URL

  • page — initial page (optional, default 1)

  • elicit_form_inputs — if true, prompts the user to fill form fields before displaying (use for interactive form-filling)

Returns a viewUUID — pass this to every interact call. Calling display_pdf again creates a separate viewer; interact calls with the new UUID won't reach the one the user is looking at.

Also returns formFields (name, type, page, bounding box) if the PDF has fillable fields — use these coordinates for signature placement.

interact

All follow-up actions after display_pdf. Pass viewUUID plus one or more commands. Batch multiple commands in one call via the commands array — they run sequentially. End batches with get_screenshot to verify changes visually.

Annotation actions:

  • add_annotations — add markup (see types below)

  • update_annotations — modify existing (id + type required)

  • remove_annotations — delete by id array

  • highlight_text — auto-find text by query and highlight it (preferred over manual rects for text markup)

Navigation actions:

  • navigate (page), search (query), find (query, silent), search_navigate (matchIndex), zoom (scale 0.5–3.0)

Extraction actions:

  • get_text — extract text from page ranges (max 20 pages). Use for reading content to decide what to annotate, NOT for summarization.

  • get_screenshot — capture a page as an image (verify your annotations)

Form action:

  • fill_form — fill named fields: fields: [{name, value}, ...]

Annotation Types

All annotations need id (unique string), type, page (1-indexed). Coordinates are PDF points (1/72 inch), origin top-left, Y increases downward. US Letter is 612×792pt.

TypeKey propertiesUse for
highlightrects, color?, content?Mark important text
underlinerects, color?Emphasize terms
strikethroughrects, color?Mark deletions
notex, y, content, color?Sticky-note comments
freetextx, y, content, fontSize?Visible text on page
rectanglex, y, width, height, color?, fillColor?Box regions
circlex, y, width, height, color?, fillColor?Circle regions
linex1, y1, x2, y2, color?Draw lines/arrows
stampx, y, label, color?, rotation?APPROVED, DRAFT, CONFIDENTIAL, etc.
imageimageUrl, x?, y?, width?, height?Signatures, initials, logos

Image annotations accept a local file path or HTTPS URL (no data: URIs). Dimensions auto-detected if omitted. Users can also drag & drop images directly onto the viewer.

Interactive Workflows

Collaborative annotation (AI-driven)
  1. display_pdf to open the document

  2. interact → get_text on relevant page range to understand content

  3. Propose a batch of annotations to the user (describe what you'll mark)

  4. On approval, interact → add_annotations + get_screenshot

  5. Show the user, ask for edits, iterate

  6. When done, remind them they can download the annotated PDF from the viewer toolbar

Form filling (visual, not programmatic)

Unlike headless form tools, this gives the user live visual feedback and handles forms with cryptic/unnamed fields where the label is printed on the page rather than in field metadata.

  1. display_pdf — inspect returned formFields (name, type, page, bounding box)

  2. If field names are cryptic (Text1, Field_7), get_screenshot the pages and match bounding boxes to visual labels

  3. Ask the user for values using the visual labels, or infer from context

  4. interact → fill_form, then get_screenshot to show the result

  5. User confirms or edits directly in the viewer

For simple well-labeled forms, display_pdf with elicit_form_inputs: true prompts the user upfront instead.

Signing (visual, not certified)
  1. Ask for the signature/initials image path

  2. display_pdf, check formFields for signature-type fields or ask which page/position

  3. interact → add_annotations with type: "image" at the target coordinates

  4. get_screenshot to confirm placement

Disclaimer: This places a visual signature image. It is not a certified or cryptographic digital signature.

Supported Sources

  • Local files (paths under client MCP roots)

  • arXiv (/abs/ URLs auto-convert to PDF)

  • Any direct HTTPS PDF URL (bioRxiv, Zenodo, OSF, etc. — use the direct PDF link, not the landing page)

Out of Scope

  • Summarization / text extraction — use native Read instead

  • Certified digital signatures — image stamping only

  • PDF creation — this works on existing PDFs only

Files

Requirements and compatibility

Written for: Claude Code, Claude apps

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Names Claude Code tools

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Anthropic
Publisher
Anthropic (Official)
Source
anthropics/knowledge-work-plugins · pdf-viewer/skills/view-pdf · commit e050c2e
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from pdf-viewer/LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Anthropic.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download view-pdf.zip