Dev-Browser CLI Automation
SawyerHood/dev-browser
Browser automation with persistent named pages via the dev-browser CLI. Use when users ask to navigate websites, fill forms, take screenshots, extract web…
Manage cloud development sandboxes with cmux. An agent skill from manaflow-ai/manaflow.
$ npx skills add manaflow-ai/manaflow --skill cmux -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install manaflow-ai/manaflow cmux --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/manaflow-ai/manaflow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cmux .claude/skills/cmux && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cmux" agent skill from https://github.com/manaflow-ai/manaflow/tree/main/skills/cmux into .claude/skills/cmux/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cmux", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/manaflow-ai/manaflow/tree/main/skills/cmuxType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add manaflow-ai/manaflow --skill cmux -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install manaflow-ai/manaflow cmux --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/manaflow-ai/manaflow.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cmux .agents/skills/cmux && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cmux" agent skill from https://github.com/manaflow-ai/manaflow/tree/main/skills/cmux into .agents/skills/cmux/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cmux", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add manaflow-ai/manaflow --skill cmux -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install manaflow-ai/manaflow cmux --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/manaflow-ai/manaflow.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cmux .cursor/skills/cmux && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cmux" agent skill from https://github.com/manaflow-ai/manaflow/tree/main/skills/cmux into .cursor/skills/cmux/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cmux", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/manaflow-ai/manaflow.git --path skills/cmux--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add manaflow-ai/manaflow --skill cmux -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install manaflow-ai/manaflow cmux --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/manaflow-ai/manaflow.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cmux .gemini/skills/cmux && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cmux" agent skill from https://github.com/manaflow-ai/manaflow/tree/main/skills/cmux into .gemini/skills/cmux/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cmux", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install manaflow-ai/manaflow cmuxInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add manaflow-ai/manaflow --skill cmux -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/manaflow-ai/manaflow.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cmux .github/skills/cmux && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cmux" agent skill from https://github.com/manaflow-ai/manaflow/tree/main/skills/cmux into .github/skills/cmux/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cmux", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add manaflow-ai/manaflow --skill cmux -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install manaflow-ai/manaflow cmux --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/manaflow-ai/manaflow.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cmux .opencode/skills/cmux && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cmux" agent skill from https://github.com/manaflow-ai/manaflow/tree/main/skills/cmux into .opencode/skills/cmux/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cmux", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cmuxManage cloud development sandboxes with cmux. An agent skill from manaflow-ai/manaflow.
Cmux is an agent skill from manaflow-ai/manaflow. Manage cloud development sandboxes with cmux. Create, sync, and access remote VMs. Includes browser automation via Chrome CDP for scraping, testing, and web interaction.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Productivity & Automation, covering Browser automation and Web scraping. The repository describes itself as: Open source Claude Code web/Codex Cloud/Devin/Ramp Inspect alternative. The licence is MIT.
Read from SKILL.md and the folder at commit ab4858e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
5173-xxx.e2b.app3000-xxx.e2b.appFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cmux loads about 2k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 360 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from manaflow-ai/manaflow at commit ab4858e, republished under its MIT licence (© manaflow-ai). 360 words, ~2,021 tokens.
.claude/skills/cmux/SKILL.md (or your agent's skills folder).cmux manages cloud sandboxes for development. Use these commands to create, manage, and access remote development environments with built-in browser automation.
npm install -g cmuxcmux login # Authenticate (opens browser)
cmux start ./my-project # Create sandbox, upload directory → returns ID
cmux start . # Or use current directory
cmux code <id> # Open VS Code
cmux pty <id> # Open terminal session
cmux upload <id> ./my-project # Upload files/directories to sandbox
cmux download <id> ./output # Download files from sandbox
cmux computer screenshot <id> # Take browser screenshot
cmux stop <id> # Stop sandbox
cmux delete <id> # Delete sandbox
cmux ls # List all sandboxesPreferred: Always use
cmux start .orcmux start <local-path>to sync your local directory to a cloud sandbox. This is the recommended workflow over cloning from a git repo.
cmux login # Login (opens browser)
cmux logout # Logout and clear credentials
cmux whoami # Show current user and team# Preferred: local-to-cloud (syncs your local directory to the sandbox)
cmux start . # Create sandbox from current directory (recommended)
cmux start ./my-project # Create sandbox from a specific local directory
cmux start -o . # Create from local dir and open VS Code immediately
# Alternative: clone from git
cmux start --git user/repo # Clone a git repo into sandbox
cmux start --docker # Create sandbox with Docker support
cmux ls # List all sandboxes
cmux status <id> # Show sandbox details and URLs
cmux stop <id> # Stop sandbox
cmux extend <id> # Extend sandbox timeout
cmux delete <id> # Delete sandbox permanently
cmux templates # List available templatescmux code <id> # Open VS Code in browser
cmux vnc <id> # Open VNC desktop in browser
cmux pty <id> # Interactive terminal sessioncmux pty <id> # Interactive terminal session (use this to run commands)
cmux exec <id> <command> # Execute a one-off commandImportant: Prefer
cmux ptyfor interactive work. Usecmux execonly for quick one-off commands.
Upload and download files or directories between local machine and sandbox.
# Upload (local → sandbox)
cmux upload <id> # Upload current dir to /home/user/workspace
cmux upload <id> ./my-project # Upload directory to workspace
cmux upload <id> ./config.json # Upload single file to workspace
cmux upload <id> . -r /home/user/app # Upload to specific remote path
cmux upload <id> . --watch # Watch and re-upload on changes
cmux upload <id> . --delete # Delete remote files not present locally
cmux upload <id> . -e "*.log" # Exclude patterns
# Download (sandbox → local)
cmux download <id> # Download workspace to current dir
cmux download <id> ./output # Download workspace to ./output
cmux download <id> . -r /home/user/app # Download from specific remote pathControl Chrome browser via CDP in the sandbox's VNC desktop.
cmux computer open <id> <url> # Navigate to URL
cmux computer back <id> # Navigate back
cmux computer forward <id> # Navigate forward
cmux computer reload <id> # Reload page
cmux computer url <id> # Get current URL
cmux computer title <id> # Get page titlecmux computer snapshot <id> # Get accessibility tree with element refs (@e1, @e2...)
cmux computer screenshot <id> # Take screenshot (base64 to stdout)
cmux computer screenshot <id> out.png # Save screenshot to filecmux computer click <id> <selector> # Click element (@e1 or CSS selector)
cmux computer type <id> "text" # Type into focused element
cmux computer fill <id> <sel> "value" # Clear input and fill with value
cmux computer press <id> <key> # Press key (Enter, Tab, Escape, etc.)
cmux computer hover <id> <selector> # Hover over element
cmux computer scroll <id> [direction] # Scroll page (up/down/left/right)
cmux computer wait <id> <selector> # Wait for element to appearTwo ways to select elements:
@e1, @e2, @e3...#id, .class, button[type="submit"]Sandbox IDs look like cmux_abc12345. Use the full ID when running commands. Get IDs from cmux ls or cmux start output.
cmux start ./my-project # Creates sandbox, uploads files
cmux code cmux_abc123 # Open VS Code
cmux pty cmux_abc123 # Open terminal to run commands (e.g. npm install && npm run dev)cmux upload cmux_abc123 ./my-project # Push local files to sandbox
# ... do work in sandbox ...
cmux download cmux_abc123 ./output # Pull files from sandbox to localcmux computer open cmux_abc123 "https://example.com/login"
cmux computer snapshot cmux_abc123
# Output: @e1 [input] Email, @e2 [input] Password, @e3 [button] Sign In
cmux computer fill cmux_abc123 @e1 "user@example.com"
cmux computer fill cmux_abc123 @e2 "password123"
cmux computer click cmux_abc123 @e3
cmux computer screenshot cmux_abc123 result.pngcmux computer open cmux_abc123 "https://example.com/data"
cmux computer snapshot cmux_abc123 # Get structured accessibility tree
cmux computer screenshot cmux_abc123 # Visual capturecmux stop cmux_abc123 # Stop (can restart later)
cmux delete cmux_abc123 # Delete permanentlyCRITICAL: NEVER share or output raw E2B port-forwarded URLs.
When a dev server runs in the sandbox (e.g., Vite on port 5173, Next.js on port 3000), E2B creates publicly accessible URLs like https://5173-xxx.e2b.app. These URLs have NO authentication — anyone with the link can access the running application.
Rules:
https://5173-xxx.e2b.app, https://3000-xxx.e2b.app, or any https://<port>-xxx.e2b.app URLcmux vnc <id>?tkn=) and is the only safe way to view dev server outputcmux code <id>) and VNC URLs (cmux vnc <id>) should be shared — these have proper token authWhen a dev server is started:
✓ Dev server running on port 5173
View it in your sandbox's VNC desktop: cmux vnc <id>
(The browser inside VNC can access http://localhost:5173)NEVER do this:
Frontend: https://5173-xxx.e2b.app ← WRONG: publicly accessible, no authcmux login first if not authenticated--json flag for machine-readable output-t <team> to override default team-v for verbose outputsnapshot first to see available elements before browser automation@e1) for reliability over CSS selectors© manaflow-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/cmux of manaflow-ai/manaflow.
Open the folder on GitHubat commit ab4858e
Cmux next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cmux this skillmanaflow-ai/manaflow | 1.1k | — | ~2k | Automated safety check: Pass | MIT | |
| Dev-Browser CLI AutomationSawyerHood/dev-browser | 6.7k | 1 repos | ~455 | Automated safety check: Pass | MIT | |
| Browser Useletta-ai/letta-code | 3.6k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Browser Usedavidondrej/skills | 4.1k | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Puppeteer Skillsickn33/agentic-awesome-skills | 47k | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Use Tinyfishtinyfish-io/tinyfish-cookbook | 2.2k | — | ~2.1k | Automated safety check: Pass | MIT |
SawyerHood/dev-browser
Browser automation with persistent named pages via the dev-browser CLI. Use when users ask to navigate websites, fill forms, take screenshots, extract web…
letta-ai/letta-code
Control a real browser to navigate pages, click, type, fill forms, inspect rendered UI, take screenshots, or record video.
davidondrej/skills
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work.
sickn33/agentic-awesome-skills
Generates Puppeteer scripts for browser automation, scraping, and PDF generation.
tinyfish-io/tinyfish-cookbook
Use TinyFish for web search, fetching URLs, reading pages, current information, source-backed answers, research, docs, pricing/product pages, extraction, scraping, and browser automation.
LeoYeAI/openclaw-master-skills
Automate repeatable workflows with WhatsApp/Telegram notifications, Excel/CSV processing, browser automation, and flexible scheduling.
manaflow-ai/manaflow
Manage cloud development sandboxes with cloudrouter. An agent skill from manaflow-ai/manaflow.
Categories
Manage cloud development sandboxes with cmux. An agent skill from manaflow-ai/manaflow. Cmux is an agent skill from manaflow-ai/manaflow. Manage cloud development sandboxes with cmux.
Cmux fits situations like: tasks that involve Browser automation; tasks that involve Web scraping.
Run `npx skills add manaflow-ai/manaflow --skill cmux -a claude-code`. Or copy the skill folder (skills/cmux in manaflow-ai/manaflow) into .claude/skills/cmux in your project. Claude Code loads it when a task matches its description.
Run `npx skills add manaflow-ai/manaflow --skill cmux -a codex`. Or copy the skill folder (skills/cmux in manaflow-ai/manaflow) into .agents/skills/cmux in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add manaflow-ai/manaflow --skill cmux -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cmux, .gemini/skills/cmux, .github/skills/cmux and .opencode/skills/cmux in your project.
Going by SKILL.md and its folder, Cmux needs the command-line tools its instructions call (npm). Our summary lists: Node.js; Docker.
SKILL.md names 2 domains. In commands or code: 5173-xxx.e2b.app and 3000-xxx.e2b.app; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Cmux is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Cmux: Dev-Browser CLI Automation (SawyerHood/dev-browser, 6.7k stars), Browser Use (letta-ai/letta-code, 3.6k stars), Browser Use (davidondrej/skills, 4.1k stars) and Puppeteer Skill (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
manaflow-ai (a GitHub organization) maintains it in manaflow-ai/manaflow, which has 1,115 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 6, 2026.
Source: manaflow-ai/manaflow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.