What does this skill do, and when should you use it?
This is one of 25 skills bundled in the manaflow-ai/cmux repository (a Ghostty-based macOS terminal), located at skills/cmux-customization. It guides an AI agent through customizing cmux for an end user: editing cmux. actions, custom commands, workspace layouts, tab bar buttons, Command Palette entries and notification hooks, plus viewer settings for browser, Markdown, diff and file preview. Terminal rendering concerns are delegated to the Ghostty config. The skill emphasizes backups, schema-backed edits, and validation before reporting completion. It is only useful on macOS with cmux installed.
- Inspects and backs up ~/.config/cmux/cmux. and project-local .cmux/cmux. before choosing global vs. project scope
- Uses the cmux-settings helper script to set and validate app preferences (browser routing, notifications, shortcuts)
- Hand-edits JSONC for actions, ui.newWorkspace, ui.surfaceTabBar.buttons, commands, and Dock controls
- Delegates terminal fonts, themes, and cursor style to the Ghostty config (~/.config/ghostty/config) instead of inventing cmux settings
- Imports themes from iTerm2, Alacritty, Kitty and others via cmux import <terminal> --dry-run
- Runs cmux reload-config after changes and verifies the action ID, shortcut binding, or menu entry actually exists
- A macOS developer running parallel Claude Code/Codex sessions who wants project-specific workspace layouts and custom actions
- A team that wants logs, test watchers, and git TUIs pinned in the right-sidebar Dock with config that travels with the repo
- A user migrating from iTerm2, Kitty, or Warp who wants familiar fonts and colors in cmux
- A power user adding frequently used operations to the Command Palette, tab bar, or plus-button menu
- Anyone wiring notification hooks for coding agents or adjusting browser link routing
- Non-macOS users: cmux supports macOS only and every config this skill touches depends on the cmux app
- Environments without cmux or its CLI: cmux-settings, cmux reload-config and related commands cannot run
- Users who want to change terminal rendering without engaging with Ghostty's config system — the skill redirects such requests to the Ghostty config file
How do you install this skill?
- The skill depends on the macOS-only cmux app and its CLI/settings helpers and is largely unusable elsewhere; this was a static review with no commands executed, so all config examples and validate flows are unverified at runtime.
- The cmux-settings helper and JSON schema are not bundled with the skill; run cmux-settings list-supported / validate before use. The repository mixes GPL-3.0 with BUSL-1.1 (production use of web/ and related directories requires a commercial license) while metadata says NOASSERTION; verify enterprise compliance independently.
- Configs are modified without an explicit confirmation step; although backups are taken, review changes under ~/.config/cmux/ and ~/.config/ghostty/ before major edits, and note the publisher is not verified by the FollowSkills registry.
- Shell / CLI
- Local filesystem
cmux CLIcmux-settings helper scriptGhostty config (for terminal rendering)
The source documents no install commands for this skill itself; it only mentions skills.sh as an install route (scripts then live under ~/.agents/skills/ or ~/.codex/skills/). The skill collection ships in the repo's skills/ directory; consult the repo docs for exact steps rather than guessing.
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/manaflow-ai/cmux.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/cmux-customization" ~/.claude/skills/
rm -rf "$tmp"Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.
How do you use this skill?
Once installed, send your agent any of these to trigger it:
- Add a Command Palette action for this project that starts Codex in a new tab in the current pane, and verify it shows up in Cmd+Shift+P
- Pin my logs and test watcher to the right-sidebar Dock via .cmux/dock. so the config travels with the repo
- I'm migrating from Kitty — preview the font and color import with dry-run before applying it to cmux
- Change the plus-button default behavior to create a workspace running my dev server; back up the config first and verify afterwards
The skill triggers on requests matching its description (changing cmux. actions, custom commands, workspace layouts, plus-button behavior, tab bar buttons, Command Palette entries, Dock controls, shortcuts, notifications, browser routing, examples-library presets, or Ghostty preferences). Its flow: read existing config, pick global or project-local scope, back up existing files, prefer the cmux-settings helper for schema-backed edits, preserve unrelated JSONC sections when hand-editing, then cmux reload-config and verify the entrypoint exists. Use cmux docs workflows -- to browse shipped examples and references/examples.md for concrete JSON recipes. Note the templates.<viewer> surface is not yet implemented; keys absent from the schema should not be written.
What are this skill's strengths and limitations?
- Enforced backup and validation steps reduce the risk of breaking config
- Clear global vs. project-local scoping lets project config travel with the repo
- A viewer customization matrix (references/viewer-types.md) and a shipped examples catalog reduce guesswork
- Honestly declares unimplemented template surfaces so invalid keys are not written
- Hard dependency on the cmux app and CLI; useless outside macOS
- Some viewer template settings have not shipped yet, requiring fallback paths
- JSONC must be hand-edited while avoiding duplicate keys, so mistakes remain possible
- The source provides no test suite or dedicated install docs for this skill
How does this skill compare with similar options?
Side by side with related skills; every score comes from the same FSRS standard.
| Skill | FS score | Stars | Last updated | License |
|---|---|---|---|---|
| cmux Customization this page | 55 · Use with care | ★ 28k | 1d ago | NOASSERTION |
| cmux Keyboard Shortcuts | 58 · Recommended | ★ 28k | 1d ago | NOASSERTION |
| cmux Settings Management Skill (cmux-settings) | 58 · Recommended | ★ 28k | 1d ago | NOASSERTION |
| cmux Workspace Skill | 64 · Recommended | ★ 28k | 1d ago | NOASSERTION |
| cmux Custom Sidebar | 50 · Use with care | ★ 28k | 1d ago | NOASSERTION |
cmux positions itself against tmux as a native macOS GUI multiplexer (vertical tabs, embedded browser, socket API, no prefix keys), but the two also work together: cmux can attach to remote tmux sessions over SSH, and cmux local-tmux provides local detach/reattach.
How did FollowSkills review this skill?
The skill only edits local user config files (cmux., dock., Ghostty config), takes timestamped backups before writing (rollback feasible), explicitly forbids storing secrets in actions/commands/prompts, refuses to invent unknown schema keys (fail-closed), and previews imports with --dry-run without touching the user's existing Ghostty config. Deducted for: no user-confirmation step before modifying configs, and the cmux-settings helper script and schema are not bundled with the skill, so data flow and external script behavior are not fully auditable.
The workflow is self-consistent: check file existence, back up, edit, validate, reload-config, then read back and verify; the validation checklist is concrete (JSON parsing, commandName matching, avoiding the rightClick alias), failures must leave files unchanged, and unsupported surfaces are explained rather than guessed. Deducted for: nothing was executed in this static review; validate/reload depend on cmux and cmux-settings being installed locally, failure feedback when the helper is missing is unverifiable, and abnormal-input handling is thin.
The trigger description enumerates applicable actions (cmux. changes, shortcuts, buttons, Dock, notifications) with explicit non-fit boundaries (Ghostty-owned behavior, unshipped notes/templates knobs); audience and scenarios are clear. Deducted for: cmux is macOS-only; Chinese support rests on the repo's zh-CN README while the skill body is English-only, and environment-fit evidence for Chinese users is limited.
Information architecture is well layered: SKILL.md plus viewer-types.md matrix plus examples.md recipes, with progressive disclosure, known-limitation disclosure, and issue/PR references (#4516, #14749). Deducted for: repository license metadata is NOASSERTION (actual state is mixed GPL-3.0 + BUSL-1.1 requiring user discernment), publisher is unverified, and the skill itself has no version number, changelog, or stated update path.
The skill covers the full customization loop (locate → back up → edit → validate → reload → confirm); example JSON is directly usable and the value clearly exceeds manual path-hunting. Deducted for: static review cannot confirm the examples match the current schema, output correctness depends on cmux-settings validate actually working, and part of the value points to external cmux docs workflows without executed verification.
Key claims (config paths, helper usage, schema authority at web/data/cmux.schema., future template work in issue #4516 and PR #14749) are traceable within the files. Deducted for: no execution in this review, no independent reproduction evidence such as tests covering the skill's key paths, examples are self-attested at the documentation level, and fact/inference separation rests on the skill's own statements.
Open a dimension to read why it scored that way
Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.
See the full review method →