---
name: browser-automation-expert
description: "Expert guide for autonomous web agents (Browser-Use, Stagehand v0.4+), hardcore anti-bot evasion (Playwright Stealth, WebGL masking), and Vision LLM visual QA / Panduan ahli agen web otonom, penghindaran deteksi bot, dan QA visual berbasis Vision LLM."
author: "Roedy Rustam"
version: "4.4.2"
---
# Autonomous Web Agent & Automation Expert (2026 Edition)
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
---
## English
### Orchestration & Integration
- **Testing & E2E Verification**: `e2e-testing-expert`, `visual-ui-auditor`, `screenshot-to-code-expert`, `accessibility-testing-expert`
- **Security & Red Teaming**: `autonomous-red-teamer`, `rate-limit-abuse-prevention`
- **Web Scraping & Data Extraction**: `web-scraper`, `deep-research-analyst`
- **Frontend & UI Craft**: `senior-frontend`, `tailwind-expert`, `design-system-architect`, `modern-css-native-expert`
- **Lifecycle & Governance**: `brainstorming`, `zero-to-prod-orchestrator`, `session-memory-manager`, `anti-slop`
### Purpose & Overview
Deploy ultra-powerful autonomous web agents that perceive, navigate, and execute complex workflows without human intervention. Combine modern agentic web automation frameworks (**Browser-Use**, **Stagehand v0.4+**) with hardcore anti-detection evasion techniques (Playwright Stealth, fingerprint spoofing, residential proxy rotation) and frontier Vision LLMs (**Gemini 4 Argon / Gemini 4 Pro**, **Project Astra**, **Claude Sonnet 5.5 / Fable 5.1 Computer Use**, **OpenAI GPT-5.6 Sol / o3**, **Grok 4.7 High Fast**) for pixel-accurate visual QA.
### Core Capabilities
1. **Autonomous Execution Frameworks (2026 Standard)**
- **Stagehand v0.4+**: Natural language DOM perception with semantic actions (`page.act()`, `page.extract()`, `page.observe()`). Avoid fragile CSS/XPath selectors.
- **Browser-Use**: Autonomous multi-turn web browsing driven by LLMs with accessibility-tree parsing, visual bounding boxes, and goal-oriented execution loops.
2. **Hardcore Evasion & Anti-Bot Bypassing**
- **Playwright Stealth**: Mask `navigator.webdriver`, automate runtime evasion plugins, and neutralize detection scripts (Datadome, Cloudflare Turnstile, Kasada).
- **Fingerprint Masking**: Spoof Canvas, WebGL, AudioContext, hardware concurrency, and WebRTC leak vectors.
- **Human Behavior Mimicry**: Inject natural Bezier-curve mouse movements, randomized typing cadences, and realistic scroll viewport dynamics.
3. **Visual QA & Layout Diffing via Vision LLMs**
- Feed high-resolution viewport screenshots into **Gemini 4 Argon/Pro Vision** (fallback: **Gemini 3.8 Flash Vision**) or **Claude Sonnet 5.5 Vision**.
- Perform automatic visual regression audits, layout drift detection, contrast validation, and modal overlay checks.
---
### Production Implementation Recipes
#### Recipe 1: Stagehand v0.4+ with Playwright Stealth (TypeScript)
```typescript
import { Stagehand } from '@browserbase/stagehand';
import { z } from 'zod';
export async function runAutonomousShoppingAgent(targetProduct: string) {
const stagehand = new Stagehand({
env: 'LOCAL',
modelName: 'claude-sonnet-5.5-20261022',
browserbaseSessionCreateParams: {
projectId: process.env.BROWSERBASE_PROJECT_ID,
},
});
await stagehand.init();
const page = stagehand.page;
try {
await page.goto('https://example-store.com');
// Semantic action without hardcoded selectors
await page.act({ action: `Search for "${targetProduct}" in the search input and press Enter` });
// Extract structured data validated by Zod schema
const productData = await page.extract({
instruction: 'Extract the top 3 product names, prices, and availability status',
schema: z.object({
products: z.array(
z.object({
title: z.string(),
price: z.string(),
inStock: z.boolean(),
})
),
}),
});
console.log('Extracted Products:', productData.products);
return productData.products;
} finally {
await stagehand.close();
}
}
```
#### Recipe 2: Browser-Use with Anti-Bot Evasion (Python)
```python
import asyncio
from browser_use import Agent
from langchain_google_genai import ChatGoogleGenerativeAI
from playwright.async_api import async_playwright
async def run_autonomous_browser_agent(goal: str):
llm = ChatGoogleGenerativeAI(
model="gemini-3.8-flash",
temperature=0.1
)
# Initialize agent with human-like viewport and natural interactions
agent = Agent(
task=goal,
llm=llm,
use_vision=True,
max_actions_per_step=3
)
result = await agent.run(max_steps=25)
print(f"Goal Completed: {result.is_done()}")
return result.final_result()
if __name__ == "__main__":
asyncio.run(run_autonomous_browser_agent("Search flights from CGK to HND for next month and return cheapest option"))
```
### Execution Protocol & Guardrails
- **Pre-flight**: Always inject evasion headers and randomize screen dimensions before navigating.
- **Fail-safe**: Set maximum navigation step thresholds (`max_steps <= 30`) to prevent infinite looping.
- **Visual Validation**: Capture viewport screenshots at critical check-in steps and pass to Vision LLMs to verify state transitions.
### Visual Regression & Vision QA
#### Description
This skill transforms the agent from a blind code generator into a visual designer. Instead of hoping the CSS looks correct, the agent is instructed to write a script that takes a screenshot of the newly created component, analyzes the screenshot using its own Vision AI capabilities, and iteratively tweaks the CSS until it matches the design intent perfectly.
#### Trigger Conditions
Activate this skill when the user says:
- "Fix the CSS, the button is misaligned."
- "Make it look exactly like this mockup."
- "Ensure the UI is responsive on mobile screens."
#### The Visual QA Loop
1. **Code:** The agent writes the HTML/CSS/React component.
2. **Serve:** The agent starts a local dev server in the background.
3. **Capture:** The agent runs a quick Playwright/Puppeteer script to take screenshots at various viewports (Mobile, Tablet, Desktop).
4. **Analyze:** The agent receives the screenshot (via the `view_file` tool on the image) and analyzes the visual hierarchy, contrast, and alignment.
5. **Correct:** The agent fixes margin, padding, or flexbox issues based on what it *saw*, not just what the code says.
#### Agent Constraints (Mandatory Visual Verification)
- **NO BLIND CSS GUESSING**: You are strictly prohibited from finalizing a frontend component without verifying it visually first. You MUST use a `browser_subagent` to capture a screenshot of your work.
- **Pixel-Perfect Validation**: Compare the screenshot against the initial design spec or generic UI/UX best practices. Iterate on the CSS until the visual output is flawless.
- Always check contrast ratios visually if design tokens are overridden.
### Sovereign Execution, Token Efficiency & Invariants
| Dimension | Sovereign Mandate & Deterministic Contract |
| :--- | :--- |
| **Frontier Model Cascade** | Medium / High (`GPT-5.6 Sol Medium`, `Gemini 4 Argon`, `Claude Sonnet 5.5 High`, `Grok 4.7 High Fast`) |
| **Availability Fallback** | `Gemini 4 Argon/Pro` -> `Gemini 3.8 Flash`; `Claude Opus 5.5` -> `Claude Opus 4.6` (Zero unhandled missing-model errors) |
| **KV-Cache & Token Protocol** | Pin static instructions & schemas at prompt prefix (`kv-cache-prefix-optimizer`); pass surgical `CONTEXT_MAP.md` slices (<250 tokens/call) during Swarm Fan-Out |
| **SaaT CLI & MCP Dispatch** | CLI: `vibes skill exec browser-automation-expert ` / MCP: `vibes_skill_dispatch`, `vibes_ast_query`, `vibes_compile_cache`, `vibes_optimize_budget`, `vibes_verify_gate` |
| **NFR & Anti-Slop Invariants** | P99 API Gateway Latency < 85ms, OpenAPI 3.1 / TypeSpec strict schema parity, RFC 9457 Problem Details error contracts, Idempotency-Key enforcement; 100% complete zero-placeholder output verified via `node scripts/check-anti-slop.js --strict` |
---
---
## Bahasa Indonesia
### Integrasi Orkestrasi
- **Pengujian & Verifikasi E2E**: `e2e-testing-expert`, `visual-ui-auditor`, `screenshot-to-code-expert`, `accessibility-testing-expert`
- **Keamanan & Red Teaming**: `autonomous-red-teamer`, `rate-limit-abuse-prevention`
- **Scraping Web & Ekstraksi Data**: `web-scraper`, `deep-research-analyst`
- **Frontend & Craft UI**: `senior-frontend`, `tailwind-expert`, `design-system-architect`, `modern-css-native-expert`
- **Siklus Hidup & Tata Kelola**: `brainstorming`, `zero-to-prod-orchestrator`, `session-memory-manager`, `anti-slop`
### Tujuan & Gambaran Umum
Terapkan agen web otonom super kuat yang dapat melihat, menavigasi, dan mengeksekusi alur kerja kompleks tanpa campur tangan manusia. Menggabungkan framework otomatisasi web agentic modern (**Browser-Use**, **Stagehand v0.4+**) dengan teknik penghindaran deteksi bot tingkat tinggi (Playwright Stealth, manipulasi sidik jari perangkat, rotasi proxy residential) dan model Vision frontier (**Gemini 4 Argon / Gemini 4 Pro**, **Project Astra**, **Claude Sonnet 5.5 / Fable 5.1 Computer Use**, **OpenAI GPT-5.6 Sol / o3**, **Grok 4.7 High Fast**) untuk QA visual tingkat piksel.
### Kemampuan Utama
1. **Framework Eksekusi Otonom (Standar 2026)**
- **Stagehand v0.4+**: Persepsi DOM berbasis bahasa alami dengan aksi semantik (`page.act()`, `page.extract()`, `page.observe()`). Menghilangkan ketergantungan pada selektor CSS/XPath yang rapuh.
- **Browser-Use**: Penelusuran web otonom multi-langkah yang dipandu oleh LLM dengan pemindaian pohon aksesibilitas (accessibility tree), bounding boxes visual, dan siklus eksekusi berorientasi tujuan.
2. **Penghindaran Deteksi & Anti-Bot Tingkat Tinggi**
- **Playwright Stealth**: Menyamarkan `navigator.webdriver`, mematikan skrip deteksi (Datadome, Cloudflare Turnstile, Kasada).
- **Masking Fingerprint**: Memalsukan sidik jari Canvas, WebGL, AudioContext, konkurensi perangkat keras, serta kebocoran WebRTC.
- **Mimikri Perilaku Manusia**: Menginjeksi gerakan kursor kurva Bezier, jeda pengetikan organik, dan dinamika scroll realistis.
3. **QA Visual & Diffing via Vision LLM**
- Teruskan screenshot viewport resolusi tinggi ke **Gemini 4 Argon/Pro Vision** (fallback: **Gemini 3.8 Flash Vision**) atau **Claude Sonnet 5.5 Vision**.
- Jalankan audit regresi visual otomatis, deteksi pergeseran layout, validasi kontras, dan verifikasi modal overlay.
---
### Resep Implementasi Produksi
#### Resep 1: Stagehand v0.4+ dengan Playwright Stealth (TypeScript)
```typescript
import { Stagehand } from '@browserbase/stagehand';
import { z } from 'zod';
export async function jalankanAgenBelanjaOtonom(produkSasaran: string) {
const stagehand = new Stagehand({
env: 'LOCAL',
modelName: 'claude-sonnet-5.5-20261022',
});
await stagehand.init();
const page = stagehand.page;
try {
await page.goto('https://toko-contoh.com');
// Aksi semantik tanpa selektor yang kaku
await page.act({ action: `Cari "${produkSasaran}" pada kolom pencarian dan tekan Enter` });
// Ekstraksi data terstruktur dengan validasi skema Zod
const hasilProduk = await page.extract({
instruction: 'Ekstrak 3 nama produk teratas, harga, dan ketersediaan stok',
schema: z.object({
products: z.array(
z.object({
title: z.string(),
price: z.string(),
inStock: z.boolean(),
})
),
}),
});
console.log('Hasil Ekstraksi:', hasilProduk.products);
return hasilProduk.products;
} finally {
await stagehand.close();
}
}
```
#### Resep 2: Browser-Use dengan Anti-Bot Evasion (Python)
```python
import asyncio
from browser_use import Agent
from langchain_google_genai import ChatGoogleGenerativeAI
async def jalankan_agen_browser(tujuan: str):
llm = ChatGoogleGenerativeAI(
model="gemini-3.8-flash",
temperature=0.1
)
agent = Agent(
task=tujuan,
llm=llm,
use_vision=True,
max_actions_per_step=3
)
result = await agent.run(max_steps=25)
print(f"Status Selesai: {result.is_done()}")
return result.final_result()
if __name__ == "__main__":
asyncio.run(jalankan_agen_browser("Cari tiket pesawat Jakarta ke Tokyo untuk bulan depan dan ambil opsi termurah"))
```
### Protokol Eksekusi & Batasan Keamanan
- **Sebelum Eksekusi**: Selalu injeksikan header penyamaran dan acak dimensi viewport sebelum memuat halaman.
- **Fail-safe**: Batasi jumlah langkah navigasi (`max_steps <= 30`) agar agen tidak terjebak dalam perulangan tak berujung.
- **Validasi Visual**: Tangkap screenshot di titik-titik krusial dan kirimkan ke Vision LLM untuk memastikan status halaman valid.
- **Invarian Fallback Ketersediaan**: Jika tugas penjelajahan atau QA visual menggunakan Gemini 4 namun model belum tersedia/mengalami batas kuota, alihkan secara otomatis ke Gemini 3.8 Flash yang menyediakan throughput multimodal sub-100ms.
### Regresi Visual & QA Visi
#### Deskripsi
Skill ini memanfaatkan kemampuan *Vision* (penglihatan) bawaan AI untuk melakukan *Quality Assurance* (QA) visual. Agen tidak lagi sekadar menebak CSS secara buta, melainkan mengambil *screenshot* dari halaman yang dibuatnya, melihat hasilnya, dan mengkoreksi *margin/padding* secara mandiri.
#### Kondisi Pemicu
- Saat pengguna meminta untuk merapikan UI yang berantakan.
- Saat melakukan *cloning* desain dari gambar *mockup*.
#### Panduan Singkat
- **Gunakan Mata Anda (Wajib Verifikasi Visual):** Anda dilarang keras memfinalisasi atau menyelesaikan tugas frontend tanpa melihat hasilnya terlebih dahulu. Anda WAJIB mengambil *screenshot*, melihatnya menggunakan tool `view_file`, dan memverifikasi layout secara visual (*pixel-perfect*).
- **Siklus Visual:** Tulis Kode ➔ Ambil Screenshot ➔ Analisis dengan *Vision* ➔ Perbaiki Tailwind/CSS ➔ Selesai.
- **Jangan Menebak:** Terkadang `justify-center` tidak berfungsi karena ada pembungkus (*wrapper*) absolut. Jangan menebak-nebak di dalam kode; lihat hasil akhirnya secara visual!
### Matriks Eksekusi Berdaulat, Efisiensi Token & Invarian
| Dimensi | Mandat Berdaulat & Kontrak Deterministik |
| :--- | :--- |
| **Kaskade Model Frontier** | Medium / High (`GPT-5.6 Sol Medium`, `Gemini 4 Argon`, `Claude Sonnet 5.5 High`, `Grok 4.7 High Fast`) |
| **Invarian Fallback Ketersediaan** | `Gemini 4 Argon/Pro` -> `Gemini 3.8 Flash`; `Claude Opus 5.5` -> `Claude Opus 4.6` (Bebas gagal saat model belum tersedia/kuota penuh) |
| **Protokol Hemat Token & KV-Cache** | Kunci instruksi & skema statis di prefix awal (`kv-cache-prefix-optimizer`); kirim potongan `CONTEXT_MAP.md` (<250 token/panggilan) saat Fan-Out |
| **Eksekusi SaaT CLI & MCP** | CLI: `vibes skill exec browser-automation-expert ` / MCP: `vibes_skill_dispatch`, `vibes_ast_query`, `vibes_compile_cache`, `vibes_optimize_budget`, `vibes_verify_gate` |
| **Invarian NFR & Anti-Slop** | Latensi P99 API < 85ms, paritas skema ketat OpenAPI 3.1 / TypeSpec, kontrak error RFC 9457 Problem Details, penegakan Idempotency-Key; kode 100% tuntas tanpa placeholder diverifikasi melalui `node scripts/check-anti-slop.js --strict` |