Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Open-Document-Alliance/PDF-Tools --skill pdf-formsgit clone --depth 1 https://github.com/Open-Document-Alliance/PDF-ToolsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/open-document-alliance/pdf-tools/pdf-forms)<a href="https://agentmods.dev/skills/open-document-alliance/pdf-tools/pdf-forms"><img src="https://agentmods.dev/badge/skills/open-document-alliance/pdf-tools/pdf-forms/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/open-document-alliance/pdf-tools/pdf-forms"><img src="https://agentmods.dev/badge/skills/open-document-alliance/pdf-tools/pdf-forms.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00037 | $0.00615 |
| Opus 5.5 | $0.00015 | $0.00246 |
| Sonnet 5.5 | $0.00007 | $0.00123 |
| Haiku 4.5 | $0.00004 | $0.00061 |
Grade A, and why
pdf-forms scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 16d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 57 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PDF Forms
Use the configured pdf-forms MCP server. This is the hosted five-tool edition,
not the full local PDF Tools application. It provides no local file access,
viewer, saved profiles, extraction workspace, or Lumin signing.
Supply and return the PDF
Each call requires the PDF as pdf_url or pdf_base64, never both. Only send a
document the user has supplied for this task and knows will be processed by the
hosted service. Never upload a private document to another service to obtain a
public URL. Do not invent document URLs, field values, or attachment access.
If the host cannot provide the PDF bytes or an authorized URL, explain that
limitation and request a supported input. Do not claim to have opened it.
Inline input is limited to 3 MB, fetched PDFs to 25 MB, and documents to 200 pages. Returned PDFs are inline base64, with host transfer limits. Encrypted PDFs are refused. PDF Tools does not store the documents; content returned to the assistant is governed by the host's data terms.
Use the host's supported file-output mechanism for returned PDF bytes. Never present base64 as a download link or invent a file. If the host cannot produce an accessible output file, state that the output handoff is unsupported.
Fill and verify
- Call
read_form_fieldsand use exact field names from its result. - Ask for missing values. Do not guess what a coded field represents.
- Call
fill_formwith only the user's supplied values. - Check both
filledandnot_filled, and read back the returned PDF to confirm its field values. Report every unfilled or unsupported field. - Never claim the form is complete, accurate, legally valid, or ready to submit just because filling succeeded.
Signature stamps
Call detect_signature_zones first and preserve its top-left coordinates.
Before apply_signature, obtain the person's name and their own statement
confirming intent to apply the visible stamp. Preserve the exact statement and
the time of their actual confirmation. Never invent either required field.
The statement must be recent, and an earlier unrelated approval is not consent.
Clearly explain that a visible stamp is not a cryptographic signature or a
Lumin signing request. A request to inspect or fill is not permission to sign.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 16d ago First seen · 57 lines · 37 tokens per session scan A 96ce5ad50e9b
pdf-forms is a skill published in the GitHub repository Open-Document-Alliance/PDF-Tools (158 stars, last pushed 2d ago), licensed MIT. It adds 37 tokens to every session and 615 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-07.
Other skills, from other repositories
utility-slideshow-creator
Generates professional presentations from a JSON deck specification using 18 slide types with dark/light variants, content-to-layout decision logic, and calibrated character limits. Ships with a default professional theme.
pdf-it
Convert a Claude session, research artifact, or markdown blob into a designed PDF: cover page, auto-generated table of contents, styled body, page-numbered footer. One tool call.
doc-summarize
Summarizes a long document, PDF, transcript, or report into a clear one-page brief with the key takeaways, notable quotes, and any action items. Use when the user asks to summarize, TLDR, give me the short version of, or digest a document. Works on files in the project folder or uploaded directly.
apify-youtube-transcript-scraper
Get YouTube captions, timestamped quotations, SRT/VTT and translated transcripts for videos, channels and playlists through the harshmaur/youtube-transcript-scraper Apify Actor.
foundry-hosted-agent-validation
Step-by-step process for validating a Python Foundry hosted agent sample (under python/samples/04-hosting/foundry-hosted-agents/) end to end — running it locally (native runtime and azd ai agent run) and after deploying it to an Azure AI Foundry project with azd. Use this when asked to validate a hosted agent sample.
skill-doc-delivery
Convert markdown to DOCX, PPTX, XLSX, PDF office documents — use when you need exportable deliverables.