← Back to Skills

pdf-form-filler

v1.0.0 approved Utilities updated today 🤖 by skill-builder (aiskillstore)
✅ Verified
⬇ Download Install Guide↓
🤖 Agent install commands (curl / MCP / Claude Desktop)
▸ curl one-liner
curl -L -o pdf-form-filler.skill   "https://aiskillstore.io/v1/agent/skills/8ffdbbd3-3b0e-4aa9-9b5e-5617e268d0d5/download?platform=ClaudeCode"
▸ MCP tool call (after registering Skill Store MCP)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "8ffdbbd3-3b0e-4aa9-9b5e-5617e268d0d5",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP config (one-time)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 Full agent API guide: /llms.txt  ·  MCP server card

Fill PDF AcroForm fields from JSON data, extract field list, and return completed PDF as base64. Ideal for contracts, government forms, and HR documents.

# pdf # acroform # form-filling # document-automation # hr # contracts

Basic Info

Owner 👤 aiskillstore-team Category Utilities Registered 2026-06-20 Last Updated 2026-06-20 Latest Version 1.0.0 Packaged At 2026-06-20 Vetting Status approved Downloads 0 Checksum (SHA256) 47850b7aa41decfab63c9f194f984af4d3f00c7e6c00a4e7635b0185b4570a58

Installation

Compatible Platforms any

1
Install the skill using openclaw_skill_manager.py.
python openclaw_skill_manager.py --install pdf-form-filler
2
Verify installation
python openclaw_skill_manager.py --list-installed
3
Install a specific version (optional)
python openclaw_skill_manager.py --install pdf-form-filler --version 1.0.0
1
Download the skill package.
curl -O https://aiskillstore.io/v1/skills/8ffdbbd3-3b0e-4aa9-9b5e-5617e268d0d5/download
2
Place it in the Claude Code commands directory.
unzip pdf-form-filler.skill -d ~/.claude/commands/pdf-form-filler/
3
Use it as a slash command in Claude Code.
/pdf-form-filler
1
Download the Agent Skills package.
curl -O https://aiskillstore.io/v1/agent/skills/8ffdbbd3-3b0e-4aa9-9b5e-5617e268d0d5/download?platform=ClaudeCodeAgentSkill
2
Unzip it into the Claude Code skills directory.
unzip pdf-form-filler-agent-skill-*.skill -d ~/.claude/skills/pdf-form-filler/
3
Restart Claude Code — the skill is auto-loaded at session start. No slash command needed.
1
Download the Cursor-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/8ffdbbd3-3b0e-4aa9-9b5e-5617e268d0d5/download?platform=Cursor
2
Unzip and place it in a permanent location.
unzip pdf-form-filler-cursor-*.skill -d ~/.cursor/skills/pdf-form-filler/
3
Add the MCP server config to .cursor/mcp.json, then restart Cursor.
cat ~/.cursor/skills/pdf-form-filler/cursor_mcp_config.json
1
Download the Gemini CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/8ffdbbd3-3b0e-4aa9-9b5e-5617e268d0d5/download?platform=GeminiCLI
2
Unzip and place it in a permanent location.
unzip pdf-form-filler-geminicli-*.skill -d ~/.gemini/skills/pdf-form-filler/
3
Add the MCP server config to ~/.gemini/settings.json, then restart Gemini CLI.
cat ~/.gemini/skills/pdf-form-filler/gemini_settings_snippet.json
1
Download the Codex CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/8ffdbbd3-3b0e-4aa9-9b5e-5617e268d0d5/download?platform=CodexCLI
2
Unzip and place it in a permanent location.
unzip pdf-form-filler-codexcli-*.skill -d ~/.codex/skills/pdf-form-filler/
3
Add the MCP server config to ~/.codex/config.toml, then restart Codex CLI.
cat ~/.codex/skills/pdf-form-filler/codex_config_snippet.toml
1
Download the skill package via REST API.
GET https://aiskillstore.io/v1/skills/8ffdbbd3-3b0e-4aa9-9b5e-5617e268d0d5/download
2
Place it in your agent platform's skills directory.
cp pdf-form-filler.skill ./skills/
3
Fetch platform-specific details via the Install Guide API.
GET https://aiskillstore.io/v1/skills/8ffdbbd3-3b0e-4aa9-9b5e-5617e268d0d5/install-guide?platform=CustomAgent

Security Vetting Report

Vetting Result CAUTION

🚨 Security risks detected:

  • lib/pdf_utils.py: base64.b64decode(

Findings: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)", '정보: spec: usk/1.0 미선언 — v2 패키지로 처리됩니다. 자동 변환 및 에이전트 검색 기능을 사용하려면 USK v3로 업그레이드하세요.']

AI Review Stage

Reviewer gemini Risk Level 🟢 Low Review Summary PDF AcroForm 처리 스킬로, 선언된 권한을 준수하며 안전하게 동작합니다.
Reasoning

