
View Pdf
Open PDFs in a live viewer with the agent to annotate, fill forms, stamp, and place signatures—not to extract or summarize text.
Overview
View PDF is an agent skill most often used in Build (also Validate, Operate) that opens PDFs in an interactive viewer for annotation, forms, and signatures—not text extraction.
Install
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill view-pdfWhat is this skill?
- Interactive local PDF server with live viewer and real-time markup feedback
- Annotate, highlight, stamp, fill form fields, and place signature or initials
- display_pdf: open once per document with optional initial page
- Explicit anti-pattern: do not use for summarization or text extraction—use native Read
- Collaborative review: walk through contracts and forms visually with the user
- 2 core tools documented (list_pdfs, display_pdf)
Adoption & trust: 3.5k installs on skills.sh; 19.6k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need to review or complete a PDF with the user visually, but chat-only Read cannot support highlights, stamps, signatures, or live form fill.
Who is it for?
Solo builders handling contracts, government forms, or research PDFs where collaborative markup and signing matter more than a quick summary.
Skip if: Summarize this PDF, what does page 5 say, or extract a table—those flows should use native Read per the skill’s own rules.
When should I use this skill?
User wants to open, show, or view a PDF and collaborate visually—annotate, highlight, stamp, fill forms, or place signature/initials—not summarization or extraction.
What do I get? / Deliverables
The PDF opens in the interactive viewer so you and the user annotate, fill, stamp, or sign with immediate visual confirmation on the correct pages.
- Opened interactive PDF session
- Applied annotations, stamps, or signatures
- Filled form fields with user-reviewed markup
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Listed under Build/agent-tooling because the skill extends the agent with interactive PDF server tools; legal and ops review also appear in validate and operate. Agent-tooling captures local PDF server tools (list_pdfs, display_pdf) and collaborative markup workflows distinct from native Read ingestion.
Where it fits
Walk through a vendor contract in the viewer while highlighting obligations before you commit to build scope.
Open a spec PDF once with display_pdf and annotate sections the implementation must match.
How it compares
Interactive PDF collaboration skill—not a replacement for Read-based summarization or bulk text ingestion pipelines.
Common Questions / FAQ
Who is view-pdf for?
Builders and operators using Claude with knowledge-work plugins who need visual PDF review, form fill, stamps, and signatures with the agent.
When should I use view-pdf?
When the user says show or open a PDF and wants to highlight, fill forms, sign, or stamp; in Validate for contract walkthroughs; in Operate for operational forms—not for summarize or extract text.
Is view-pdf safe to install?
It runs a local PDF server and accesses allowed directories—review the Security Audits panel on this Prism page and limit paths for sensitive contracts.
SKILL.md
READMESKILL.md - View Pdf
# 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. | Type | Key properties | Use for | |------|----------------|---------| | `highlight` | `rects`, `color?`, `content?` | Mark important text | | `underline` | `rects`, `color?` | Emphasize terms | | `strikethrough` | `rects`, `color?` | Mark deletions | | `note` | `x`, `y`, `content`, `color?` | Sticky-note comments | | `freetext` | `x`, `y`, `content`, `fontSize?` | Visible text on page | | `rectangle` | `x`, `y`, `width`, `height`, `color?`, `fillColor?` | Box regions | | `circle` | `x`, `y`, `width`, `height`, `color?`, `fillColor?` | Circle regions | | `line` | `x1`, `y1`, `x2`, `y2`, `color?` | Draw lines/arrows | | `stamp` | `x`, `y`, `label`, `color?`, `rotation?` | APPROVED, DRAFT, CONFIDENTIAL, etc. | | `image` | `imageUrl`, `x?`, `y?`, `width?`, `height?` | **Signatures, initials**, logos | **Image annotations** a