Operations

/cmux

Control cmux panes, splits, browser/sidebar, messages. Triggers: cmux, split panes, terminal reads. NOT shell.

$ golems-cli skills install cmux
Golden
100% best pass rate
27 assertions
6 evals

Updated 1 month ago

Teach agents to drive cmux: split panes, notify, open browser, coordinate with other agents.

cmux vs cmuxlayer (read this first)

Two different things share the cmux root — do not conflate them:

  • cmux = the terminal app / CLI / terminal surfaces (panes, splits, tabs, browser, read_screen, raw cmux ... shell commands). This skill is about cmux.
  • cmuxlayer = the MCP / managed-agent / orchestration layer that runs agents on top of cmux panes (the worker lifecycle: spawn, wait, route, stop). That layer is taught by /cmux-agents.

Compatibility note: the MCP tool namespace is still mcp__cmuxlayer__* (e.g. mcp__cmuxlayer__spawn_agent) and the .mcp.json server key is still cmux, even though the package/binary is cmuxlayer / cmuxlayer-mcp. Keep using the literal mcp__cmuxlayer__* tool names — they are the current registered handles. Only the human-readable name of the layer is cmuxlayer; never call the layer cmux MCP, cmux.layer, or cmux layer.

For agent workflows, prefer /cmux-agents and the agent-based MCP tools (spawn_agent, send_to_agent, wait_for, list_agents, my_agents, get_agent_state, stop_agent). This skill stays primitive-first on purpose: panes, tabs, browser surfaces, raw terminal delivery, and low-level inspection.

Detect cmux

Always check first — skip gracefully if not in cmux:

if ! command -v cmux &>/dev/null || ! cmux identify --json &>/dev/null; then
  echo "Not in cmux — skipping cmux operations"
  exit 0
fi

Self-Identification

# Get your own location
cmux identify --json
# → { "surface_ref": "surface:4", "pane_ref": "pane:5", "workspace_ref": "workspace:2" }