Skip to main content
ZICQ

Skills ZICQ category:Agent Workflows cmux-customization

Cmux Customization

Customize cmux for an end user, including terminal, browser, Markdown, diff, file preview, notes, HTML, and right-sidebar viewers. Use when changing cmux.json actions, custom commands, workspace layouts, plus-button behavior, surface tab bar buttons, Command Palette entries, Dock controls, sidebar and app settings, shortcuts, notifications, browser routing, examples-library presets, or Ghostty-backed terminal preferences.

6302 installs

Official URL:skills.sh

What this skill does

Intro in this page language first. The official description stays in its original wording; we do not rewrite SKILL.md.

What it does

Customize cmux for an end user, including terminal, browser, Markdown, diff, file preview, notes, HTML, and right-sidebar viewers

When to use it

changing cmux.json actions, custom commands, workspace layouts, plus-button behavior, surface tab bar buttons, Command Palette entries, Dock controls, sidebar and app settings, shortcuts, notifications, browser routing, examples-library presets, or Ghostty-backed terminal prefere

How agents load it

Per Agent Skills progressive disclosure: name and description load at startup (~100 tokens); the full SKILL.md body loads when the skill activates; scripts/, references/, and assets/ load only as needed. This file's sections: cmux Customization; Choose the right surface; Workflow; Example: Command Palette action; Validation; Rules. It includes spec-recommended sections: step-by-step instructions, input/output examples.

File analysis

File analysis: besides SKILL.md, the body references references/viewer-types.md, scripts/cmux-settings, references/examples.md. Those resources load on demand.

cmux CustomizationChoose the right surfaceWorkflowExample: Command Palette actionValidationRules

Source category:skills.sh agent-skill

SKILL.md & Agent activation

Official spec ↗
name
cmux-customization
description
Customize cmux for an end user, including terminal, browser, Markdown, diff, file preview, notes, HTML, and right-sidebar viewers. Use when changing cmux.json actions, custom commands, workspace layouts, plus-button behavior, surface tab bar buttons, Command Palette entries, Dock controls, sidebar and app settings, shortcuts, notifications, browser routing, examples-library presets, or Ghostty-backed terminal preferences.
  1. DiscoverThe client exposes names and descriptions to the agent.
  2. ActivateYour request or the task context selects the skill and loads its instructions.
  3. Load resourcesReferenced scripts, documentation and assets are used when needed.
Files referenced by the instructions · 3
  • references/viewer-types.md
  • scripts/cmux-settings
  • references/examples.md

These paths are extracted from the text. Check the upstream package to verify the files exist.

Invocation syntax and available tools depend on your Agent client. Client integration guide ↗

Install this skill

Skills CLI ↗

Choose the target agent and installation scope, keep referenced package files, then verify the skill appears in the client's catalog.

This skill references supporting files. Retrieve the complete directory from the source; copying SKILL.md alone may leave missing dependencies.

Ask your Agent to install

Copy these instructions to a compatible agent and confirm the target directory matches your client.

Install the agent skill "cmux-customization" into my project. The full SKILL.md and official description are at https://zicq.com/en/skills/skl-b6195349c947cdf1-Cmux-Customization.html
Save it as .cursor/skills/cmux-customization/SKILL.md or .claude/skills/cmux-customization/SKILL.md and keep the frontmatter name and description exactly as-is.
This skill also ships scripts/, references/, or assets/ — fetch the whole folder from https://github.com/manaflow-ai/cmux instead of creating only a SKILL.md.

Full package on GitHub ↗

Install from the terminal · Skills CLI

Requires Node.js and npx. First inspect the repository's skill list to confirm the name.

npx skills add 'https://github.com/manaflow-ai/cmux' --list

npx skills add 'https://github.com/manaflow-ai/cmux' --skill 'cmux-customization'

The CLI lets you choose the agent interactively. The default scope is the project; use -g for user scope. Confirm package availability with the discovery command, then use npx skills list to inspect installed skills.

