Skip to main content

gauntlet

Run a real-world navigation and capability gauntlet on Browser Control across live websites, fix general DOM/ARIA/CDP root causes, benchmark speed and token efficiency, and finish with a mandatory simplify pass. Use when asked to run a gauntlet, dogfood Browser Control on real sites, or do an improvement pass.

소스 정보

저장소
anomalyco/browser-control
최근 소스 활동
2026년 10월 6일 06:28
감지된 SKILL.md 언어
영어
스타
440
포크
26

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
gauntlet
description
Run a real-world navigation and capability gauntlet on Browser Control across live websites, fix general DOM/ARIA/CDP root causes, benchmark speed and token efficiency, and finish with a mandatory simplify pass. Use when asked to run a gauntlet, dogfood Browser Control on real sites, or do an improvement pass.
# Gauntlet Run Browser Control against uncurated live websites, fix general root causes as you hit them, lock each fix in with a minimal offline regression test, and always finish with a **Simplify** pass so new capabilities never accumulate site-specific hacks or bloated files. ```ts ┌─────────────────────────────────────────────────────────────────────┐ │ │ ▼ │ [1. Gauntlet] ──► [2. Autoresearch] ──► [3. Simplify] ──► [4. Harvest] ─┘ Real-site Latency, token & Compress code, Promote recurring field tasks round-trip profile remove hacks UI flows to CLIs ``` ## Workflow ### 1. Gauntlet — Adversarial Real-Site Field Pass 1. Create a dedicated session (`browser-control session new "🧭 gauntlet"`) and pick 4–6 diverse live sites that stress different web patterns (never perform destructive/irreversible actions like placing an order): - **Portal UI libraries**: `https://ui.shadcn.com/docs/components/radix/select` (Radix `<button role="combobox">`, body-portaled `[role="listbox"]` / `[role="option"]`) - **Complex web apps**: `https://github.com/Effect-TS/effect/issues` (Primer `[role="menu"]` / `[role="menuitemradio"]`, filter dialogs, `snapshot({ delta: true })`) - **Dense SPAs & e-commerce / booking**: `https://resy.com`, `https://www.ubereats.com` (top-level `<header>` search bars, carousels, focus-locked modals, deep card lists) - **Layout tables & prose**: `https://news.ycombinator.com`, `https://en.wikipedia.org`, `https://www.npmjs.com` - **Web Components & Shadow DOM**: `https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot`, `https://www.reddit.com/r/typescript/` 2. Drive each task through the public agent interface (`snapshot()`, `ref("eN")`, `screenshotWithLabels()`, `network`). 3. Whenever a step fails, times out, misses an interactive control, emits duplicate lines, or forces a blind `waitForTimeout` sleep: - Inspect the live DOM in the session to find the **general DOM, W3C ARIA, or CDP root cause**. - **Never** hardcode site-specific domain names or CSS class names. Express every rule in terms of standard HTML tags, ARIA roles/attributes, computed styles, or DOM structure. - Fix the root cause in `src/` (or `extension/src/`), add a minimal offline HTML regression check to `scripts/check-snapshot.ts` or `test/`, deploy to `/Users/kit/.browser-control/current-runtime` (`pnpm runtime:prepare` + `pnpm runtime:select` + `browser-control relay restart`), and re-verify on the live site. ### 2. Autoresearch — Speed, Token & Round-Trip Check Measure across the gauntlet sites: - **Wall-clock latency (`ms`)** per `snapshot()` call (target: `15–40 ms` on standard pages, `< 180 ms` on 9,000-node Shadow DOM pages). - **Token footprint (`chars` / `lines`)**: eliminate duplicate `heading` + `link` pairs, redundant `listitem` / `p` wrappers, and layout-table noise. - **Avoidable round-trips & sleeps**: prefer event-driven settle (`MutationObserver`, `Emulation.setFocusEmulationEnabled`) over manual `waitForTimeout` padding. ### 3. Simplify — Mandatory Coherence & Compression Pass After fixing gauntlet findings, always run a `simplify` pass before finishing: - Remove any ad-hoc branches, dead flags, or overlapping helpers introduced during debugging. - Keep module boundaries clean (`src/snapshot.ts` owns DOM inspection and input helpers; `src/execute.ts` owns `ExecuteSandbox` and page recovery). - Run the full verification gate: ```bash pnpm exec tsx scripts/check-snapshot.ts pnpm check:locals && pnpm check:unused && pnpm audit:duplicates pnpm test ``` ### 4. Harvest — UI-to-API Promotion (Optional) When testing a multi-step workflow (like Uber Eats or Resy), verify that `network.start()` + `network.stop()` produces a clean `.endpoints` digest and that `BrowserControlClient.origin(url, { session, headers, handoffOnAuthFailure: true })` can drive the JSON API directly in one turn. Always delete temporary gauntlet sessions (`browser-control session delete "🧭 gauntlet"`) when finished.
GitHub에서 보기