Lo más interesante de browser-use/browser-harness no es solo que permite a los AI Agent controlar Chrome real. También convierte la experiencia de operación web en domain skills reutilizables.
Esto importa porque la automatización de navegador rara vez es difícil solo por hacer clic en botones. Cada sitio tiene sus propios detalles:
- Qué páginas requieren login.
- Qué datos pueden obtenerse directamente por API.
- Qué botones no responden a clics DOM normales.
- Qué iframes, shadow DOM o popups bloquean el flujo.
- Qué selectores son estables y cuáles son clases temporales.
- Qué acciones involucran cuentas, pagos o cambios irreversibles y requieren confirmación humana.
Si esa experiencia solo queda en un log de una tarea, el agente volverá a caer en los mismos problemas. domain skills sirve para conservarla, de modo que el agente no empiece desde cero cada vez que abre un sitio.
Qué son los domain skills
Puedes entender domain skills como manuales de operación de sitios para agentes.
No son documentación de usuario normal ni scripts de una sola vez. Son más bien conocimiento de sitio probado en campo:
- Si el sitio es adecuado para usar navegador.
- Qué API debe usarse primero si existe.
- Qué URL conviene usar cuando el navegador es necesario.
- Qué estructuras DOM, aria-labels y comportamientos de botones fueron verificados.
- Qué enfoques comunes fallan.
- En qué escenarios se debe detener y pedir intervención humana.
Este contenido puede ser revisado por humanos y leído por agentes durante tareas. Convierte la exploración improvisada en experiencia mantenible.
No es para que el agente haga clic a ciegas
Un buen browser agent no debería convertir todos los problemas en abrir una web, mirar capturas y pulsar botones.
Una parte importante de domain skills consiste precisamente en decirle al agente cuándo no usar el navegador.
En sitios como ArXiv, la búsqueda de papers, metadatos y resúmenes pueden obtenerse mediante Atom API o etiquetas meta HTML. Las solicitudes HTTP suelen ser más rápidas, estables y fáciles de analizar que abrir un navegador.
GitHub sigue una lógica parecida. Repositorios, usuarios y releases deberían usar primero la REST API. El contenido de archivos debería leerse desde raw.githubusercontent.com. Solo páginas como GitHub Trending, sin API equivalente, requieren navegador.
Esto muestra que browser-harness no parte de “el navegador lo resuelve todo”. Coloca el navegador en su lugar correcto: cuando API, HTTP y páginas estáticas no resuelven el problema, el agente opera una página real.
Guardan conocimiento por sitio
Los scripts tradicionales de automatización suelen escribirse alrededor de una tarea:
|
|
Ese script puede completar la tarea, pero la experiencia queda dispersa en el código. Si el sitio cambia, el script falla. Si cambia la tarea, gran parte de la experiencia no se reutiliza.
domain skills tiene una granularidad más cercana a una base de conocimiento por sitio. Se preocupa por:
- Qué selector de contenedor es estable en resultados de Amazon.
- Qué datos de GitHub deberían ir por REST API.
- Cómo difieren los
aria-labelde botones en LinkedIn invitations. - Qué páginas de Shopify Admin son embedded apps.
- Por qué los inputs de Shopify Polaris no siempre aceptan asignación JS normal de
value. - Cómo crear, listar y limpiar instancias de navegador en Browser Use Cloud.
Estas experiencias no son pasos de una sola tarea. Son criterios que muchas tareas futuras pueden reutilizar.
Ejemplo: búsqueda de productos en Amazon
En Amazon, lo importante no es solo cómo buscar productos, sino qué ruta es más estable.
Un enfoque fiable es usar una URL de búsqueda directa en lugar de abrir siempre la portada y simular escritura. Los resultados pueden extraerse de un contenedor como [data-component-type="s-search-result"]. La extracción de campos también tiene matices: título, precio, rating, número de reseñas y si es patrocinado tienen fuentes DOM más estables.
Esto es valioso para un agente. Sin esa experiencia, el agente podría adivinar botones desde capturas y probar selectores una y otra vez. Con ella, puede ir directamente a una ruta de extracción más estable.
Además, un skill puede registrar trampas. Algunos selectores que parecen válidos pueden leer mal resultados patrocinados o áreas de recomendación cruzada. Eso solo se aprende probando.
Ejemplo: gestión de invitaciones en LinkedIn
LinkedIn se acerca más a flujos con cuentas reales, y por eso tiene más riesgo.
En la página de gestión de invitaciones, los botones Accept e Ignore tienen formatos de aria-label distintos. No se puede derivar uno del otro. Algunas tarjetas incluso renderizan Accept como <a> en lugar de <button>, y un clic CDP normal puede no disparar la acción.
Esto muestra que la automatización web real no termina al localizar un elemento. Etiquetas, eventos, soft navigation e implementación de componentes afectan si la acción realmente ocurre.
Para un agente, esta experiencia también tiene una implicación de seguridad. Las acciones relacionadas con cuentas sociales, invitaciones, mensajes y publicaciones no deberían delegarse por completo. El skill puede registrar rutas y trampas, pero aceptar invitaciones en lote, enviar contenido externo o cambiar datos de cuenta debería conservar confirmación humana.
Ejemplo: Shopify Admin
Shopify Admin muestra otro problema: un backend no siempre es una página única, sino una combinación de embedded apps y componentes complejos.
Muchas apps de Shopify corren dentro de iframes. Los inputs Polaris React, Web Components y embedded apps tienen comportamientos distintos. Algunos inputs no se pueden llenar solo con element.value = ...; requieren CDP keystrokes más parecidos a entrada real de teclado.
El valor de este tipo de skill es que permite al agente identificar primero qué tipo de UI está viendo y luego elegir el método correcto.
La experiencia de Shopify también enfatiza “no uses navegador si no hace falta”:
- Para datos de producto e inventario de solo lectura, usar primero Storefront API.
- Si hay un token de Admin API, usar primero Admin API.
- Para editar código de tema, usar primero Shopify CLI.
- Usar navegador solo cuando no hay API, el cambio es puntual o se está explorando el admin.
Esa es una lógica madura de elección de herramientas para agentes.
Ejemplo: Browser Use Cloud
domain skills no solo sirve para clics en páginas. También puede registrar experiencia de API alrededor del runtime del navegador.
La experiencia de Browser Use Cloud puede registrar cómo crear cloud browsers por REST API, listar navegadores activos, limpiar zombie browsers y obtener liveUrl y cdpUrl.
Esto significa que un skill no se limita a “cómo pulsar un botón”. Cualquier tarea recurrente con un método estable puede convertirse en skill:
- Forma de llamar la API.
- Formato de cabeceras de autenticación.
- Estructura de request y response.
- Códigos de estado verificados.
- Modos de fallo frecuentes.
- Limpieza y reciclaje de recursos.
Para agentes, todo eso son capacidades reutilizables.
Por qué es más fiable que razonar sobre la marcha
Muchas personas esperan que un modelo grande entienda la página por sí mismo cada vez. En tareas reales, depender solo del razonamiento improvisado no es estable.
Las razones son simples:
- La UI web cambia con frecuencia.
- El mismo botón puede tener varias implementaciones.
- Visible no significa clicable.
- Clicable no significa que la acción haya tenido efecto.
- Algunas tareas deberían usar API, no navegador.
- Algunas acciones requieren confirmación humana y no deberían decidirse solo por el modelo.
Al escribir estas experiencias en archivos, se obtienen varias ventajas:
- Los humanos pueden revisarlas.
- Las experiencias erróneas pueden corregirse.
- El conocimiento del mismo sitio puede acumularse.
- Nuevos agentes pueden heredar experiencias anteriores.
- Descubrimientos temporales pueden convertirse en conocimiento duradero.
Esto es más estable que ponerlo todo en un prompt o en el contexto de chat.
Cómo puede usarlo un equipo
En un equipo, domain skills puede convertirse en una base ligera de conocimiento de automatización.
Conviene registrar cosas como:
- Rutas tras login en sistemas internos.
- Flujos de exportación de reportes.
- Manejo de popups frecuentes.
- Qué botones requieren confirmación humana.
- Qué páginas tienen alternativa por API.
- Qué selectores fueron probados y son fiables.
- Qué tareas el agente no debe ejecutar automáticamente.
No hace falta que todo esté completo desde el inicio. Lo práctico es empezar por flujos de bajo riesgo, frecuentes y reversibles: lectura, descarga, organización y comprobación. Cuando el flujo sea estable, convertir la experiencia en skill.
Para gestores de equipo, los archivos skill hacen visible el límite de automatización. Permiten revisar qué sabe el agente, qué puede hacer y dónde debe detenerse.
Límites importantes
domain skills puede mejorar la tasa de éxito del agente, pero no debería automatizar por completo operaciones de alto riesgo.
Hay límites que conviene mantener:
- No registrar contraseñas, Cookie, token, datos de clientes ni URLs internas sensibles.
- Mantener confirmación humana para pagos, borrados, envíos masivos, cambios de cuenta y publicaciones externas.
- Escribir fecha de verificación y alcance del skill.
- Permitir que el skill caduque tras cambios del sitio y se vuelva a validar.
- No usar skills para evadir controles de riesgo o límites de plataforma.
En otras palabras, domain skill hace al agente más estable, no le da permiso ilimitado.
Conclusión
El mecanismo de domain skills de browser-harness muestra que la automatización web con AI Agent no puede depender solo de improvisación del modelo.
Un browser agent útil necesita al menos tres capas:
- Control de bajo nivel: capturas, clics, entrada, descargas, CDP, HTTP.
- Conocimiento por sitio: prioridad de API, selectores estables, trampas de componentes, límites de login.
- Reglas humanas de seguridad: no entregar credenciales al modelo, confirmar acciones de alto riesgo y no escribir información sensible en skills.
domain skills cubre la segunda capa. Permite que el agente entre a una tarea web con experiencia verificada en lugar de redescubrir todo cada vez.
Referencias:
- browser-harness domain skills: https://github.com/browser-use/browser-harness/tree/main/agent-workspace/domain-skills
- Amazon product-search skill: https://github.com/browser-use/browser-harness/blob/main/agent-workspace/domain-skills/amazon/product-search.md
- ArXiv scraping skill: https://github.com/browser-use/browser-harness/blob/main/agent-workspace/domain-skills/arxiv/scraping.md
- GitHub scraping skill: https://github.com/browser-use/browser-harness/blob/main/agent-workspace/domain-skills/github/scraping.md
- LinkedIn invitation-manager skill: https://github.com/browser-use/browser-harness/blob/main/agent-workspace/domain-skills/linkedin/invitation-manager.md
- Shopify admin skill: https://github.com/browser-use/browser-harness/blob/main/agent-workspace/domain-skills/shopify-admin/README.md
- Browser Use Cloud skill: https://github.com/browser-use/browser-harness/blob/main/agent-workspace/domain-skills/browser-use-cloud/cloud.md