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 darellchua2/opencode-config-template --skill pdf-specialist-skillgit clone --depth 1 https://github.com/darellchua2/opencode-config-templateWrote 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/darellchua2/opencode-config-template/pdf-specialist-skill)<a href="https://agentmods.dev/skills/darellchua2/opencode-config-template/pdf-specialist-skill"><img src="https://agentmods.dev/badge/skills/darellchua2/opencode-config-template/pdf-specialist-skill/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/darellchua2/opencode-config-template/pdf-specialist-skill"><img src="https://agentmods.dev/badge/skills/darellchua2/opencode-config-template/pdf-specialist-skill.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.00043 | $0.05140 |
| Opus 5 | $0.00022 | $0.02570 |
| Sonnet 5 | $0.00009 | $0.01028 |
| Haiku 4.5 | $0.00004 | $0.00514 |
Grade B, and why
pdf-specialist-skill scanned grade B with 1 finding 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 5d 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.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
sudo apt-get install poppler-utils qpdf pdftk How it starts
The opening of the file, as written. The whole thing — 733 lines — stays where its author put it; the contents beside it link to each section on GitHub.
What I do
- Extract text and tables from PDFs using pypdf, pdfplumber, or command-line tools (pdftotext)
- Merge, split, and manipulate PDF files (rotate pages, add watermarks, encrypt/decrypt)
- Fill PDF forms (fillable fields via pypdf, non-fillable via text annotations)
- Convert PDFs to images and extract embedded images using poppler-utils
- Create new PDFs from scratch using reportlab (professional reports, tables, complex layouts)
- Perform OCR on scanned PDFs using pytesseract to make them searchable
When to use me
Use me when you need to work with PDF files:
- PDF manipulation: Merge multiple PDFs, split into single pages, rotate pages, add watermarks
- Text/table extraction: Extract text from digital PDFs, extract tabular data as structured data
- PDF creation: Generate new PDFs from scratch, create reports with tables and formatting
- Form filling: Fill fillable PDF forms or add text annotations to non-fillable forms
- Image operations: Convert PDF pages to images, extract embedded images, create validation images with field overlays
- OCR processing: Make scanned PDFs searchable by performing optical character recognition
- Encryption: Add password protection to PDFs or decrypt password-protected files
- Metadata handling: Read or modify PDF metadata (title, author, subject, creator)
Do NOT use me when:
- Primary deliverable is a Word document (.docx)
- Primary deliverable is a spreadsheet (Excel, CSV)
- Task is general coding unrelated to PDF processing
Prerequisites
Required Tools
- LibreOffice (for PDF conversion tasks)
- Automatically configured by
scripts/soffice.pyon first run - Handles sandboxed environments with Unix socket restrictions
- Automatically configured by
Python Libraries
- pypdf: Basic PDF operations (merge, split, rotate, metadata, encryption)
- pdfplumber: Advanced text and table extraction with precise coordinates
- reportlab: Create new PDFs from scratch with professional formatting
- pypdfium2: Fast PDF rendering and image generation (optional, advanced)
- pdf2image: Convert PDF pages to PNG images for visual analysis
- pytesseract: OCR on scanned PDFs (optional)
- Pillow: Image processing for validation images
What ships with it
9 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.
- scripts/check_bounding_boxes.py 2.7 KB runs code
- scripts/check_fillable_fields.py 266 B runs code
- scripts/convert_pdf_to_images.py 1.1 KB runs code
- scripts/create_validation_image.py 1.3 KB runs code
- scripts/extract_form_field_info.py 4.3 KB runs code
- scripts/extract_form_structure.py 3.6 KB runs code
- scripts/fill_fillable_fields.py 3.8 KB runs code
- scripts/fill_pdf_form_with_annotations.py 3.2 KB runs code
- scripts/soffice.py 5.0 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.
- 5d ago First seen · 733 lines · 43 tokens per session scan B 53e54d529641
pdf-specialist-skill is a skill published in the GitHub repository darellchua2/opencode-config-template (6 stars, last pushed 2d ago), licensed Apache-2.0. It adds 43 tokens to every session and 5,140 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
pdf-processing
Process and extract information from PDF documents. Use this skill when the user asks to read, analyze, or extract data from PDF files.
nano-pdf
Edit PDFs with natural-language instructions using the nano-pdf CLI. Modify text, fix typos, update titles, and make content changes to specific pages without manual editing.
pdf_convert
Convert between PDF and image formats. Use when: user asks to convert PDF pages to images (PNG/JPEG) or combine images into a PDF. NOT for: text extraction (use pdfreader), PDF editing, or document format conversion (DOCX/HTML).
pdf_merge
Merge multiple PDF files into a single PDF. Use when: user asks to combine, join, or concatenate PDFs. Supports page selection and ordering. NOT for: splitting PDFs, editing content, or converting formats.
pdf_protect
Add or remove password protection on PDF files. Use when: user asks to encrypt, password-protect, unlock, or decrypt a PDF. Supports owner and user passwords with permission controls. NOT for: digital signatures, certificate-based encryption, or DRM.
pdf_reader
Extract text content from PDF files. Use when: user asks to read, extract, or analyze content from a PDF document. Supports multi-page extraction, page ranges, and metadata. NOT for: scanned/image PDFs (OCR), PDF editing, or creating PDFs.