View pdf
Welcome to the skill-jam βοΈπ
npx -y skills add VRIL-LABS/skill-jam --skill view-pdfAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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).
SKILL.md
6.1 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
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
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.