Anthropic / skills/pdf/SKILL.md
Guidance and helpers for PDF extraction, creation, page operations, OCR and form filling.
Runtime probed · reviewed · A helper or bounded runtime behavior was probed. This does not establish model task effectiveness or comprehensive security.
01 / Task fit
Where it may help.
These are intended uses indicated by the upstream material. They are not measured outcomes.
- Understanding a PDF-processing workflow
- Evaluating extraction and form-filling requirements before adoption
02 / Setup & access
What it asks of your environment.
Requirements
- Python with task-specific libraries: pypdf for page/form operations, pdfplumber for extraction and ReportLab for creation.
- Image/OCR examples use pdf2image and pytesseract; native Poppler/Tesseract setup must also be checked in the target environment. CLI examples include qpdf, Poppler tools and optional pdftk.
- No dedicated API key is specified in the reviewed local helpers; access to the hosting agent and permitted use under Anthropic's terms are separate requirements.
- Only the named helpers and dependency versions were probed on Windows; other workflows and platforms remain unverified.
Permissions & data access
- Read source PDFs and form-value JSON.
- Write extracted text, images and replacement PDFs; form values may also appear in diagnostic errors.
Instructions alone do not enforce a sandbox. The agent host, connected tools and approvals determine what the skill can actually read, change or send.
03 / Things to check
Security concerns & practical limits.
These concerns follow from the reviewed sources. They describe possible exposure or required review; they are not confirmed vulnerabilities.
Review before use
Non-form PDF raises AttributeError
Observed in the bounded evaluation: Calling get_field_info on a valid synthetic PDF without AcroForm fields raised AttributeError instead of returning an empty list. This failed an added robustness expectation; it does not imply form-filling failure on supported inputs.
Review before use
Submitted values appear in diagnostics
Observed in the bounded evaluation: The exact helper echoed SYNTHETIC_VALUE_MARKER for an invalid checkbox value. This confirms diagnostic behavior, not a remotely exploited vulnerability. Treat logs with the document data's confidentiality.
Higher attention
Restricted reuse terms
The per-skill license is proprietary and lists restrictions on copying, derivatives and distribution. A public GitHub URL is not an open-source grant. This entry links to the original rather than redistributing the skill.
Review before use
Sensitive content in outputs and logs
The form filler writes document values and can print invalid values; the image converter writes page PNGs. IonBin assessment: treat those outputs and diagnostics with the source document's confidentiality.
Limits and nuances
- Pinned to 34040c9c568585f6929bedeaad110ad08f079624 to match the separately recorded helper evaluation. A newer repository head was observed; its changes are outside this assessment.
- The form helper monkey-patches a pypdf method, which makes dependency compatibility worth checking.
- This source-review record itself makes no claim about fixture results, OCR quality, encryption strength, redaction behavior or malformed-file handling.
04 / Review record
What we checked. What’s still open.
Recorded review scope
- SKILL.md task overview and dependency examples at pinned revision
- forms.md form workflow at pinned revision
- Full scripts/fill_fillable_fields.py at pinned revision
- Full scripts/convert_pdf_to_images.py at pinned revision
- Full LICENSE.txt at pinned revision
- Bounded evaluation; exact operations, counts, environment and limitations in the linked public report
Not tested or established
- No effectiveness benchmark or security certification
- Transitive dependencies, current advisories and host-agent permission controls not audited
- No full PDF helper tree or dependency audit
- No end-to-end agent task or skill-vs-baseline effectiveness comparison
- No OCR, redaction, encryption, hostile PDF parser exploit or large-resource tests
- Review date
- Source revision
34040c9c568585f6929bedeaad110ad08f079624- Our relationship
- Explored. Investigated through the recorded review. No use or replication is claimed.
Upstream content can change after review. A repository revision identifies source scope; it does not prove that every script, dependency or runtime behavior was tested. How freshness is handled.
Recorded evaluation / Helper probe
Results with their limits attached.
Form discovery/filling, invalid input and rasterization helpers: 7 of 9 expectations passed. Diagnostic value echo and non-form handling need attention.
- Passed
- 7
- Failed
- 2
- Total recorded
- 9
These counts refer to the cases in this report. They are not a benchmark against other skills. A helper probe does not measure model task effectiveness or establish comprehensive security.
Read the evidence reportDownload the authored reproduction harness (JSON bundle) ↗
The report provides the case definitions, observations and baseline scope. Missing baselines or untested behaviors remain limitations.
Recorded environment
- Windows-11-10.0.26200-SP0; Python 3.12.10; Node 24.18.0; Chrome 155.0.8059.82
- Synthetic local fixtures; minimal child environment; no live account or credential; no OS sandbox
- Dependencies: pypdf 6.19.0, reportlab 4.4.9, Pillow 12.3.0, pdf2image 1.17.0, defusedxml 0.7.1
- Git Bash 5.3.15(1)-release (x86_64-pc-cygwin); Poppler 26.07.0
Recorded commands (1)
Commands document this evaluation. They are not setup instructions for your environment.
python run_evals.py --runtime-libs <existing-bundled-site-packages> --poppler-bin <poppler-binaries>Findings from this evaluation
Needs attention
Submitted values appear in diagnostics
The exact helper echoed SYNTHETIC_VALUE_MARKER for an invalid checkbox value. This confirms diagnostic behavior, not a remotely exploited vulnerability. Treat logs with the document data's confidentiality.
Needs attention
Non-form PDF raises AttributeError
Calling get_field_info on a valid synthetic PDF without AcroForm fields raised AttributeError instead of returning an empty list. This failed an added robustness expectation; it does not imply form-filling failure on supported inputs.
Evaluation limitations
- No end-to-end agent task or skill-vs-baseline effectiveness comparison
- No OCR, redaction, encryption, hostile PDF parser exploit or large-resource tests
- No rendered visual-quality review; raster output was checked for page count and dimensions
- Only the three named helpers and these synthetic fixtures were executed
- Proprietary/source-available helper code is retained privately and excluded from public artifacts
- Supervised local processes, not an OS sandbox
- No container, VM or memory/resource quota
- Application guards do not establish containment of arbitrary hostile code
- No real credential, remote account, or destructive-effect testing
05 / Reuse & discovery
License, attribution & popularity.
Proprietary / source-available
The repository distinguishes document skills from its open-source examples. Read the per-skill terms; this entry provides commentary and links, not a redistribution permission.
Why it is in this collection
Rounded repository-wide GitHub stars observed in the public repository page; not skill installs, a quality score, or a measured trend.
182,000 repository stars (rounded)
- Scope
- Repository-wide; not individual skill usage.
- Observed
- Time window
- Single observation; no trend is established.
Popularity and inclusion do not establish quality, compatibility or security. Counts belong to their named metric and date; they are not a current ranking.
06 / Follow the evidence
Go to the original.
- PDF tasks and task-specific dependency examples github.com
- Form workflow and visual-verification requirements github.com
- Form values, output and pypdf patch github.com
- Page-image output and pdf2image import github.com
- pdf2image native Poppler dependency and platform setup github.com
- pytesseract native Tesseract requirement github.com
- Per-skill reuse restrictions github.com
- Source-available distinction and repository popularity github.com
IonBin’s source notes are independent assessments. Upstream authors retain their work and attribution. This page does not install or execute the skill.