Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.
70
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
High
Do not use without reviewing
The skill handles credentials insecurely by requiring the agent to include secret values verbatim in its generated output. This exposes credentials in the agent’s context and conversation history, creating a risk of data exfiltration.
The guide includes literal passwords placed directly in command-line arguments and in code (e.g., qpdf --password=mypassword and writer.encrypt("userpassword", "ownerpassword")), which requires embedding secret values verbatim and exposes them in outputs — a high exfiltration risk.
The skill exposes the agent to untrusted, user-generated content from public third-party sources, creating a risk of indirect prompt injection. This includes browsing arbitrary URLs, reading social media posts or forum comments, and analyzing content from unknown websites.
The workflow ingests outsider-authored free text contained in a runtime-supplied PDF (e.g., OCR-extracted text or extracted word/annotation text from `input.pdf`) into LLM-readable JSON/strings/console output—there is no LLM context isolation shown—via scripts like `scripts/extract_form_structure.py` (reads `word["text"]`) and then `fill_pdf_form_with_annotations.py` (uses `entry_text["text"]`).
99df6e4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.