Skip to content
Business
Command

/fill-form

Fill PDF form fields interactively with live visual feedback

From plugin
knowledge-work-plugins
24k15 skills5 agents15 commands40 MCP
Install
$ npx -y skills add anthropics/knowledge-work-plugins --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/fill-form

Context preview

What this command does when you run it.

Fill PDF form fields interactively with live visual feedback

Command definition

fill-form.md
description: Fill PDF form fields interactively with live visual feedback
argument-hint: "[path-or-url]"

> If you need to check which tools are connected, see [CONNECTORS.md](../CONNECTORS.md).

Fill Form

Help the user complete a fillable PDF form in the live viewer. Unlike programmatic form tools, this gives the user **direct visual feedback** on every field as it's filled, with easy undo/edit in the viewer.

Why use this instead of programmatic form filling

  • **Visual confirmation** — the user sees each value land in the right

box, not just a success message

  • **Unnamed/unlabeled fields** — many real-world PDFs have fields with

machine names like `Text1`, `Field_7`, or no name at all. The label ("Date of Birth", "SSN") is printed **next to** the field on the rendered page, not in the field metadata. Use `get_screenshot` to see what each field actually is, then fill by name.

  • **Easy correction** — the user can edit or clear any field directly

in the viewer, or ask you to `fill_form` again with new values

Two approaches

User-driven (simple, well-labeled forms)

Call `display_pdf` with `elicit_form_inputs: true`. The server detects form fields and prompts the user to enter values **before** the viewer opens. The filled PDF is then displayed.

AI-assisted (complex forms, unnamed fields, or when you have context)

1. `display_pdf` (without elicit) — inspect returned `formFields` (name, type, page, bounding box) 2. If field names are cryptic (`Text1`, `Field_7`), use `interact` → `get_screenshot` of each page with fields. Look at the visual labels next to each bounding box to understand what each field is. 3. For each field, either:

  • Infer the value from conversation context (name, date, email)
  • Ask the user, describing the field by its **visual** label

("the 'Date of Birth' box on page 1") 4. `interact` → `fill_form` with `fields: [{name, value}, ...]` 5. `interact` → `get_screenshot` of each filled page 6. Show the user, ask them to confirm or edit

Example

> **User:** Help me fill out this W-9 > > *You:* `display_pdf` → formFields: `f1_1`, `f1_2`, `f1_3`, `c1_1`, ... > (cryptic names) > > *You:* `interact` → `get_screenshot` page 1 → see `f1_1` is next to > "Name", `f1_2` is "Business name", `c1_1` is the "Individual" checkbox > > *You:* "I can see Name, Business name, Address, TIN, and tax > classification checkboxes. I'll fill Name and Date from what I > know — what's your TIN and business address?" > > *After answers:* `interact` → `fill_form` + `get_screenshot` > > *You:* "Here's the filled form [screenshot]. The signature line is > still blank — want to add your signature with `/pdf-viewer:sign`?"

Notes

  • Signature fields are usually separate — fill text first, then hand

off to `/pdf-viewer:sign` for the image

  • Checkbox/radio values are `true`/`false` or the option string
  • The user can always drag & edit fields directly in the viewer
Read more
Ships withknowledge-work-plugins

Plugins that turn Claude into a specialist for your role, team, and company. Built for Claude Cowork, also compatible with Claude Code.

Get the whole plugin

Other commands on knowledge-work-plugins.