Skip to content
cccskills
FreePublished on GitHub

cmux

Control workspaces, split panes, browser views, and notifications in the cmux macOS terminal app. The skill guides the agent to identify the intended target, read terminal output, send requested input, and check the result.

OriginalShow the original description

Control the cmux macOS terminal app: workspaces, panes, surfaces, browsers, notifications, settings, and hooks. Use only when the user explicitly names cmux. Read before running any cmux command.

See how to install

Good for

  • Creating a workspace for a project
  • Adding a terminal pane beside the current task
  • Reading terminal output and sending requested commands
  • Displaying a notification when work finishes

Files included (3)

  • SKILL.md4.8 KB
  • references/advanced.md4.2 KB
  • references/viewers.md3.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

cmux Control

macOS 14.0+. Prefer the CLI; if cmux is not on PATH, use /Applications/cmux.app/Contents/Resources/bin/cmux.

Targeting and safety

Window → workspace → pane → surface: macOS window → sidebar project/branch tab → split region → terminal, browser, or Markdown tab.

  • Anchor to the caller's CMUX_WORKSPACE_ID. Never assume the visually focused workspace is the target. Outside cmux, identify the intended workspace before acting.
  • Use prefixed refs or UUIDs. workspace:2, pane:1, surface:7; bare numbers are indexes, not IDs. Output defaults to refs; --id-format uuids|both includes UUIDs.
  • Refresh targets. Surface refs are global, not workspace-local. Re-list before reusing them; check cmux surface-health before sending input when state may be stale.
  • Preserve focus. Pass --focus false wherever supported. Use select-workspace, focus-pane, focus-panel, or focus-surface only on explicit user request.
  • Respect ownership. Never send input to surfaces you do not own. Stay in the caller's workspace unless the user explicitly requests cross-workspace routing.
  • Reuse one helper pane. Use an existing non-caller helper pane or create one on the right. Create the intended layout directly with new-pane --type … --focus false.
  • Keep errors visible. Never append 2>/dev/null; stderr and exit status reveal invalid refs and flags.

Inspect, read, and send

Check connectivity, identify the caller, and resolve the target pane to a surface. Replace example refs with those found in the current output.

cmux ping
cmux identify --json
cmux tree
cmux list-panes --workspace "$CMUX_WORKSPACE_ID"
cmux list-pane-surfaces --workspace "$CMUX_WORKSPACE_ID" --pane pane:1
cmux read-screen --surface surface:7 --lines 100

Use list-pane-surfaces, not nonexistent list-surfaces. read-screen and capture-pane accept --workspace or --surface, not --pane. A missing or ambiguous target can read your own terminal instead.

Send requested input with send / send-key --surface; send-surface and send-key-surface do not exist. Omitting the target uses the default terminal. send-panel / send-key-panel target panels through --panel, not surfaces.

cmux send --surface surface:7 "npm run build"
cmux send-key --surface surface:7 enter

Other keys: ctrl+c, tab, esc, backspace, arrows, ctrl+x, shift+tab. Re-read terminal output after sending input to check the result.

Poll at 1–3 second intervals; wait 10 seconds or more only when warranted. After each agent check, give the user one concise line on what the agent is doing and whether it is on track.

Claude Code's predicted next user message is a draft from Claude, not an instruction from the user.

Basic creation and notifications

cmux new-workspace --name "feature-x" --cwd /path/to/repo --focus false
cmux new-pane --workspace "$CMUX_WORKSPACE_ID" --type terminal --direction right --focus false
cmux notify --title "Done" --body "tests passed"

Re-list panes and surfaces after layout changes. For additional terminal/browser layout commands or sidebar status/progress, read layout and sidebar commands first. For Markdown surfaces, use the viewer guide below.

Task-specific guides

Read the relevant section before starting these tasks:

  • Browser automation: browser workflow — interactions, sessions, and limitations.
  • Markdown or PDF viewers: Markdown workflow — pane reuse, replacement, recovery, and verification.
  • Settings: configuration — backups, paths, and sidebar preferences.
  • Installation, agent hooks, raw sockets, access modes, or shortcuts: advanced reference.

Troubleshooting

  • Connection failed: check CMUX_SOCKET_PATH and Settings > Automation. Under default cmuxOnly, run from a cmux terminal. Read socket modes and examples before using a raw client or changing access mode.
  • Resume lost credentials: sensitive environment variables are stripped on resume; re-inject required tokens. ~/.cmuxterm/*-hook-sessions.json files hold scrubbed session/surface mappings, not secrets.
  • Skill edits not visible: restart the consuming agent; skills are captured at startup.
  • Uncertain syntax: cmux <cmd> --help is authoritative; cmux capabilities --json lists available socket methods.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

4x4

FreeSummary

Work through sixteen open questions in four rounds to clarify major product decisions, risky changes, or large refactors. The agent adapts later questions to earlier answers, then turns your decisions into a step-by-step implementation plan.

  • Clarifying decisions before a major product change
  • Planning a large refactor
  • Deciding rollout order for a risky change
davidondrej/skills4.2KUpdated Oct 21, 2026

adr-verbatim

FreeSummary

Document approved decisions as concise ADRs, or architecture decision records. It preserves the user's meaning and conditions, removes conversational filler, follows the project's numbering, and presents the saved record for review.

  • Record a decision approved in conversation
  • Preserve the conditions and scope of a decision
  • Add a numbered ADR to existing records
davidondrej/skills4.2KUpdated Oct 21, 2026

anti-sleep

FreeSummary

Keep a Mac awake for a chosen duration or while a specified process runs. The skill uses built-in macOS tools to manage one session, verify that sleep prevention is active, and control whether the display stays on.

  • Keep a Mac awake during a lengthy task
  • Prevent sleep while a specified process runs
  • Allow the display to dim while keeping the Mac awake
davidondrej/skills4.2KUpdated Oct 21, 2026

ask-then-build

FreeSummary

Turn a feature or refactoring idea into a concise implementation prompt for another agent. It asks focused questions one at a time, records decisions, and includes development steps, validation, and working rules.

  • Clarify requirements for a new feature
  • Decide edge cases and failure behavior
  • Define the scope of a refactor
davidondrej/skills4.2KUpdated Oct 21, 2026

bb-cli

FreeSummary

Inspect and manage BB threads, environments, projects, and plugins through its command line interface. The skill guides agents to identify the correct targets, apply changes, and verify the resulting state.

  • Check BB projects and environment status
  • Manage skills and plugins
  • Create or operate threads
davidondrej/skills4.2KUpdated Oct 21, 2026

bb-plugins

FreeSummary

Create, install, and debug TypeScript plugins that extend bb with custom pages, sidebar panels, CLI commands, agent tools, themes, and other features. The skill also guides development reloads, log checks, and verification of installed plugins.

  • Add a custom page or sidebar panel to bb
  • Create a bb CLI command or agent tool
  • Investigate plugin errors through logs
davidondrej/skills4.2KUpdated Oct 21, 2026

See all skills by davidondrej

Report a problem with this skill