cmux-browser

Automate browser interactions in cmux surfaces using snapshot-based element refs.

1|Updated Sep 6, 2015
One-click install
npx skills add https://github.com/deerawan/dotfiles --skill cmux-browser-deerawan
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cmux-browser
Source: https://github.com/deerawan/dotfiles/tree/main/agents/skills/cmux-browser
Command: npx skills add https://github.com/deerawan/dotfiles --skill cmux-browser-deerawan

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill eliminates flaky, manual browser interaction inside cmux webviews by providing a repeatable open→wait→snapshot→act loop that keeps element references fresh.

Core Features & Use Cases

  • Stable page interaction via snapshot refs: Take interactive snapshots to generate usable element refs, then act with click, fill, type, select, and press.
  • Deterministic navigation checks: Use get url and targeted wait conditions (selector, text, url contains, load state, or a function) before acting or capturing.
  • Post-action correctness: Re-snapshot after DOM/navigation changes using --snapshot-after or a follow-up snapshot --interactive.

Quick Start

Tell the AI to open a site in a chosen cmux surface, confirm navigation with get url and wait for load state, then snapshot interactive refs and click or fill the required elements.

Frequently Asked Questions about cmux-browser

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

FAQPage Schema
How do I automate web form filling inside a cmux webview without element references going stale?

To automate web form filling without stale references, use an open, wait, snapshot, and act loop that re-snapshots the DOM after mutations. This interactive snapshot approach generates fresh element refs for reliable clicks, typing, and selections.

What is the best way to wait for a page to load before interacting with elements in browser automation?

The best way to wait for a page to load is using deterministic navigation checks like get url and targeted wait conditions. You can wait for specific selectors, text content, URL matches, or general load states before capturing interactive snapshots.

How does interactive snapshotting work for reliable browser action loops?

Interactive snapshotting works by capturing the current DOM state to generate unique, usable element references. You then perform actions like click or fill using these refs, and re-snapshot after any DOM or navigation changes to avoid stale references.

Why do my browser automation scripts fail after clicking a button or submitting a form in cmux?

Browser automation scripts fail after clicks or submissions because DOM mutations invalidate previously captured element references. You must re-snapshot using --snapshot-after or a follow-up interactive snapshot to refresh refs before the next interaction.

Can I use cmux browser commands for data extraction and navigation verification?

Yes, you can use cmux browser commands like goto for navigation, get url for verification, and interactive snapshots for data extraction. These commands support reliable action loops necessary for common web flows and form filling.

What wait conditions are supported for deterministic navigation checks in cmux?

Supported wait conditions for deterministic navigation checks include waiting for a specific selector, text appearance, URL contains matching, load state, or a custom function. These conditions ensure the page is fully ready before you capture refs.