cmux-browser

Automate web tasks in CMUX via snapshot-driven refs and waits.

Updated Mar 11, 2026
One-click install
npx skills add https://github.com/selfagency/agentsy --skill cmux-browser-selfagency
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cmux-browser
Source: https://github.com/selfagency/agentsy/tree/main/.agents/skills/cmux-browser
Command: npx skills add https://github.com/selfagency/agentsy --skill cmux-browser-selfagency

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve?

This Skill solves the problem of manually clicking through web pages inside cmux webviews by providing a reliable, ref-based workflow for navigation, interaction, waiting, and extraction.

Core Features & Use Cases

  • End-user browser automation: Open or target browser surfaces, navigate to URLs, and manage page transitions.
  • Snapshot-driven element refs: Take interactive snapshots to obtain fresh element refs, then act on those refs (click, fill, type, select, press).
  • Wait for the right state: Wait for selectors, text, URL changes, load state, or custom JavaScript conditions before acting or extracting.
  • Authentication and session persistence patterns: Save/load authenticated state to reuse logins and continue workflows across runs.
  • Artifact capture for debugging: Produce snapshots and screenshots as step evidence, especially when flows are flaky or rich snapshots fail.

Quick Start

Use the cmux-browser skill to open a page in a cmux browser surface, wait for load completion, take an interactive snapshot, fill form fields by ref, click submit with a post-action snapshot, and then re-snapshot after navigation.

Frequently Asked Questions about cmux-browser

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate form filling inside a webview when page elements keep shifting?

Automate form filling by taking an interactive snapshot to extract stable element refs, then use those refs to click or fill fields. Re-snapshot after any DOM or navigation changes to avoid stale refs and ensure reliable webview interactions.

How do I wait for dynamic page loads before extracting data during webview automation?

Wait for dynamic page loads by checking selectors, text matches, URL changes, load state, or custom JavaScript conditions. This ensures the webview reaches the correct state before you take a snapshot or attempt data extraction.

Why do my element refs become stale after clicking submit during webview automation?

Element refs become stale after clicking submit because the DOM or page navigation changes. You must take a fresh interactive snapshot after any navigation or state transition to obtain valid refs for subsequent interactions.

Can I capture screenshots and snapshots as evidence for flaky webview automation flows?

You can capture screenshots and interactive snapshots as step evidence during webview automation. This is especially useful for debugging flaky flows or diagnosing failures when rich snapshots fail to capture page state.

Does cmux-browser work with WKWebView-driven pages for login automation?

Yes, cmux-browser works with WKWebView-driven pages for login automation. It handles stateful page transitions, dynamic selectors, and timing-sensitive interactions to complete real web tasks within cmux surfaces.