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 agentmods add skills/modiqo/skillspec/pdfnpx skills add modiqo/skillspec --skill pdfgit clone --depth 1 https://github.com/modiqo/skillspecWrote 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/modiqo/skillspec/pdf)<a href="https://agentmods.dev/skills/modiqo/skillspec/pdf"><img src="https://agentmods.dev/badge/skills/modiqo/skillspec/pdf.svg" alt="Measured on agentmods" 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 | $0.00177 | $0.03134 |
| Opus 5 | $0.00088 | $0.01567 |
| Sonnet 5 | $0.00035 | $0.00627 |
| Haiku 4.5 | $0.00018 | $0.00313 |
Grade A, and why
anthropic-pdf 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 4d 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.
This is a copy
89% identical to generic-skill-creator — 22 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 132 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SkillSpec port of Anthropic's PDF skill for reading, extracting, merging, splitting, rotating, watermarking, creating, filling, encrypting, decrypting, image extraction, and OCR workflows.
Entry Gate
- Before any task action, run
skillspec plan ./skill.spec.yml --input='<user task>' --trace-dir "${PWD}/.skillspec/traces", preserve the printedrun_dir, then runskillspec act ./skill.spec.yml --input='<user task>' --run <run_dir> --phase <phase-id>, and read the ordered phase plan plus current-route action checklist. - Until that plan and checklist are read, the only allowed actions are loading this
SKILL.md, loading the colocatedskill.spec.yml, and running SkillSpec navigation or decision commands for this spec. - The selected route and matched rules in the checklist override lower-level skill defaults. If a tool is forbidden, stop and report that the SkillSpec blocks it.
- After each phase action, record structured progress in
<run_dir>/execution.jsonland runskillspec progress show ./skill.spec.yml --run <run_dir>before moving to the next phase. - Forbidden before the decision: execute_pdf_snippet_without_route, fill_form_without_checking_fillable_fields, overwrite_input_pdf, use_unicode_subscripts_superscripts_in_reportlab.
This skill is a thin loader for the colocated skill.spec.yml. The spec is the source of truth for routes, rules, dependencies, imports, resources, recipes, tests, and trace requirements. Do not treat the spec as background prose; treat it as the execution contract for this task.
Runtime Contract
-
Load
./skill.spec.ymlfrom this skill folder before taking task actions. -
When the
skillspecCLI is available and the spec shape is unfamiliar, runskillspec sensemake ./skill.spec.yml --view indexto learn the section roles, counts, query handles, and navigation grammar without dumping the full YAML. -
Then create the ordered phase plan and current-route action checklist:
skillspec plan ./skill.spec.yml --input='<user task>' --trace-dir "${PWD}/.skillspec/traces" skillspec act ./skill.spec.yml --input='<user task>' --run <run_dir> --phase <phase-id>
What ships with it
13 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- skill.spec.yml 34 KB
- source/forms.md 12 KB
- source/LICENSE.txt 1.4 KB
- source/reference.md 16 KB
- source/scripts/check_bounding_boxes.py 2.7 KB runs code
- source/scripts/check_fillable_fields.py 268 B runs code
- source/scripts/convert_pdf_to_images.py 1008 B runs code
- source/scripts/create_validation_image.py 1.2 KB runs code
- source/scripts/extract_form_field_info.py 4.2 KB runs code
- source/scripts/extract_form_structure.py 3.9 KB runs code
- source/scripts/fill_fillable_fields.py 3.7 KB runs code
- source/scripts/fill_pdf_form_with_annotations.py 3.2 KB runs code
- source/SKILL_md.old 7.9 KB
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.
- 4d ago First seen · 132 lines · 177 tokens per session scan A 68f3fd51da30
anthropic-pdf is a skill published in the GitHub repository modiqo/skillspec (739 stars, last pushed 25d ago), licensed Apache-2.0. It adds 177 tokens to every session and 3,134 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to generic-skill-creator, differing in 22 lines, and is treated as a copy.
Other skills, from other repositories
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.
paddleocr-doc-parsing
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as LaTeX, figures, seals, charts, headers/footers, multi-column layout and correct reading order. Trigger terms: 文档解析, 版面分析, 版面还原, 表格提取, 公式识别, 多栏排版, 扫描件结构化, 发票, 财报, 复杂 PDF, PDF转Markdown, 图表…
paper-reader
Use when user asks to "read paper", "analyze paper", "summarize paper", "读论文", "分析文献", "帮我看一下这篇paper", "论文笔记", or provides a PDF file that appears to be an academic paper. Specialized for CV/DL papers. Also supports Zotero integration: "读一下这篇论文 ...", "快速看一下这篇论文 ...", "批判性分析这篇论文 ...", "读一下 Zotero 里的 XXX", "批量读一下 Zotero…
citra
Skill "citra" from SylphxAI/pdf-reader-mcp, covering citra — pdf evidence for agents, install, or, tools and sdk.
graphic-ebook
Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF. 3–10 pages, 9 style presets, 11 page layout types. Trigger when user says "create an ebook", "design a lead magnet", "make a PDF guide", "build a gated content piece", "write a B2B ebook", "design a white paper", "create a…
larksnap-fetch
把飞书/Lark 文档或普通网页抓取并保存到本地,也能编辑用户有权限的飞书文档,并用已登录浏览器执行一次网页搜索。用户要求下载、导出、抓取、写入飞书文档,或联网搜索资料/参考链接时使用本技能,即使没有提到 larksnap。底层通过技能自带 daemon 桥接已登录的 larksnap 浏览器扩展;arXiv 使用独立脚本。.