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 canvora/canvora-mcp --skill pdf-documentgit clone --depth 1 https://github.com/canvora/canvora-mcpWrote 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/canvora/canvora-mcp/pdf-document)<a href="https://agentmods.dev/skills/canvora/canvora-mcp/pdf-document"><img src="https://agentmods.dev/badge/skills/canvora/canvora-mcp/pdf-document/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/canvora/canvora-mcp/pdf-document"><img src="https://agentmods.dev/badge/skills/canvora/canvora-mcp/pdf-document.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.00065 | $0.01060 |
| Opus 5.5 | $0.00026 | $0.00424 |
| Sonnet 5.5 | $0.00013 | $0.00212 |
| Haiku 4.5 | $0.00006 | $0.00106 |
Grade A, and why
pdf-document 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 3d 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 — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Multi-page documents and PDFs
Canvora has a dedicated document mode: document_page runs through the
structured pipeline with print layout rather than slide layout: margins,
reading order and typography built for a page, not a screen. This is the
format behind "make me a brochure / report / company profile / proposal /
menu / catalog / lead magnet". Nobody guesses the ID, so you have to know it.
The generate loop and credits: see the canvora skill.
Format map
| Want | Format | Notes |
|---|---|---|
| A multi-page document of any kind | document_page |
3:4, 816×1056 (US Letter portrait). Carousel format: slides = pages. 15 credits per page. |
| A single-page one-pager | one_pager |
816×1056, single image, 10 credits |
| An exec summary page | executive_summary |
816×1056 |
| A cheat sheet / reference card | cheat_sheet |
816×1056 |
| A worksheet / workbook page | worksheet |
3:4 1200×1600 |
| An ebook / report cover | ebook_cover |
3:4 1600×2133 |
| A visual mind map | mind_map |
4:3 1600×1200 |
Rule: more than one page → document_page with a page count. Exactly one
page → the specific single-page format. Cover + pages → ebook_cover together
with document_page in the same request.
Intake
- What is the document? (brochure, report, proposal, menu, profile…): this goes into the brief verbatim; the pipeline uses it to pick the layout language.
- How many pages? If unknown: brochure 4, company profile 6, report 8, menu 2. Max 10 per run; for longer, run consecutive generations.
- Source? The user's own copy or a document's text (include it in full), a public URL, or a topic.
- Brand kit? Documents are where an off-brand result is most obvious:
brand_id+embed_logo: true.
The canonical runs
chat messages:
Create a 6-page company brochure (document_page), corporate style, from this copy: [their copy]
Create a lead magnet: an ebook_cover plus 4 document_page pages on "The 2026 SEO audit checklist for small e-commerce stores", ending on a CTA page.
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.
- 3d ago Changed · -23 lines ca3504c2bb6b
- 2mo ago First seen · 114 lines · 65 tokens per session scan A d2b893f82cd5
pdf-document is a skill published in the GitHub repository canvora/canvora-mcp (1 stars, last pushed 4d ago), licensed MIT. It adds 65 tokens to every session and 1,060 once invoked, about $0.0003 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-08-31.
Other skills, from other repositories
Use this skill whenever the user mentions a PDF file or asks to produce/edit one. For read-only tasks such as reading, summarizing, extracting plain text, or answering questions from a PDF, follow this skill's read-only routing rules: use the built-in Read tool first, do not write code or scripts, and prefer…
save-as-pdf
Reformat the current HTML design into a paginated, paper-ready PDF. The "Instant" export already gives the user a PDF at the design's native pixel size — this path is for when they want real pages.
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and…
docs-artifact
Use when creating, editing, or reviewing a document for the user (Word, Google Docs, or a document delivered as PDF), or when the task calls for a standalone written deliverable such as a memo, report, proposal, or brief. Also use to answer questions that require inspecting an existing document; not for a short chat…
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.
form-filling
Fill out online forms (Google Forms, Typeform and similar) or PDF, Word and DocuSign forms; prepare a reviewable draft and get approval before submitting or sending.