Agent skill

Fill Web Form

by kdeldycke in kdeldycke/dotfiles

Fill a web form using data extracted from local documents (PDFs, images, spreadsheets).

BSD-2-ClauseAuto-check passedDocuments & Office

Install Fill Web Form

skills CLI
$ npx skills add kdeldycke/dotfiles --skill fill-web-form -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install kdeldycke/dotfiles fill-web-form --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/kdeldycke/dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/dotfiles/.agents/skills/fill-web-form .claude/skills/fill-web-form && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
fill-web-form
GitHub stars
173
Token cost
~2.3k tokens
SKILL.md length
817 words
Files
1
Skills in repo
25
Repo updated
First seen
Licence
BSD-2-Clause

At a glance

Fill a web form using data extracted from local documents (PDFs, images, spreadsheets).

  • Works in 8 steps: Install Claude Desktop → Install Claude in Chrome → Enable browser actions in Claude Desktop → …
  • The user wants to automate filling an online form from document data
  • SKILL.md covers Prerequisites, Setup (one-time), Launching a form-filling session and Architecture, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Fill Web Form is an agent skill from kdeldycke/dotfiles. Fill a web form using data extracted from local documents (PDFs, images, spreadsheets). Uses Claude Desktop (Cowork) with Chrome integration to read source documents and navigate/fill browser forms. Use when the user wants to automate filling an online form from document data.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Designed for Claude Code. Recommended model: Opus.

It sits in Documents & Office, covering Excel spreadsheets. The repository describes itself as: 🍎 macOS dotfiles for Python developers. The licence is BSD-2-Clause.

When your agent uses it

  • The user wants to automate filling an online form from document data
  • Tasks that involve Excel spreadsheets

Example prompts

  • “/fill-web-form”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Designed for Claude Code. Recommended model: Opus.

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Install Claude Desktop
  2. Install Claude in Chrome
  3. Enable browser actions in Claude Desktop
  4. Log into the target website
  5. Extract data from documents
  6. Navigate to the form
  7. Fill the form
  8. Review and hand off

What it can do on your machine

Read from SKILL.md and the folder at commit 7947d0f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python, bash, json and javascript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • claude.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Designed for Claude Code. Recommended model: Opus.

    From compatibility in the SKILL.md frontmatter.

Context cost

Fill Web Form loads about 2.3k tokens when it runs. Until then it costs about 73 tokens; SKILL.md has 817 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~73
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from kdeldycke/dotfiles at commit 7947d0f, republished under its BSD-2-Clause licence (© kdeldycke). 817 words, ~2,282 tokens.

