Skills anthropics knowledge-work-plugins
view-pdf
- Use it when:
- You want to look at a PDF together: mark up a contract, fill in a form, stamp it or place your signature.
- It does:
- Opens the PDF in an interactive viewer, proposes annotations, applies them once you agree and checks each change with a screenshot.
- You get:
- A marked-up or filled-in PDF that you download from the viewer's toolbar.
- Not for:
- Summarizing or extracting text, which it leaves to the agent's own Read tool.
- Signatures:
- Places an image of your signature or initials, not a certified or cryptographic digital signature.
- Opens:
- Local files, arXiv links and any direct HTTPS link to a PDF.
- Needs:
- The pdf-viewer plugin's local PDF MCP server, started with npx.
Needs the pdf-viewer plugin's local PDF server, @modelcontextprotocol/server-pdf, which the plugin starts with npx on Node.js 18 or later; the skill alone doesn't include it.
TL;DR
The skill of the pdf-viewer plugin from Anthropic's knowledge-work plugins. It drives a local PDF server through three tools: one lists available PDFs, one opens a document in a live viewer, and one does everything after that: annotating, navigating, searching, zooming, reading page text, taking screenshots and filling forms. Annotations include highlights, underlines, strikethroughs, sticky notes, visible text, boxes, circles, lines, stamps such as APPROVED or CONFIDENTIAL, and images for signatures, initials or logos. To annotate, it reads the relevant pages, tells you what it plans to mark, adds the batch once you approve and shows a screenshot to iterate on. To fill a form, it matches cryptic field names such as Text1 to the labels printed on the page, asks you for values by those labels and shows the result; simple, well-labelled forms can instead prompt you for every field up front. To sign, it asks for your signature image and places it on a signature field or where you say. It only works on existing PDFs and doesn't create new ones.
Summarizes the skill at ab4cb1c.
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill view-pdf skills.sh pageSource on GitHubAll skills from anthropics/knowledge-work-plugins
- Total Downloads
- 6,400 on skills.sh, Nov 9, 2026
- Repo stars
- 35,234 anthropics/knowledge-work-plugins
- First seen
- Mar 28, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 77 |
| Sep 28 | 52 |
| Oct 5 | 42 |
| Oct 12 | 50 |
| Oct 19 | 56 |
| Oct 26 | 49 |
| Nov 2 | 45 |
| Nov 9 | 51 |
| Category |
Office files, notes and suites like Lark and Google Workspace. |
|---|---|
| Type |
Operates a CLI, API, app or bundled script to get something done. |
| Effect |
Its own steps create or change files, git state or local tools. |
| Needs |
Needs an MCP server connected. |
| Publisher |
A verified publisher on skills.sh, or the company or maintainer behind the product the skill operates. |
| Topics |
SKILL.md
From anthropics/knowledge-work-plugins at ab4cb1c. Checked daily, last changed Nov 6, 2026.
Frontmatter
name: view-pdf
description: 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).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 URLpage— initial page (optional, default 1)elicit_form_inputs— iftrue, 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 arrayhighlight_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 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)
display_pdfto open the documentinteract→get_texton relevant page range to understand content- Propose a batch of annotations to the user (describe what you'll mark)
- On approval,
interact→add_annotations+get_screenshot - Show the user, ask for edits, iterate
- 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.
display_pdf— inspect returnedformFields(name, type, page, bounding box)- If field names are cryptic (
Text1,Field_7),get_screenshotthe pages and match bounding boxes to visual labels - Ask the user for values using the visual labels, or infer from context
interact→fill_form, thenget_screenshotto show the result- 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)
- Ask for the signature/initials image path
display_pdf, checkformFieldsfor signature-type fields or ask which page/positioninteract→add_annotationswithtype: "image"at the target coordinatesget_screenshotto 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