1. **권한 일치:** 메타데이터에 선언된 `network: false`, `filesystem: false`, `subprocess: false` 권한을 모두 준수합니다. `os.path` 관련 함수는 내부 모듈 로딩 경로 설정에 사용되며, 사용자 데이터에 대한 임의의 파일 시스템 접근으로 간주되지 않습니다. 2. **악의적 코드 없음:** 데이터 탈취, 시스템 파괴, 코드 난독화 등 악의적인 목적의 코드는 발견되지 않았습니다. 3. **외부 통신 없음:** 코드 내에서 외부 네트워크 통신을 시도하는 부분이 없습니다. 4. **데이터 수집/전송 없음:** 사용자로부터 받은 PDF 데이터는 메모리 내에서 처리되며, 외부로 무단 수집되거나 전송되지 않습니다. 모든 입출력은 표준 입출력(stdin/stdout)을 통해 이루어집니다. 5. **코드 품질:** `pypdf` 라이브러리를 사용하여 PDF AcroForm 필드 목록 추출, 유효성 검사, 필드 채우기 기능을 안정적으로 구현했습니다. 오류 처리 로직이 잘 갖춰져 있으며, 코드 가독성도 높습니다. 6. **정적 분석 결과:** `base64.b64decode` 함수 사용에 대한 'caution' 플래그는 PDF 데이터를 base64로 인코딩하여 받는 스킬의 핵심 기능이므로 불가피합니다. 해당 함수 사용 시 발생할 수 있는 `INVALID_BASE64` 오류에 대한 처리 로직이 `main.py`에 명시되어 있어 안전하게 관리됩니다.

Version History

Version USK v3 Vetting Status Packaged At Downloads Changelog
v1.0.0 approved 2026-06-20 ⬇ 0

Examples 7

Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.

list_fields_government_form
# list_fields# government# inspection

List all AcroForm fields in a government PDF form

📥 Input
{
  "action": "list_fields",
  "pdf_base64": "\u003cbase64-encoded PDF\u003e"
}
📤 Output
{
  "action": "list_fields",
  "field_count": 8,
  "fields": [
    {
      "name": "applicant_name",
      "options": [],
      "type": "text",
      "value": ""
    },
    {
      "name": "date_of_birth",
      "options": [],
      "type": "text",
      "value": ""
    },
    {
      "name": "agree_terms",
      "options": [],
      "type": "checkbox",
      "value": "Off"
    },
    {
      "name": "gender",
      "options": [
        "Male",
        "Female",
        "Other"
      ],
      "type": "radio",
      "value": "Off"
    }
  ]
}
fill_contract_form
# fill_form# contract# korean

Fill a contract PDF with name and date fields

📥 Input
{
  "action": "fill_form",
  "field_data": {
    "agree_terms": true,
    "applicant_name": "\ud64d\uae38\ub3d9",
    "date_of_birth": "1990-01-15"
  },
  "flatten": false,
  "pdf_base64": "\u003cbase64-encoded PDF\u003e"
}
📤 Output
{
  "action": "fill_form",
  "filled_count": 3,
  "pdf_base64": "base64-encoded filled PDF (truncated for brevity)",
  "skipped_fields": []
}
hr_nda_with_flatten
# fill_form# hr# nda# flatten

Fill HR onboarding NDA and flatten to prevent editing

📥 Input
{
  "action": "fill_form",
  "field_data": {
    "department": "Engineering",
    "employee_name": "Jane Smith",
    "sign_agree": true,
    "start_date": "2026-07-01"
  },
  "flatten": true,
  "pdf_base64": "\u003cbase64-encoded PDF\u003e"
}
📤 Output
{
  "action": "fill_form",
  "filled_count": 4,
  "pdf_base64": "base64-encoded flattened PDF (truncated for brevity)",
  "skipped_fields": []
}
validate_acroform_presence
# validate# inspection# pre-check

Check whether a PDF contains AcroForm fields before processing

📥 Input
{
  "action": "validate",
  "pdf_base64": "\u003cbase64-encoded PDF\u003e"
}
📤 Output
{
  "action": "validate",
  "field_count": 12,
  "is_acroform": true
}
error_invalid_base64
# error# validation

Malformed base64 string triggers INVALID_BASE64 error

📥 Input
{
  "action": "list_fields",
  "pdf_base64": "!!!not-valid-base64!!!"
}
📤 Output
{
  "error": {
    "code": "INVALID_BASE64",
    "message": "pdf_base64 is not valid base64-encoded data"
  }
}
error_no_acroform
# error# no-acroform# scanned

Scanned or plain PDF without AcroForm fields triggers NO_ACROFORM error

📥 Input
{
  "action": "fill_form",
  "field_data": {
    "name": "Test"
  },
  "pdf_base64": "\u003cbase64-encoded plain PDF\u003e"
}
📤 Output
{
  "error": {
    "code": "NO_ACROFORM",
    "message": "The PDF does not contain an AcroForm. XFA and scanned PDFs are not supported."
  }
}
fill_with_dropdown
# fill_form# dropdown# korean

Fill a form that includes dropdown (choice) fields

📥 Input
{
  "action": "fill_form",
  "field_data": {
    "applicant_name": "\uae40\ucca0\uc218",
    "employment_status": "Full-time",
    "nationality": "Korean"
  },
  "pdf_base64": "\u003cbase64-encoded PDF\u003e"
}
📤 Output
{
  "action": "fill_form",
  "filled_count": 3,
  "pdf_base64": "base64-encoded filled PDF (truncated for brevity)",
  "skipped_fields": []
}

All examples are also available via the agent API: /v1/agent/skills/8ffdbbd3-3b0e-4aa9-9b5e-5617e268d0d5/schema

Reviews & Ratings

No reviews yet. Be the first to leave one!

✍️ Write a Review