Download SKILL.mdSave it as .claude/skills/fill-web-form/SKILL.md (or your agent's skills folder).
name
fill-web-form
description
Fill a web form using data extracted from local documents (PDFs, images, spreadsheets). Uses Claude Desktop (Cowork) with Chrome integration to read source documents and navigate/fill browser forms. Use when the user wants to automate filling an online form from document data.
compatibility
Designed for Claude Code. Recommended model: Opus.
argument-hint
[URL of the form] [path to source documents]

Fill Web Form from Document Data

Read local documents (PDFs, images, spreadsheets), extract structured data, then navigate to a web form in Chrome and fill it in. Claude Desktop reads the documents; Claude in Chrome interacts with the form.

Prerequisites

This skill requires Claude Desktop (Cowork mode) with Chrome integration. It cannot run from Claude Code in a terminal. If invoked from Claude Code, print the setup instructions below and stop.

Setup (one-time)

1. Install Claude Desktop

Download from https://claude.ai/download if not already installed.

2. Install Claude in Chrome

Install the "Claude" extension in Chrome or Chromium:

  • Chrome Web Store: search "Claude" by Anthropic
  • Extension ID: fcoeoabgfenejglbffodgkkbkcdhcgfn
3. Enable browser actions in Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{
  "preferences": {
    "allowAllBrowserActions": true
  }
}
4. Log into the target website

Open Chrome/Chromium, navigate to the target form URL, and log in manually. Claude cannot handle login/2FA flows: the session must already be authenticated before starting.

Launching a form-filling session

From Claude Desktop UI
  1. Open Claude Desktop
  2. Start a new Cowork session (the agent mode, not a regular chat)
  3. Upload the source documents (PDFs, images) to the conversation
  4. Enable Chrome integration: click the Chrome icon in the session toolbar, or ensure the session has chromePermissionMode: "skip_all_permission_checks" in its config
  5. Paste the form URL and describe what needs to be filled
From the command line (launch helper)

There is no single CLI command that bootstraps everything. The closest workflow:

bash
# 1. Ensure Chromium is running with the target site logged in
open -a Chromium "https://example.com/form"

# 2. Open Claude Desktop (it will connect to the running Chrome via the extension)
open -a Claude

# 3. In the Claude Desktop Cowork session:
#    - Upload source documents
#    - Enable Chrome integration
#    - Type: "Read the uploaded documents and fill the form at https://example.com/form"

To open Claude Desktop to a specific conversation via URL scheme:

bash
open "claude://conversation/SESSION_UUID"

Architecture

Source documents (uploaded to Claude Desktop)
  -> Claude Desktop extracts structured data
  -> Claude in Chrome navigates to form URL
  -> Form fields filled using read_page + form_input / computer actions
  -> User reviews and submits

Claude Desktop and Claude in Chrome share the same conversation context within a Cowork session. When Chrome integration is enabled, Claude gains access to browser tools: read_page, form_input, computer (click, type, scroll), navigate, and screenshot.

Workflow

Phase 1: Extract data from documents
  1. Read all uploaded documents
  2. Build a structured data dictionary mapping document fields to form fields
  3. Present the extracted data to the user for review before filling anything
Phase 2: Navigate to the form
  1. Use navigate or instruct the user to open the form URL in Chrome
  2. Use read_page to understand the form structure
  3. Map extracted data fields to form input elements
Phase 3: Fill the form

For each form field:

  1. read_page(filter="interactive") to get element refs
  2. form_input(ref="ref_XXXX", value="...") for text inputs, selects, and textareas
  3. computer(action="left_click", ref="ref_XXXX") for radio buttons, checkboxes, and custom widgets
  4. computer(action="key", text="Tab") after each field to trigger any reactive validation
  5. screenshot to verify the field was filled correctly
Phase 4: Review and hand off
  1. Screenshot the completed form
  2. Present a summary of all filled values
  3. Stop before submitting. Always leave the final Submit/Confirm action to the user.

Browser interaction patterns

Reading form structure
python
read_page(filter="interactive")  # Returns ref_XXXX for each input/button
read_page(filter="all")  # Returns full page content with refs
Filling text inputs
python
form_input(ref="ref_1251", value="John Doe")
Clicking buttons, radios, checkboxes
python
computer(action="left_click", ref="ref_XXXX")
Typing into fields that don't accept form_input
python
computer(action="left_click", ref="ref_XXXX")  # Focus the field
computer(action="key", text="some text")  # Type into it
Handling dropdowns/selects
python
form_input(ref="ref_XXXX", value="Option Text")  # For standard <select>
# For custom dropdowns (common in SPA frameworks):
computer(action="left_click", ref="ref_XXXX")  # Open dropdown
wait(duration=1)
read_page(filter="interactive")  # Find the option
computer(action="left_click", ref="ref_YYYY")  # Click the option
Waiting for page updates
python
wait(duration=2)  # After navigation or AJAX calls
screenshot  # Verify the page state
Multi-step / wizard forms

After completing each step:

  1. Find the "Next" / "Continue" button via read_page
  2. Click it: computer(action="left_click", ref="ref_XXXX")
  3. wait(duration=3) for the next step to load
  4. screenshot to confirm advancement
  5. Repeat
Show full SKILL.md (314 more words)Show less

Handling common SPA frameworks

SAP UI5 (e.g., government portals)
  • form_input works for text fields but not radio buttons
  • Radio buttons require computer(action="left_click", ref=...)
  • Fields may reject decimals: use integers
  • Tab after each field to trigger reactive recalculation
  • For bulk-filling empty fields with a default value, use JavaScript injection:
javascript
let filled = 0;
document.querySelectorAll('input[type="text"]').forEach((el) => {
    if (el.value.trim() === '') {
        const setter = Object.getOwnPropertyDescriptor(
            window.HTMLInputElement.prototype, 'value'
        ).set;
        setter.call(el, '0');
        el.dispatchEvent(new Event('input', {
            bubbles: true
        }));
        el.dispatchEvent(new Event('change', {
            bubbles: true
        }));
        filled++;
    }
});
`Filled ${filled} fields`;
React / Angular / Vue SPAs
  • Standard form_input usually works
  • For custom components (date pickers, autocompletes), click to open, then select from the popup
  • Wait for debounced validation after filling fields
Static HTML forms
  • form_input works reliably for all standard inputs
  • File upload fields may need computer(action="left_click") to open the file picker

Common problems

ProblemSolution
Form field not accepting inputTry computer(left_click) to focus first, then form_input
Radio/checkbox not responding to form_inputUse computer(left_click, ref=...) instead
Dropdown options not visibleClick the dropdown trigger, wait(1), then read_page to find options
Page navigation returns 404SPA context may need to be established first: navigate to the app root, then click through to the form
Validation error after fillingCheck for red error indicators, use read_page to find error messages
Field shows wrong value after fillTab out of the field to trigger formatting, then screenshot to verify
Multi-page form loses progressUse "Save as Draft" if available after each step

Important rules

  1. Never submit the form. Always stop before the final Submit/Confirm button and hand off to the user.
  2. Present extracted data before filling. Let the user verify the document-to-form mapping.
  3. Screenshot after each step. Visual confirmation prevents silent errors.
  4. Log in manually first. Claude cannot handle login/2FA. The browser session must be authenticated before starting.
  5. Integer rounding. If the source document has decimals but the form expects integers, round to nearest and flag the difference to the user.
  6. Sensitive data. If source documents contain data that should not be entered (passwords, SSNs in wrong fields), flag it and ask before proceeding.

© kdeldycke, BSD-2-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in dotfiles/.agents/skills/fill-web-form of kdeldycke/dotfiles.

Open the folder on GitHubat commit 7947d0f

Compare with similar skills

Fill Web Form next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Fill Web Form compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fill Web Form this skillkdeldycke/dotfiles173—~2.3kAutomated safety check: PassBSD-2-Clause
MarkitdownImCa0/just-laws78214 repos~3.2kAutomated safety check: NotesMIT
Managing Google Workspacetaylorwilsdon/google_workspace_mcp3.3k—~2.9kAutomated safety check: PassMIT
Data Table Managern8n-io/n8n207k—~2.3kAutomated safety check: PassCustom licence
Docx4jplutext/docx4j2.4k—~2.5kAutomated safety check: PassNone
Instrument Data To Allotropeaws-samples/amazon-bedrock-agents-healthcare-lifesciences2742 repos~2.7kAutomated safety check: PassApache-2.0

Similar skills

  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    782 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Managing Google Workspace

    taylorwilsdon/google_workspace_mcp

    Manages Google Workspace operations across 12 services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat, Apps Script, Custom Search).

    3.3k GitHub stars~2.9k tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • Official

    Load before calling data-tables or parse-file. An agent skill from n8n-io/n8n.

    207k GitHub stars~2.3k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Docx4j

    plutext/docx4j

    A skill your agent uses when writing Java code that creates, reads or edits Word (.docx), PowerPoint (.pptx) or Excel (.xlsx) files with docx4j — including generating documents, editing existing…

    2.4k GitHub stars~2.5k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Instrument Data To Allotrope

    aws-samples/amazon-bedrock-agents-healthcare-lifesciences

    Official

    Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.

    274 GitHub starsUsed in 2 repos~2.7k tokens
    Documents & OfficeAuto-check passed
  • Cyber Ppt

    crazyykhllc-bit/CyberPPT

    当用户需要把 DOCX、PDF、TXT、XLSX、研究报告、业务材料或原始数据转成高密度、可编辑、咨询风格 PPTX 时使用;也适用于需要 SCR 论证、视觉风格探索、详细图表和渲染质检的 PPT。

    1.8k GitHub stars~10k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check passed

