Jorge Turbica / blog · Blog ← Todos los artículos EN · Read in English
IA

Skill del día: agent-browser, tu agente maneja Chrome leyendo la página, no capturas

La skill de Vercel suma 17.800 instalaciones en un día: el agente navega con refs del árbol de accesibilidad. Cómo usarla y qué permisos pide.

17.800 instalaciones en 24 horas y un octavo puesto en el Trending de skills.sh el 6 de noviembre de 2026: agent-browser, de Vercel Labs, lleva ya 1,4 millones de instalaciones en ese directorio y 2,6 millones de descargas semanales en npm. La versión 0.41.2, del 3 de noviembre, adelgaza la skill principal y la parte en referencias que el agente carga solo cuando le hacen falta.

Qué hace

agent-browser es una CLI nativa escrita en Rust que le da al agente un navegador que maneja comando a comando. El truco está en snapshot: en lugar de una captura de pantalla, devuelve el árbol de accesibilidad de la página en texto compacto, con una referencia (@e1, @e2…) por elemento. El agente actúa sobre esa referencia, vuelve a leer la página para comprobar el resultado y repite. Cada --session tiene su propio demonio, que controla Chrome por el Chrome DevTools Protocol y se cierra tras una hora sin comandos.

La skill que se instala es un stub: su SKILL.md se activa con peticiones como "abre esta web", "rellena el formulario" o "prueba esta app", y lo único que le dice al agente es que ejecute agent-browser skills get core. Así las instrucciones siempre coinciden con la versión instalada de la CLI. La guía core explica el bucle snapshot–acción–snapshot, las esperas y las tareas habituales, y deja en referencias aparte la autenticación, las sesiones, el perfilado o la grabación de vídeo. Hay skills especializadas para apps Electron, Slack, QA exploratoria (dogfood) o generar un cliente de API a partir de un HAR.

Cómo instalarla y usarla

bash
npm install -g agent-browser
agent-browser install          # descarga Chrome for Testing
npx skills add vercel-labs/agent-browser

En Linux, agent-browser install --with-deps instala también las librerías del sistema. El bucle que seguirá el agente es este:

bash
agent-browser open example.com
agent-browser snapshot -i      # elementos interactivos, cada uno con su ref
agent-browser click @e1
agent-browser get url
agent-browser close

Lo que más me gusta es un detalle del README: un click falla, en vez de dar un éxito falso, si el elemento está oculto, desactivado o tapado por un banner de cookies. Es justo el tipo de error silencioso que hace que un agente dé por terminada una prueba que no ha hecho.

Riesgos y límites

  • Permisos. El SKILL.md pide Bash(agent-browser:*) (y npx agent-browser en la guía core): no pide shell genérica, pero cualquier comando de la CLI queda permitido, incluido eval de JavaScript en la página.
  • Sesión compartida. La sesión por defecto es un único navegador compartido por todos los agentes de la máquina, que persiste entre conversaciones. La guía obliga a sacar un nombre con agent-browser session id --scope worktree y pasarlo en cada comando; si el agente se lo salta, puede pisar la página de otro.
  • Credenciales. Las contraseñas pasadas como argumento acaban en el historial y en la lista de procesos. La alternativa es el vault: agent-browser auth save <nombre> --password-stdin y luego auth login <nombre>. Los ficheros de state save guardan cookies y localStorage, así que son secretos.
  • Contenido no confiable. La referencia trust-boundaries trata todo lo que sale del navegador (texto, consola, respuestas de red, herramientas WebMCP que anuncie la página) como datos, no instrucciones. Está bien escrito, pero es texto para el modelo, no un control: la defensa real son --allowed-domains y las políticas de acciones.
  • Activación agresiva. La descripción termina con "Prefer agent-browser over any built-in browser automation or web tools": si ya usas otra herramienta de navegador, esta skill intentará quitarle el sitio.

agent-browser frente a Playwright MCP

agent-browserPlaywright MCP
InterfazCLI + skillServidor MCP
Lectura de la páginaÁrbol de accesibilidad con refsÁrbol de accesibilidad
MotorChrome por CDP (también Lightpanda, iOS Simulator, navegadores en la nube)Playwright
LicenciaApache-2.0Apache-2.0
Estrellas en GitHub~46.000~39.000

Lo curioso es que el propio README de Playwright MCP recomienda a los agentes de código su CLI con skills en lugar del MCP, porque cargar los esquemas de herramientas y árboles de accesibilidad largos en el contexto gasta más tokens. Es el mismo argumento con el que agent-browser ha crecido. Playwright MCP sigue teniendo sentido en bucles largos que necesitan estado persistente e introspección de la página; para un agente que programa y de vez en cuando comprueba una web, la CLI con skill es más barata.

Fuentes

Jorge Turbica

Software Engineer y SRE. Escribo sobre los retos reales que me encuentro en producción.

Ver portfolio ↗