CAT
/Skills
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

PDF Form Filler

claude-office-skills/skills
182 stars
Summary

Automates PDF form filling through Claude's office MCP server, handling text fields, checkboxes, dropdowns, radio buttons, and date fields. You can fill single forms with structured data, batch process hundreds of forms from a CSV, or extract existing form data back into JSON. The skill includes field mapping templates, validation rules for common formats like SSN and email, and detailed error reporting when fields are missing or data doesn't match. Most useful when you're dealing with repetitive form workflows like W-9s for vendors, job applications, or any scenario where you'd otherwise copy-paste data into PDFs by hand. Supports both interactive filling and programmatic batch operations.

Install to Claude Code

npx -y skills add claude-office-skills/skills --skill "PDF Form Filler" --agent claude-code

Installs into .claude/skills of the current project.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Files
SKILL.mdView on GitHub

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 TypeDescriptionFill Method
Text FieldSingle/multi-line textDirect text entry
CheckboxYes/No selectionCheck/uncheck
Radio ButtonOne of many optionsSelect option
DropdownList selectionChoose value
Date FieldDate pickerDate value
SignatureDigital signatureSignature image/certificate
Combo BoxDropdown with text entrySelect 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 Mappings
```yaml
# Personal 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
```markdown
## 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 completion

Extracted Data Report

## Form Data Extraction

### Source: completed_form.pdf

### Extracted Values
```json
{
  "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

MetricValue
Total fields30
Filled fields28
Empty fields2
Extraction confidence98%

## Batch Processing

### Batch Fill Job
```markdown
## 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 code

Common Form Types

Government Forms

FormPurposeKey Fields
W-9Tax identificationTIN, name, address
I-9Employment eligibilityID info, citizenship
W-4WithholdingAllowances, status
1099Contractor incomeIncome, payer info

Business Forms

FormPurposeKey Fields
NDAConfidentialityParties, terms, dates
InvoiceBillingItems, amounts, terms
POPurchase orderItems, quantities, vendor
ApplicationVariousPersonal 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
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Categories
Office & Documents
First SeenJun 3, 2026
View on GitHub

Recommended

More Office & Documents →
lark-slides

larksuite/cli

Create and edit Lark Office slides with XML protocol, supporting presentation creation, page management, and content modification.
143.2k
13.3k
pdf-to-docx

claude-office-skills/skills

pdf to docx
3.1k
182
PDF OCR Extraction

claude-office-skills/skills

pdf ocr extraction
182
gws-gmail

googleworkspace/cli

Send, read, and manage Gmail messages, drafts, labels, and account settings.
32.2k
26.7k
gws-gmail-send

googleworkspace/cli

Send emails via Gmail with support for attachments, HTML formatting, and send-as aliases.
25.1k
26.7k
gws-gmail-triage

googleworkspace/cli

Quickly summarize unread Gmail inbox messages with sender, subject, and date.
24.2k
26.7k