More from kdeldycke/dotfiles

All 25 skills in this repo
  • Agent Config Self Tune

    kdeldycke/dotfiles

    Audit and tune the configuration of coding agents across Claude Code and pi - settings files (settings.json, settings.local.json), permission rules, instruction files (CLAUDE.md, AGENTS.md), skill…

    173 GitHub stars~3.4k tokensUpdated 5 days ago
    Auto-check: notes
  • Audit Repo Issues

    kdeldycke/dotfiles

    Analyze a GitHub repository's issues and PRs to find unaddressed feature requests, dismissed ideas, maintenance signals, and opportunities relevant to the current project.

    173 GitHub stars~2.5k tokensUpdated 5 days ago
    Auto-check passed
  • Brand Assets

    kdeldycke/dotfiles

    Create project logo and banner SVGs, then export them to light and dark PNG variants.

    173 GitHub stars~4.7k tokensUpdated 5 days ago
    Auto-check passed
  • Rename With Dates

    kdeldycke/dotfiles

    Rename documents and files (PDFs, images, screenshots, etc.) by reading their content to extract the effective/publication date, then renaming them with a "YYYY-MM-DD - Clear descriptive title.ext"…

    173 GitHub stars~3.5k tokensUpdated 5 days ago
    Auto-check passed
  • Repomatic Test Matrix

    kdeldycke/dotfiles

    Choose what a repository's CI test matrix covers. An agent skill from kdeldycke/dotfiles.

    173 GitHub stars~2.2k tokensUpdated 5 days ago
    Auto-check: notes
  • Sphinx Docs Sync

    kdeldycke/dotfiles

    Compare and synchronize Sphinx documentation against the upstream kdeldycke/repomatic reference, or across sibling projects.

    173 GitHub stars~3.2k tokensUpdated 5 days ago
    Auto-check: notes