Readable layout
--- name: cmux-customization description: "Customize cmux for an end user, including terminal, browser, Markdown, diff, file preview, notes, HTML, and right-sidebar viewers. Use when changing cmux.json actions, custom commands, workspace layouts, plus-button behavior, surface tab bar buttons, Command Palette entries, Dock controls, sidebar and app settings, shortcuts, notifications, browser routing, examples-library presets, or Ghostty-backed terminal preferences." --- # cmux Customization Keep the user's config intact, prefer schema-backed edits, and validate before reporting completion. For content viewers, start with [the viewer customization matrix](references/viewer-types.md). It maps each viewer to the settings, command, or external file that owns its knobs, including explicit fallbacks for viewer types whose template settings have not shipped yet. ## Choose the right surface | Want to change | Edit | |---|---| | App preferences (appearance, sidebar, notifications, browser routing, automation, shortcuts, new-workspace placement) | `~/.config/cmux/cmux.json` via the `cmux-settings` helper | | Custom actions, workspace layouts/commands, tab bar buttons, plus-button behavior, Command Palette entries, notification hooks | `~/.config/cmux/cmux.json` globally or `.cmux/cmux.json` in the project | | Dock controls (right-sidebar terminals: logs, test watchers, git TUIs, dev servers, queues, `cmux feed tui --opentui`) | `.cmux/dock.json` or `~/.config/cmux/dock.json`; `cmux docs dock` when available | | Terminal rendering and terminal keybindings (fonts, themes, cursor style, copy-on-select, shell integration) | Ghostty config, usually `~/.config/ghostty/config` | | Bring fonts, colors and terminal behavior over from iTerm2, Terminal, Alacritty, Kitty, WezTerm or a Warp theme | `cmux import --dry-run` to preview, then `cmux import `; writes cmux's own Ghostty config and a generated theme, never `~/.config/ghostty/config` | | Workspace names, descriptions, colors, read state, sidebar metadata | cmux CLI, see [../cmux-workspace/SKILL.md](../cmux-workspace/SKILL.md) | | Feed event sources | `cmux hooks setup` | Viewer-specific JSON settings live in the global `cmux.json`: `browser.*`, `markdown.*`, `fileEditor.*`, `fileExplorer.*`, and `diffViewer.*`. Generic file preview routing also uses `app.openSupportedFilesInCmux` and `app.openMarkdownInCmuxViewer` plus `app.preferredEditor`. Right-sidebar tools are structural state and Dock configuration, not a `templates.rightSidebarTool` object. Project-local `.cmux/cmux.json` and `.cmux/dock.json` let worktree, SSH, review, dev, CI, and docs patterns travel with the repo; project actions and commands override global entries with the same ID or name. Global app preferences do not belong there. If a request can be handled by Ghostty config, say so and use Ghostty config instead of inventing cmux UI settings. Key surfaces in `cmux.json`: `actions` (reusable, can appear in Cmd+Shift+P, surface tab bars, shortcuts, and the plus-button right-click menu), `ui.newWorkspace.action` (replaces the plus-button click) and `ui.newWorkspace.contextMenu` (right-click menu; `ui.newWorkspace.rightClick` is an accepted alias but new examples use `contextMenu`), `ui.surfaceTabBar.buttons` (replaces default tab bar buttons; include built-ins like `cmux.newTerminal`, `cmux.newBrowser`, `cmux.splitRight`, `cmux.splitDown` only when they should stay visible; copy built-ins `cmux.copyWorkingDirectory`, `cmux.copyProjectRoot`, and `cmux.copyScreen` also work here and in `actions`), and `commands` (workspace definitions with split layouts). ## Workflow 1. Inspect existing config. ```bash test -f ~/.config/cmux/cmux.json && sed -n '1,220p' ~/.config/cmux/cmux.json test -f .cmux/cmux.json && sed -n '1,220p' .cmux/cmux.json ``` 2. Pick global or project-local scope. Default to project-local for repo-specific commands, global for app preferences. Ask only when the choice changes behavior meaningfully. 3. Back up the target file when it already exists (applicable path only, no backup for a missing file). ```bash stamp="$(date +%Y%m%d-%H%M%S)" test -f ~/.config/cmux/cmux.json && cp -p ~/.config/cmux/cmux.json ~/.config/cmux/cmux.json."$stamp".bak test -f .cmux/cmux.json && cp -p .cmux/cmux.json .cmux/cmux.json."$stamp".bak ``` 4. For app settings and cmux-owned shortcuts, use the settings helper (`~/.codex/skills/...` if the user installed with `skills.sh`). ```bash ~/.agents/skills/cmux-settings/scripts/cmux-settings list-supported ~/.agents/skills/cmux-settings/scripts/cmux-settings set browser.openTerminalLinksInCmuxBrowser true ~/.agents/skills/cmux-settings/scripts/cmux-settings validate ``` 5. For actions, UI wiring, workspace layouts, notification hooks, and Dock controls, edit the JSONC by hand and preserve unrelated sections (`vault`, `rightSidebar`, `commands`, `actions`, `ui`, `notifications`). 6. `cmux reload-config`. 7. Verify the configured entrypoint exists: read back the shortcut binding, or confirm the action ID and where it should appear. For viewer changes, verify the exact path or command state from the matrix. If the requested viewer or knob is absent from the schema, explain that it is not supported yet instead of writing an unknown key. The `templates.` surface proposed for future notes/Markdown/diff customization is not available until the schema and runtime implement it. ## Example: Command Palette action Appears in Cmd+Shift+P unless `palette` is false. ```json { "actions": { "codex-new-tab": { "type": "agent", "agent": "codex", "title": "Codex", "subtitle": "Start Codex in this workspace", "target": "newTabInCurrentPane", "palette": true } } } ``` Before choosing a preset, template, starter config, or known workflow pattern, run `cmux docs workflows --json`. Its catalog describes the shipped examples, what each creates, task-fit cues, requirements, adaptation points, and the saved-layout lifecycle. After choosing an example, open [references/examples.md](references/examples.md) for that example's concrete JSON recipe. ## Validation - App settings: `cmux-settings validate`. - Keep valid JSONC, no duplicate keys. - Parse `.cmux/dock.json` or `~/.config/cmux/dock.json` with a JSON parser before reporting completion. - `cmux reload-config` when the CLI is available. - Confirm the exact user-facing result: action title, shortcut, plus-button behavior, context-menu entry, or tab bar placement. ## Rules - Do not overwrite a whole top-level config section unless you own the full section. - Do not store secrets in actions, commands, or prompts. Use environment variables or the user's secret manager. - Do not use sleeps or timing workarounds in generated commands. - Do not add a cmux setting for behavior Ghostty already owns. - Keep labels short enough for menus, buttons, and the Command Palette.

Related skills

Agent Workflows

Skill Creator

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that exte…

Agent Workflows

Clawdhub

Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fl…

Agent Workflows

Agent Team Orchestration

Orchestrate multi-agent teams with defined roles, task lifecycles, handoff protocols, and review workflows. Use when: (1) Setting up a team …

Agent Workflows

Superpowers

Spec-first, TDD, subagent-driven software development workflow. Use when: (1) building any new feature or app — triggers brainstorm → plan →…