
Pdf Form Filler
- 3.7k installs
- 357 repo stars
- Updated January 31, 2026
- claude-office-skills/skills
PDF Form Filler is an agent skill that guides filling PDF forms, extracting field data, batch processing from CSV, and validating inputs with structured reports.
About
PDF Form Filler is an agent skill for programmatic PDF form workflows using office-mcp tools fill_pdf_form and get_pdf_metadata. It supports filling forms from structured data, extracting values from completed PDFs, batch jobs from spreadsheets, and validation before output. Documented field types include text, checkbox, radio, dropdown, date, signature, and combo box controls with a field map table for names, types, required flags, and page numbers. YAML and JSON mapping templates show personal, address, and employment fields with variable placeholders and sample records. Output formats define fill result reports listing filled fields, errors, and validation status plus extraction reports with JSON field dumps. Batch processing templates cover CSV-driven jobs such as one hundred fifty W-9 forms with progress, warning, and error tables. Validation rules document per-field formats for email, phone, SSN, dates, ZIP, and amounts plus cross-field conditional requirements. The skill provides guidance rather than executing fills directly and flags limits around digital certificates, secured PDFs, and exact field name matching.
- Documents fill, extract, batch, and validate workflows for PDF forms via office-mcp tools.
- Lists supported field types from text and checkbox through dropdown, date, and signature controls.
- Provides YAML and JSON field mapping templates with sample applicant data structures.
- Includes batch fill job reports with progress, warnings, and per-row error tables.
- Covers validation rules for email, phone, SSN, date, ZIP, and cross-field dependencies.
Pdf Form Filler by the numbers
- 3,720 all-time installs (skills.sh)
- +66 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #92 of 688 Office & Documents skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
pdf form filler capabilities & compatibility
- Capabilities
- pdf form field type reference · yaml and json data mapping templates · fill and extraction report formats · batch job progress and error tracking · field and cross field validation rules
- Works with
- excel
- Use cases
- pdf parsing · orchestration
What pdf form filler says it does
Fill out PDF forms programmatically and extract form data
Fill 50 copies of this form using data from the spreadsheet
Cannot execute actual form filling (provides guidance)
npx skills add https://github.com/claude-office-skills/skills --skill pdf-form-fillerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 3.7k |
|---|---|
| repo stars | ★ 357 |
| Security audit | 3 / 3 scanners passed |
| Last updated | January 31, 2026 |
| Repository | claude-office-skills/skills ↗ |
How do I map spreadsheet or JSON data into PDF form fields and verify required values before generating filled documents?
Fill PDF forms programmatically, extract field values, batch-fill from CSV data, and validate form inputs with structured reports.
Who is it for?
Teams automating government or business PDF forms such as W-9, I-9, or applications with repeatable field maps.
Skip if: Skip when you need interactive PDF editing only; this skill targets programmatic fill and extraction workflows.
When should I use this skill?
User asks to fill a PDF form, extract form field values, batch-fill from CSV, or validate form data before output.
What you get
Field mapping templates, fill or extraction reports, batch progress summaries, and validation results for PDF forms.
- Filled PDF outputs
- Extraction JSON reports
- Batch fill status summaries
By the numbers
- Ships as version 1.0 with MIT license in Claude Office Skills
- Lists 5 compatible AI models including Claude Sonnet 4 and GPT-4o
Files
PDF Form Filler
Fill out PDF forms automatically and extract data from completed forms.
Overview
This skill helps you:
- Fill PDF forms with provided data
- Extract data from filled forms
- Batch fill multiple forms
- Validate form data
- Create form-filling templates
How to Use
Fill a Form
"Fill this PDF form with the following data:
- Name: John Smith
- Date: 2026-01-29
- Amount: $1,500"Extract Form Data
"Extract all form field values from this PDF"
"What data is filled in this form?"Batch Fill
"Fill 50 copies of this form using data from the spreadsheet"
"Generate forms for each row in this CSV"Form Field Types
Supported Fields
| Field Type | Description | Fill Method |
|---|---|---|
| Text Field | Single/multi-line text | Direct text entry |
| Checkbox | Yes/No selection | Check/uncheck |
| Radio Button | One of many options | Select option |
| Dropdown | List selection | Choose value |
| Date Field | Date picker | Date value |
| Signature | Digital signature | Signature image/certificate |
| Combo Box | Dropdown with text entry | Select or type |
Field Identification
## Form Fields: [Form Name]
### Field Map
| Field Name | Type | Required | Page | Notes |
|------------|------|----------|------|-------|
| applicant_name | Text | Yes | 1 | Max 50 chars |
| birth_date | Date | Yes | 1 | MM/DD/YYYY |
| gender | Radio | Yes | 1 | M/F/Other |
| employed | Checkbox | No | 1 | Check if yes |
| state | Dropdown | Yes | 2 | US states |
| signature | Signature | Yes | 3 | Digital sig |Fill Templates
Data Mapping Template
## Form Fill Template: [Form Name]
### Form Info
- **File**: application_form.pdf
- **Total Fields**: 25
- **Required Fields**: 15
### Field MappingsPersonal Information
applicant_name: "${firstName} ${lastName}" date_of_birth: "${birthDate}" ssn_last_four: "${ssnLast4}" phone: "${phone}" email: "${email}"
Address
street_address: "${address.street}" city: "${address.city}" state: "${address.state}" zip_code: "${address.zip}"
Employment
currently_employed: ${isEmployed} # checkbox employer_name: "${employer.name}" job_title: "${employer.title}"
Selections
payment_method: "${paymentMethod}" # dropdown agree_terms: true # checkbox
### Sample Data{ "firstName": "John", "lastName": "Smith", "birthDate": "1990-05-15", "phone": "555-123-4567", "email": "john.smith@email.com", "address": { "street": "123 Main St", "city": "New York", "state": "NY", "zip": "10001" }, "isEmployed": true, "employer": { "name": "Acme Corp", "title": "Manager" }, "paymentMethod": "Direct Deposit" }
Output Formats
Fill Result Report
## Form Fill Result
### Summary
| Status | Value |
|--------|-------|
| **Form** | application_form.pdf |
| **Fields Filled** | 23/25 |
| **Errors** | 2 |
| **Output** | filled_application.pdf |
### Filled Fields
| Field | Value | Status |
|-------|-------|--------|
| applicant_name | John Smith | ✅ |
| date_of_birth | 05/15/1990 | ✅ |
| phone | 555-123-4567 | ✅ |
| state | NY | ✅ |
| payment_method | Direct Deposit | ✅ |
### Errors/Warnings
| Field | Issue | Suggestion |
|-------|-------|------------|
| ssn | Field not found | Check field name |
| signature | Requires certificate | Add signature manually |
### Validation
- ✅ All required fields filled
- ✅ Date formats correct
- ⚠️ Signature field needs manual completionExtracted Data Report
## Form Data Extraction
### Source: completed_form.pdf
### Extracted Values{ "form_title": "Employment Application", "submission_date": "2026-01-29", "fields": { "applicant_name": "Jane Doe", "date_of_birth": "1985-03-20", "email": "jane.doe@email.com", "phone": "555-987-6543", "address": "456 Oak Ave, Chicago, IL 60601", "position_applied": "Senior Developer", "salary_expectation": "$120,000", "available_start": "2026-03-01", "references_provided": true } }
### Field Statistics
| Metric | Value |
|--------|-------|
| Total fields | 30 |
| Filled fields | 28 |
| Empty fields | 2 |
| Extraction confidence | 98% |Batch Processing
Batch Fill Job
## Batch Form Fill
### Configuration
- **Template Form**: w9_form.pdf
- **Data Source**: vendors.csv
- **Records**: 150
- **Output Folder**: /filled_w9s/
### Data Preview
| Row | Name | TIN | Address |
|-----|------|-----|---------|
| 1 | Acme Corp | XX-XXX1234 | 123 Main St |
| 2 | Beta LLC | XX-XXX5678 | 456 Oak Ave |
| ... | ... | ... | ... |
### Progress
| Status | Count | % |
|--------|-------|---|
| ✅ Completed | 145 | 97% |
| ⚠️ Warnings | 3 | 2% |
| ❌ Errors | 2 | 1% |
### Errors
| Row | Issue |
|-----|-------|
| 47 | Invalid TIN format |
| 89 | Missing required: Address |
### Output Files
- w9_acme_corp.pdf
- w9_beta_llc.pdf
- ...Form Validation
Validation Rules
## Form Validation Rules
### Field Validations
| Field | Rule | Error Message |
|-------|------|---------------|
| email | Valid email format | "Invalid email address" |
| phone | 10 digits | "Phone must be 10 digits" |
| ssn | XXX-XX-XXXX format | "Invalid SSN format" |
| date | MM/DD/YYYY | "Use MM/DD/YYYY format" |
| zip | 5 or 9 digits | "Invalid ZIP code" |
| amount | Numeric, > 0 | "Enter positive number" |
### Cross-Field Validations
| Rule | Fields | Condition |
|------|--------|-----------|
| Conditional required | employer_name | Required if employed = true |
| Date range | end_date | Must be after start_date |
| Sum check | item_totals | Must equal grand_total |Validation Report
## Pre-Fill Validation
### Data Validation Results
| Field | Value | Valid | Issue |
|-------|-------|-------|-------|
| email | john@email | ❌ | Missing domain |
| phone | 555-1234 | ❌ | Only 7 digits |
| date | 2026-01-29 | ✅ | - |
| zip | 10001 | ✅ | - |
### Summary
- ✅ Valid: 18 fields
- ❌ Invalid: 2 fields
- ⚠️ Warnings: 3 fields
### Recommendations
1. Fix email format: add domain (e.g., @company.com)
2. Complete phone number with area codeCommon Form Types
Government Forms
| Form | Purpose | Key Fields |
|---|---|---|
| W-9 | Tax identification | TIN, name, address |
| I-9 | Employment eligibility | ID info, citizenship |
| W-4 | Withholding | Allowances, status |
| 1099 | Contractor income | Income, payer info |
Business Forms
| Form | Purpose | Key Fields |
|---|---|---|
| NDA | Confidentiality | Parties, terms, dates |
| Invoice | Billing | Items, amounts, terms |
| PO | Purchase order | Items, quantities, vendor |
| Application | Various | Personal info, history |
Tool Recommendations
Desktop Software
- Adobe Acrobat Pro: Full form features
- Foxit PDF Editor: Good form support
- PDFescape: Free online option
- JotForm: Form creation and filling
Programming Libraries
- pdf-lib (JavaScript): Fill and create forms
- PyPDF2 (Python): Basic form filling
- iText (Java/.NET): Enterprise forms
- PDFBox (Java): Apache project
Automation Tools
- Adobe Acrobat Actions: Batch processing
- Power Automate: Microsoft integration
- Zapier + PDF.co: Cloud automation
Limitations
- Cannot execute actual form filling (provides guidance)
- Digital signatures require proper certificates
- Some secured PDFs prevent form filling
- Complex calculations may not auto-update
- Flattened forms cannot be edited
- Field names must match exactly
Related skills
How it compares
PDF form mapping and batch-fill playbooks, not a hosted document editor.
FAQ
Which PDF field types does PDF Form Filler cover?
Text, checkbox, radio, dropdown, date, signature, and combo box fields with mapping and validation templates.
When should I use PDF Form Filler?
When filling forms from structured data, extracting completed fields, or running CSV-driven batch fill jobs.
Is PDF Form Filler safe to install?
Review the Security Audits panel; digital signatures and secured PDFs may need certificates or manual steps.