browser-form-fill

Fill web forms by mapping field names to values using templates or accessibility snapshots.

70.1k|8.4k|Updated Jun 2, 2025
One-click install
npx skills add https://github.com/ruvnet/claude-flow --skill browser-form-fill
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: browser-form-fill
Source: https://github.com/ruvnet/claude-flow/tree/main/plugins/ruflo-browser/skills/browser-form-fill
Command: npx skills add https://github.com/ruvnet/claude-flow --skill browser-form-fill

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Automating web form submission requires resolving field names to CSS selectors, handling different input types, and protecting sensitive values from leaking into logs. This Skill standardizes that workflow with reusable per-site templates and a mandatory PII gate.

Core Features & Use Cases

  • Template-based selector resolution: Reuse stored field-name-to-selector mappings from the browser-templates memory namespace for known forms, or resolve fields via the page accessibility snapshot.
  • PII protection: Every value passes an aidefence_has_pii check before typing, and trajectories record only field names with redacted placeholders.
  • Multi-input support: Handles text fields, selects, and checkboxes with browser_fill, browser_type, browser_select, and browser_check, plus optional submit and post-submit verification.
  • Use Case: Automate a recurring signup or checkout form by storing its selector template once, then replaying submissions with new field values across sessions.

Quick Start

Fill the contact form at the given URL using the field map in fields.json and submit it with the stored template for that site.

Frequently Asked Questions about browser-form-fill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate filling a web form with a browser agent?

Provide a URL and a JSON field map of field names to values. The skill resolves each field to a CSS selector using a stored template or the page accessibility snapshot, then fills inputs with browser_fill, browser_type, browser_select, or browser_check.

What is the difference between browser_fill and browser_type?

browser_fill sets an input's value programmatically, while browser_type simulates real keystrokes. Use browser_type for fields that react to typing events, such as autocomplete inputs, and record which method was used in the trajectory.

How does the skill protect sensitive form data like PII?

Every value in the field map passes an aidefence_has_pii check before any keystroke is sent. Trajectories record only field names with redacted placeholders, never the actual values, and the session manifest flags pii_in_form.

Can I reuse form field mappings across multiple sessions?

Yes. Newly discovered selector mappings are persisted to the browser-templates memory namespace keyed by host and form name. Later runs can pass --template to load the stored field map, submit selector, and post-submit URL pattern.

What happens when a form has a CAPTCHA or multiple steps?

CAPTCHAs are surfaced to the user rather than bypassed. Multi-step forms are handled as a sequence of browser-form-fill invocations chained through the same session id.