# Browser Form Fill > Rellena un formulario web mapeando nombre de campo a valor, con búsqueda opcional de plantilla en browser-templates para formularios conocidos. Fuente: https://skillsagentes.com/skills/ruvnet/ruflo/browser-form-fill Markdown: https://skillsagentes.com/skills/ruvnet/ruflo/browser-form-fill.md Repositorio: https://github.com/ruvnet/ruflo Autor: ruvnet Licencia: MIT Actualizado: el mes pasado Coste de contexto: 29 tok instalada, 750 tok al activarse, 750 tok con todos los archivos del bundle Bundle: 1 archivo, 3 KB Permisos que pide: mcp__plugin_ruflo-core_ruflo__browser_open mcp__plugin_ruflo-core_ruflo__browser_close mcp__plugin_ruflo-core_ruflo__browser_fill mcp__plugin_ruflo-core_ruflo__browser_type mcp__plugin_ruflo-core_ruflo__browser_select mcp__plugin_ruflo-core_ruflo__browser_check mcp__plugin_ruflo-core_ruflo__browser_uncheck mcp__plugin_ruflo-core_ruflo__browser_click mcp__plugin_ruflo-core_ruflo__browser_wait mcp__plugin_ruflo-core_ruflo__browser_snapshot mcp__plugin_ruflo-core_ruflo__aidefence_has_pii bash read write ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add ruvnet/ruflo --skill browser-form-fill --agent claude-code # Cursor npx -y skills add ruvnet/ruflo --skill browser-form-fill --agent cursor # Codex npx -y skills add ruvnet/ruflo --skill browser-form-fill --agent codex # Gemini CLI npx -y skills add ruvnet/ruflo --skill browser-form-fill --agent gemini # Windsurf npx -y skills add ruvnet/ruflo --skill browser-form-fill --agent windsurf # Cline npx -y skills add ruvnet/ruflo --skill browser-form-fill --agent cline ``` ## Qué hace - Rellena un formulario web a partir de un mapa campo→valor, resolviendo selectores por plantilla guardada (browser-templates) o por el snapshot de accesibilidad de la página. - Pasa cada valor del mapa por la puerta de PII de AIDefence antes de escribir ninguna tecla, y registra solo el nombre del campo, nunca el valor, en la trayectoria. - Puede enviar el formulario con --submit y guardar una plantilla nueva si descubre un mapeo de selectores no existente. ## Cuándo usarla - Se envía un formulario conocido (registro, contacto, checkout) con nombres de campo estables, o se reutiliza una plantilla guardada. ## Cuándo no - Si el formulario tiene CAPTCHA, hay que avisar al usuario en vez de intentar sortearlo, según el propio archivo. ## Qué la activa - "Rellena este formulario de contacto con estos datos" - "Envía el formulario de registro usando la plantilla guardada" ## Antes de instalar - Requiere las herramientas MCP browser_* y aidefence_has_pii del plugin ruflo-browser. ## Archivos - SKILL.md — 3 KB ## SKILL.md Reproducido tal cual desde ruvnet/ruflo bajo MIT. Esta sección es el documento original y está en inglés. # Browser Form Fill Fill a form using a structured field map (`{"first_name": "Ada", "company": "..."}`). When a `browser-templates` entry exists for the host, use it to resolve field names → CSS selectors automatically; otherwise resolve via the page accessibility snapshot. ## When to use - Submitting a known form (signup, contact, checkout) where field names are stable. - Re-using a stored template for a recurring submission. - Authoring a new template for a site by recording the resolved selectors. ## Steps 1. **Open a recorded session** via `browser-record`. 2. **Resolve selectors**: - **Template path** (`--template `): pull `{field_name → selector}` from `browser-templates`. - **Snapshot path**: call `browser_snapshot`, walk the accessibility tree, match each input's accessible name / label to the field map keys. 3. **AIDefence PII gate**: every value in the field map passes `aidefence_has_pii` before any keystroke; record `pii_in_form: true` in the session manifest. **Do not** record the values themselves in the trajectory; record only the field names + a redacted placeholder. 4. **Fill** with `browser_fill` / `browser_type` / `browser_select` / `browser_check` per input type. 5. **Submit** if `--submit`: locate the submit button via the snapshot, `browser_click`, then `browser_wait` for navigation. 6. **Persist the template** if a new mapping was discovered: ```bash npx -y @claude-flow/cli@latest memory store --namespace browser-templates \ --key ":" \ --value "{field_map:{...}, submit_selector:..., post_submit_url_pattern:...}" ``` 7. **Verify** post-submit state if a verification snippet was provided in the field map's `_assert` key. ## Caveats - Trajectory steps for fills MUST redact values. The PII gate is the contract. - For inputs that require typing simulation (e.g., autocomplete reactions), use `browser_type` (simulates keystrokes) rather than `browser_fill` (sets value programmatically). Record which one was used in the trajectory step. - Multi-step forms are a sequence of `browser-form-fill` invocations; chain them via the same session id. - If the form has a CAPTCHA, surface the request to the user — do not attempt to bypass. ## Dónde encaja - Categoría: [Automatización](https://skillsagentes.com/categorias/automatizacion.md) — Flujos de varios pasos que se ejecutan sin supervisión. - Creador: [ruvnet](https://skillsagentes.com/creators/ruvnet.md) — 275 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Harness Gepa](https://skillsagentes.com/skills/ruvnet/ruflo/harness-gepa.md): Inspecciona y audita genomas GEPA: carga y valida un genoma, renderiza el system prompt que compila, o clasifica los modos de fallo de una transcripción de ejecución. - [Deepseek Reason](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-reason.md): Completion en modo razonamiento contra deepseek-reasoner (R1) de DeepSeek. Devuelve el chain-of-thought por separado de la respuesta final. Lee DEEPSEEK_API_KEY y degrada si falta o la API no responde. - [Deepseek Chat](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-chat.md): Completion de un solo turno contra el modelo deepseek-chat de DeepSeek vía /v1/chat/completions. Lee DEEPSEEK_API_KEY y degrada con status:degraded si falta o la API no responde. Para tareas sin razonamiento. - [Adr Index](https://skillsagentes.com/skills/ruvnet/ruflo/adr-index.md): Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP. - [Agntcy Status](https://skillsagentes.com/skills/ruvnet/ruflo/agntcy-status.md): Muestra el estado de la integración AGNTCY/SLIM/CASA: si los paquetes están instalados, qué transporte está activo y si el enforcement de CASA está habilitado. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)