AGENT SKILL

view-pdf

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).

使用场景文档处理
License 许可
Apache-2.0
所属仓库
monoes/monomind
最近更新
2026-11-10
Stars
★ 23
Forks
2

01 前言 Front Matter

name
view-pdf
tags
[]
tools
[]
source
https://github.com/anthropics/knowledge-work-plugins
license
Apache-2.0
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).
source_path
pdf-viewer/skills/view-pdf
source_commit
8444efcd48f7012f09797778a36a33e73d0861f4

02 资源文件 1

03 SKILL.md 正文

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 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

04 同仓库更多 Skills

monoes
monoes/monomind

zk-steward

Org role guidance for a ZK steward: engineer zero-knowledge proof systems with circuit design, SNARK vs STARK choice and security review. This is zero-knowledge cryptography, not Zettelkasten note-taking.

★ 23
monoes
monoes/monomind

writing-plans

Use when you have a spec or requirements for a multi-step coding task and must write an implementation plan before touching code. Produces bite-sized TDD tasks with exact file paths, code and commands for an engineer with zero context.

内容创作者写作与文案
★ 23
monoes
monoes/monomind

write-spec

Write a feature spec or PRD from a problem statement or feature idea. Use when turning a vague idea or user request into a structured document, scoping a feature with goals and non-goals, defining success metrics and acceptance criteria, or breaking a big ask into a phased spec.

产品经理
★ 23
monoes
monoes/monomind

write-query

Write optimized SQL for your dialect with best practices. Use when translating a natural-language data need into SQL, building a multi-CTE query with joins and aggregations, optimizing a query against a large partitioned table, or getting dialect-specific syntax for Snowflake, BigQuery, Postgres, etc.

数据分析师
★ 23
monoes
monoes/monomind

workflow-automation

Org role guidance for workflow automation: build and maintain CI/CD definitions in GitHub Actions or equivalent: triggers, jobs, matrices, caching. Covers path filters, dependency caching, parallel jobs, timeouts and fail-fast ordering.

运维与部署Skill与智能体开发
★ 23
monoes
monoes/monomind

workflow-architect

Org role guidance for a workflow architect: map full workflow trees for systems, user journeys and agents, covering every branch and failure. Covers discovering workflows from code, handoff contracts, timeouts, recovery paths and observable state.

Skill与智能体开发
★ 23