cmux Workspace Orchestration
This skill should be used when the user asks to "set up a dev environment", "create a workspace", "open a browser pane", "split terminal", "spin up frontend and backend", "use cmux", "manage cmux panes", "run commands in cmux", or mentions cmux workspaces, panes, surfaces, or browser automation. Provides workflow guidance for orchestrating multi-pane development environments with terminal and browser surfaces.
Best use case
cmux Workspace Orchestration is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
This skill should be used when the user asks to "set up a dev environment", "create a workspace", "open a browser pane", "split terminal", "spin up frontend and backend", "use cmux", "manage cmux panes", "run commands in cmux", or mentions cmux workspaces, panes, surfaces, or browser automation. Provides workflow guidance for orchestrating multi-pane development environments with terminal and browser surfaces.
Teams using cmux Workspace Orchestration should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/cmux/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How cmux Workspace Orchestration Compares
| Feature / Agent | cmux Workspace Orchestration | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
This skill should be used when the user asks to "set up a dev environment", "create a workspace", "open a browser pane", "split terminal", "spin up frontend and backend", "use cmux", "manage cmux panes", "run commands in cmux", or mentions cmux workspaces, panes, surfaces, or browser automation. Provides workflow guidance for orchestrating multi-pane development environments with terminal and browser surfaces.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# cmux Workspace Orchestration cmux is a terminal multiplexer application for macOS with a rich CLI for managing windows, workspaces, panes, browser surfaces, and sidebar logging. It is controlled via a Unix socket at `/tmp/cmux.sock`. ## Core Concepts cmux organizes its hierarchy as: **Window > Workspace > Pane > Surface (Tab)** - **Window**: Top-level OS window - **Workspace**: A named layout within a window (like tmux sessions). Visible in the sidebar. - **Pane**: A split region within a workspace. Each pane contains one or more surfaces as tabs. - **Surface**: A single terminal or browser tab within a pane. Referenced as `surface:<n>`. All commands use **ref format** by default: `workspace:1`, `pane:2`, `surface:3`. Environment variables `CMUX_WORKSPACE_ID` and `CMUX_SURFACE_ID` are auto-set in cmux terminals and serve as defaults for `--workspace` and `--surface` flags. ## CLI Reference Run `cmux --help` for the full command list. Run `cmux <command> --help` for details on any specific command. Use `--json` flag on most commands for machine-readable output. ## Tips - Use `cmux identify --json` to discover the current workspace, pane, and surface context. - After creating splits, use `cmux list-panes` and `cmux list-pane-surfaces` to discover new surface refs. - Use `cmux capture-pane --lines <n>` to read terminal output and detect when processes are ready. - Use `cmux log` with levels (`progress`, `success`, `error`) and `cmux notify` for sidebar visibility. - Browser `snapshot --interactive` returns an accessibility tree ideal for understanding page structure. - `cmux send` uses `\n` for Enter and `\t` for Tab in the text argument. ## Workflows Successful workflows are documented as reference files. Check `resources/` for proven patterns. # Resources Custom docs written on cmux topics: - `resources/workspace-survey.md` — How to survey the current workspace state at the start of a session
Related Skills
Ticket Workflow
Autonomous ticket-to-production lifecycle with promptlet-driven phases. Use when executing /ticket commands or working on ticket-driven development.
setup-sprite
Set up a reproducible remote dev environment using sprites with credential-free git sync. Use when user asks to "set up a sprite", "create a remote dev environment", "use sprites", or mentions wanting a reproducible remote environment for a project.
Writing python services
Writing a class with encapsulated logic that interfaces with an external system. Logging, APIs, etc.
stacked-pr-review
Use when addressing PR review comments on stacked jj branches. Triggered by phrases like "address review comments", "fix PR feedback", "respond to review on stacked branch", or "update the PR with reviewer suggestions".
Python Code Style
Use when writing python code. Can be used for code review.
Plan
My planning skill that has additional instructions. Always use when entering plan mode.
Modal
No description provided.
merging-pr-stack
Use when merging a stack of stacked PRs with jj. Triggered by phrases like "merge the PR stack", "merge the stacked PRs", "land these PRs", or "merge the stack into main".
Creating Slash Commands
Build custom slash commands in Claude Code with YAML frontmatter, permissions, and best practices. Use when creating automation workflows, project-specific commands, or standardizing repetitive tasks.
Creating Hooks
Build event-driven hooks in Claude Code for validation, setup, and automation. Use when you need to validate inputs, check environment state, or automate tasks at specific lifecycle events.
Create Claude Channel
Step-by-step procedure for building a Claude Code channel integration. Use when creating a new channel plugin that connects Claude Code to external systems via MCP, named pipes, webhooks, or chat platforms.
Committing
Any time committing, pushing, or creating new revisions is mentioned, use this commit flow.