Pdf viewer
Agent skills — reusable prompt modules providing specialised domain knowledge
npx -y skills add eXodes/skills-workspace --skill pdf-viewerAssembled 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.
- 3 stars3 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 skill. Use when user wants to open, view, annotate, highlight, stamp, fill form fields, or sign a PDF with live visual feedback. Trigger phrases: "open this PDF", "show me this contract", "highlight the key terms", "help me fill out this form", "sign this", "stamp it APPROVED", "mark this CONFIDENTIAL", "add initials to each page", "walk me through this document". Also trigger when user provides a PDF path or arXiv URL alongside any visual/interactive intent. Do NOT trigger for pure summarization or text extraction (use native Read tool instead).
SKILL.md
3.5 KB, as published. Nobody here has run it
pdf-viewer
You have access to a local PDF server that renders documents in a live viewer and supports annotation, form-filling, and signature placement with real-time visual feedback.
Reference files
Load on demand — do not load all eagerly:
| File | What's in it | When to read |
|---|---|---|
references/view-pdf.md | Full tool API (display_pdf, interact), annotation types, coordinate system | Always read on activation — core reference |
references/open.md | Opening workflow, supported sources, when NOT to use viewer | When user just wants to open/view a document |
references/annotate.md | Collaborative annotation workflow, batch patterns, tips | When user wants to annotate, highlight, stamp, or mark up |
references/fill-form.md | Form-filling workflows (user-driven vs AI-assisted), unnamed field handling | When user wants to fill a form |
references/sign.md | Signature/initials placement workflow, coordinate tips | When user wants to sign or add initials |
Quick decision guide
| User intent | Action |
|---|---|
| "open" / "show" / "view" | display_pdf → offer next steps based on doc type |
| "annotate" / "highlight" / "stamp" / "mark up" | Read annotate.md |
| "fill" / "form" / "complete this form" | Read fill-form.md |
| "sign" / "initials" / "signature" | Read sign.md |
| "summarize" / "what does it say" / "extract" | Stop — use native Read tool, not viewer |
Core tools (summary)
list_pdfs— list available local PDFs. Call when no path given.display_pdf(url, page?, elicit_form_inputs?)— open document. ReturnsviewUUID(required for allinteractcalls) andformFieldsif PDF has fillable fields.interact(viewUUID, commands[])— all follow-up actions. Batch commands; end withget_screenshotto verify.
Full API detail in references/view-pdf.md.
Always
- Call
display_pdfonce per document. ReuseviewUUIDfor allinteractcalls. - Batch related commands in one
interactcall. - End annotation/form/sign batches with
get_screenshot— show result to user. - Remind user they can download annotated PDF from viewer toolbar when done.