About pdf
A skill for creating, inspecting, filling, and manipulating PDF documents. It covers form fields, page merging and splitting, encryption, text and table extraction, and visual checks of generated reports.
Key features
- 01Generate reports with Reportlab or Platypus
- 02Render pages to PNG for inspection
- 03Fill PDF form fields
- 04Merge, split, and encrypt PDFs
- 05Extract text and tables
Use cases
- 01Produce and visually verify reports
- 02Populate fillable PDF forms
- 03Extract document text and tabular data
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ igorwarzocha/ opencode-workflows --skill pdfAfter installing, type/pdfin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/forms.mdreference.mdscripts/check_bounding_boxes_test.pycheck_bounding_boxes.pycheck_fillable_fields.pyconvert_pdf_to_images.pycreate_validation_image.pyextract_form_field_info.pyfill_fillable_fields.pyfill_pdf_form_with_annotations.pyDetails
From the project README
# PDF Professional Suite
🛠 High-Fidelity Creation
When generating polished reports:
- Generate: Use Reportlab (programmatic) or Platypus (templated) as the primary engine.
- Preview: Convert every page to PNG for inspection:
pdftoppm -png -r 150 document.pdf page
- Inspect: Verify that charts, tables, and typography are sharp and well-aligned.
📋 Common Operations
1. Form Filling
- Identify fillable fields using
scripts/extract_form_field_info.py. - Reference: See
references/forms.mdfor detailed instructions on filling PDF forms. - Populate fields programmatically and verify using the Render loop.
2. Manipulation (pypdf)
- Merge: Use
PdfWriterto combine multiple documents. - Split: Extract individual pages into new files.
- Secure: Add passwords or watermarks using
PdfWriter.encrypt(). - Reference: See
references/reference.mdfor advanced features and JS library alternatives.
3. Extraction (pdfplumber)
- Extract text with layout preservation.
- Extract complex tables directly into Pandas DataFrames for analysis.
💎 Quality Expectations
- Legibility: Text must be readable at 100% zoom; avoid walls of dense text.
- Polish: Maintain intentional visual design—consistent margins and color palettes.
- Verification: Zero defects (black squares, clipped text) permitted in final output.
Comments
Markdown supported