Questions about Fill Web Form

What does Fill Web Form do?

Fill a web form using data extracted from local documents (PDFs, images, spreadsheets). Fill Web Form is an agent skill from kdeldycke/dotfiles. Fill a web form using data extracted from local documents (PDFs, images, spreadsheets).

When should I use Fill Web Form?

Fill Web Form fits situations like: the user wants to automate filling an online form from document data; tasks that involve Excel spreadsheets.

How do I install Fill Web Form in Claude Code?

Run `npx skills add kdeldycke/dotfiles --skill fill-web-form -a claude-code`. Or copy the skill folder (dotfiles/.agents/skills/fill-web-form in kdeldycke/dotfiles) into .claude/skills/fill-web-form in your project. Claude Code loads it when a task matches its description.

How do I install Fill Web Form in Codex?

Run `npx skills add kdeldycke/dotfiles --skill fill-web-form -a codex`. Or copy the skill folder (dotfiles/.agents/skills/fill-web-form in kdeldycke/dotfiles) into .agents/skills/fill-web-form in your project. Codex loads it when a task matches its description.

Can I use Fill Web Form in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kdeldycke/dotfiles --skill fill-web-form -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fill-web-form, .gemini/skills/fill-web-form, .github/skills/fill-web-form and .opencode/skills/fill-web-form in your project.

What does Fill Web Form need to run?

SKILL.md names no scripts, command-line tools or credentials: Fill Web Form is instructions for the agent only. Our summary lists: Python 3. Compatibility (from SKILL.md): Designed for Claude Code. Recommended model: Opus..

Does Fill Web Form access the network?

SKILL.md names 1 domain. As links in the text: claude.ai. This is read from the text; nothing was executed.

Is Fill Web Form safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Fill Web Form use?

Fill Web Form is published under the BSD-2-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Fill Web Form use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Fill Web Form?

Skills that share tags, products or a category with Fill Web Form: Markitdown (ImCa0/just-laws, 782 stars), Managing Google Workspace (taylorwilsdon/google_workspace_mcp, 3.3k stars), Data Table Manager (n8n-io/n8n, 207k stars) and Docx4j (plutext/docx4j, 2.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fill Web Form?

kdeldycke (a GitHub user) maintains it in kdeldycke/dotfiles, which has 173 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 4, 2026.

Source: kdeldycke/dotfiles on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.