Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/psd401/psd-claude-pluginsnpx agentmods add skills/psd401/psd-claude-plugins/pdf-builderWrote 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/psd401/psd-claude-plugins/pdf-builder)<a href="https://agentmods.dev/skills/psd401/psd-claude-plugins/pdf-builder"><img src="https://agentmods.dev/badge/skills/psd401/psd-claude-plugins/pdf-builder/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/psd401/psd-claude-plugins/pdf-builder"><img src="https://agentmods.dev/badge/skills/psd401/psd-claude-plugins/pdf-builder.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.00080 | $0.03649 |
| Opus 5.5 | $0.00032 | $0.01460 |
| Sonnet 5.5 | $0.00016 | $0.00730 |
| Haiku 4.5 | $0.00008 | $0.00365 |
Grade A, and why
pdf-builder 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 14d 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 — 300 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PDF Builder — PSD Branded Document Generator
Generate professional PDFs with Peninsula School District letterhead, Inter/Josefin Sans fonts, and Documenso-ready field manifests for digital signing workflows.
Quick Start
Using a Built-in Template
uv run generate_pdf.py --template <template-name> --data '<json>' --output ~/Downloads/doc.pdf
Using a Custom JSON Spec
uv run generate_pdf.py --json '<spec>' --output ~/Downloads/doc.pdf
# or
uv run generate_pdf.py --spec spec.json --output ~/Downloads/doc.pdf
Note: Output paths must be within the skill's
paths:scope (scripts/,references/,~/Downloads/,~/Desktop/).
Output
Every invocation produces:
- PDF file at the
--outputpath - Field manifest at
{output}.fields.json— Documenso-ready percentage coordinates - Stdout JSON:
{"pdf": "...", "manifest": "...", "pages": N, "fields": N}
Scripts
All scripts live in plugins/psd-productivity/skills/pdf-builder/scripts/.
| Script | Purpose |
|---|---|
generate_pdf.py |
Core PDF generator — takes JSON spec or template name |
letterhead.py |
Letterhead module — logo, colors, footer, continuation pages |
install_fonts.py |
One-time font setup — downloads Inter + Josefin Sans |
Runtime: All scripts use PEP 723 inline dependencies. Run with uv run.
First-Time Setup
Before first use, install fonts:
cd plugins/psd-productivity/skills/pdf-builder/scripts
uv run install_fonts.py
Fonts are stored in scripts/fonts/ (checked into repo). This only needs to run once.
Built-in Templates
| Template | Description | Signers |
|---|---|---|
permission-slip |
Student activity permission | 1 (parent) |
employment-agreement |
HR hiring document | 2 (employee + HR) |
contractor-agreement |
Vendor/contractor MOU | 2 (contractor + district) |
policy-acknowledgment |
Staff policy receipt | 1 (employee) |
field-trip-waiver |
Liability waiver + emergency info | 1 (parent) |
board-resolution |
Board action item | 2 (chair + secretary) |
leave-request |
Staff leave form | 3 (employee + supervisor + HR) |
generic-form |
Blank letterhead + title | Configurable |
What ships with it
10 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.
- references/coordinate-system.md 1.4 KB
- references/document-layouts.md 4.0 KB
- references/field-manifest-spec.md 2.9 KB
- references/n8n-integration.md 6.7 KB
- scripts/fonts/Inter-Bold.ttf 319 KB
- scripts/fonts/Inter-Regular.ttf 317 KB
- scripts/fonts/JosefinSans-Bold.ttf 56 KB
- scripts/generate_pdf.py 40 KB runs code
- scripts/install_fonts.py 2.0 KB runs code
- scripts/letterhead.py 13 KB runs code
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.
- 14d ago Changed · -1 lines 66f519c904be
- 1mo ago Changed a1d687fdeaaf
- 2mo ago First seen · 301 lines · 80 tokens per session scan A 5ed185f90f57
pdf-builder is a skill published in the GitHub repository psd401/psd-claude-plugins (2 stars, last pushed 9d ago), licensed MIT. It adds 80 tokens to every session and 3,649 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
patent-reader
A plain-language reader for Chinese patents that turns a publication number or PDF into notes, diagrams, and an Obsidian entry. Obsidian is a note-taking app that stores linked Markdown files.
software-copyright-materials
A workflow for creating Chinese application materials for software copyright registration from a real software project.
meta-pdf-reformat-pipeline
Modernize a legacy PDF: structural extraction → natural-language rewrite of problem pages → audit summary → re-merge into the final PDF.
ectd-xml-compiler
Automatically convert uploaded drug application documents (Word/PDF) into XML skeleton structure compliant with eCTD 4.0/3.2.2 specifications.
audit-export
Export the full CocoAudit trail as a stakeholder-ready compliance document.
diagramar-peca
Transforma qualquer peça já escrita (.md ou texto) em um PDF bem diagramado, com Legal Design simples — capa, destaques, citações em bloco, fundamentos e linha do tempo. Não altera o conteúdo, só a forma visual. Use quando quiser entregar uma petição, contrato, parecer ou notificação com aparência profissional e…