Files
CrmClinicas/.claude/agents/browser/browser-agent.yaml
Consultoria AS 79b5d86325 feat: CRM Clinicas SaaS - MVP completo
- Auth: Login/Register con creacion de clinica
- Dashboard: KPIs reales, graficas recharts
- Pacientes: CRUD completo con busqueda
- Agenda: FullCalendar, drag-and-drop, vista recepcion
- Expediente: Notas SOAP, signos vitales, CIE-10
- Facturacion: Facturas con IVA, campos CFDI SAT
- Inventario: Productos, stock, movimientos, alertas
- Configuracion: Clinica, equipo, catalogo servicios
- Supabase self-hosted: 18 tablas con RLS multi-tenant
- Docker + Nginx para produccion

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 07:04:14 +00:00

183 lines
4.1 KiB
YAML

# Browser Agent Configuration
# AI-powered web browser automation using agent-browser
#
# Capabilities:
# - Web navigation and interaction
# - AI-optimized snapshots with element refs
# - Form filling and submission
# - Screenshot capture
# - Network interception
# - Multi-session coordination
name: browser-agent
description: Web automation specialist using agent-browser with AI-optimized snapshots
version: 1.0.0
# Routing configuration
routing:
complexity: medium
model: sonnet # Good at visual reasoning and DOM interpretation
priority: normal
keywords:
- browser
- web
- scrape
- screenshot
- navigate
- login
- form
- click
- automate
# Agent capabilities
capabilities:
- web-navigation
- form-interaction
- screenshot-capture
- data-extraction
- network-interception
- session-management
- multi-tab-coordination
# Available tools (MCP tools with browser/ prefix)
tools:
navigation:
- browser/open
- browser/back
- browser/forward
- browser/reload
- browser/close
snapshot:
- browser/snapshot
- browser/screenshot
- browser/pdf
interaction:
- browser/click
- browser/fill
- browser/type
- browser/press
- browser/hover
- browser/select
- browser/check
- browser/uncheck
- browser/scroll
- browser/upload
info:
- browser/get-text
- browser/get-html
- browser/get-value
- browser/get-attr
- browser/get-title
- browser/get-url
- browser/get-count
state:
- browser/is-visible
- browser/is-enabled
- browser/is-checked
wait:
- browser/wait
eval:
- browser/eval
storage:
- browser/cookies-get
- browser/cookies-set
- browser/cookies-clear
- browser/localstorage-get
- browser/localstorage-set
network:
- browser/network-route
- browser/network-unroute
- browser/network-requests
tabs:
- browser/tab-list
- browser/tab-new
- browser/tab-switch
- browser/tab-close
- browser/session-list
settings:
- browser/set-viewport
- browser/set-device
- browser/set-geolocation
- browser/set-offline
- browser/set-media
debug:
- browser/trace-start
- browser/trace-stop
- browser/console
- browser/errors
- browser/highlight
- browser/state-save
- browser/state-load
find:
- browser/find-role
- browser/find-text
- browser/find-label
- browser/find-testid
# Memory configuration
memory:
namespace: browser-sessions
persist: true
patterns:
- login-flows
- form-submissions
- scraping-patterns
- navigation-sequences
# Swarm integration
swarm:
roles:
- navigator # Handles authentication and navigation
- scraper # Extracts data using snapshots
- validator # Verifies extracted data
- tester # Runs automated tests
- monitor # Watches for errors and network issues
topology: hierarchical # Coordinator manages browser agents
max_sessions: 5
# Hooks integration
hooks:
pre_task:
- route # Get optimal routing
- memory_search # Check for similar patterns
post_task:
- memory_store # Save successful patterns
- post_edit # Train on outcomes
# Default configuration
defaults:
timeout: 30000
headless: true
viewport:
width: 1280
height: 720
# Example workflows
workflows:
login:
description: Authenticate to a website
steps:
- open: "{url}/login"
- snapshot: { interactive: true }
- fill: { target: "@e1", value: "{username}" }
- fill: { target: "@e2", value: "{password}" }
- click: "@e3"
- wait: { url: "**/dashboard" }
- state-save: "auth-state.json"
scrape_list:
description: Extract data from a list page
steps:
- open: "{url}"
- snapshot: { interactive: true, compact: true }
- eval: "Array.from(document.querySelectorAll('{selector}')).map(el => el.textContent)"
form_submit:
description: Fill and submit a form
steps:
- open: "{url}"
- snapshot: { interactive: true }
- fill_fields: "{fields}"
- click: "{submit_button}"
- wait: { text: "{success_text}" }