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 modiqo/skillspec --skill pdf-processinggit 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-processing)<a href="https://agentmods.dev/skills/modiqo/skillspec/pdf-processing"><img src="https://agentmods.dev/badge/skills/modiqo/skillspec/pdf-processing/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/modiqo/skillspec/pdf-processing"><img src="https://agentmods.dev/badge/skills/modiqo/skillspec/pdf-processing.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.00049 | $0.02700 |
| Opus 5.5 | $0.00020 | $0.01080 |
| Sonnet 5.5 | $0.00010 | $0.00540 |
| Haiku 4.5 | $0.00005 | $0.00270 |
Grade A, and why
pdf-processing 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 1mo 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
83% identical to generic-skill-creator — 23 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 — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PDF Processing SkillSpec
Structured representation of a multi-file PDF skill with references, code snippets, artifacts, and an ordered form-filling recipe.
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> -
Strip skill invocation prefixes such as
/my-skill,$my-skill, or/durable-executor-specbefore passing--input. -
Preserve the emitted trace
run_dir. -
Read the full phase plan and action checklist before using tools. Treat them as the active execution SOP, not as advice. The
PHASE TOOL BOUNDARY - HARDsection is the permission boundary for the next action. -
For each execution phase, run
skillspec act ./skill.spec.yml --input='<user task>' --run <run_dir> --phase <phase-id>before acting, record phase progress in<run_dir>/execution.jsonl, then runskillspec progress show ./skill.spec.yml --run <run_dir>to see completed, current, blocked, and remaining phases. -
Pull active details with
skillspec query ./skill.spec.yml <handle> --view summaryand relationship edges withskillspec refs ./skill.spec.yml <handle> --view summary. Prefer precise handles such asrule:<id>,rule:<id>.forbid,command:<id>.requires, andstate:<id>.nextover reading the whole spec. -
Before every substrate/tool call, apply the phase tool boundary and checklist allow/deny questions. Any unlisted tool, data source, execution substrate, provider, adapter, CLI, browser mode, API, or skill requires explicit user permission before use. The selected route and matched rules override lower-level skill defaults and generic tool preferences.
-
When the CLI is available after a trace exists, run
skillspec trace align ./skill.spec.yml --decision-trace <run_dir>and, when structured action evidence exists, add--execution-trace <run_dir>/execution.jsonl. The command writes<run_dir>/alignment.json; report the alignment status, meaning, model layers, evidence gaps, user-facing proof rows, summary, and trace path. -
If
skillspec plan,skillspec act, orskillspec progressis unavailable, fall back toskillspec decide, then manually construct the same ordered phase checklist and progress notes before using tools. If the CLI is unavailable, readskill.spec.ymldirectly and apply the same contract manually. Do not expand this loader into a second source of truth.
What ships with it
3 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.
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.
- 1mo ago First seen · 119 lines · 49 tokens per session scan A d3638fbf2b68
pdf-processing is a skill published in the GitHub repository modiqo/skillspec (707 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 49 tokens to every session and 2,700 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 83% identical to generic-skill-creator, differing in 23 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.
skill-doc-delivery
Convert markdown to DOCX, PPTX, XLSX, PDF office documents — use when you need exportable deliverables.
meta-web-to-pdf-briefing
Render a topic into a distributable PDF briefing in three steps: web search → bullet summary → styled PDF. Trigger when the user asks for a PDF briefing on a single topic.
chat-complex-documents
Chat with and search your complex documents — ask questions, extract tables and fields, and get answers grounded in the source. Connects the hosted Unstructured Transform MCP server to parse, structure, and enrich PDFs, Word/Excel/PowerPoint, images, scanned files, emails, and 60+ other formats into clean, AI-ready…
pkf-writing
Author, update, convert, validate, persist, and render PKF (.pkf) content through message-inline, Library Asset, or Memory Page carriers. Use for structured reports, knowledge pages, delivery cards, or any .pkf body. NOT for recall, memory-graph placement, or curation decisions — those belong to the memory skill.
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…