What does this skill do, and when should you use it?
This is an Agent Skill bundled inside the cmux repository that handles keyboard shortcut customization for the cmux macOS terminal. It reads shortcuts.bindings from ~/.config/cmux/cmux., maps natural-language requests to validated action IDs, offers preset layouts like Tmux Prefix, Vim Pane Navigation, and Browser-Style navigation, and writes changes atomically via the cmux-settings helper script. Every change is snapshotted first and the skill finishes with exact revert commands. It assumes you run cmux on macOS and have a cmux checkout or an installed cmux-settings helper.
- Locates the cmux-settings helper and inspects existing shortcuts.bindings values
- Maps requests to real action IDs validated against shortcut-actions.md (it refuses to invent IDs)
- Applies preset templates: Tmux Prefix, macOS Terminal/iTerm Restore, Vim Pane Navigation, Agent Triage, Workspace/Surface Lanes, Browser-Style Terminal Navigation, and more
- Writes single-stroke bindings (cmd+b), chords (["ctrl+b","c"]), and null for explicit unbinds
- Snapshots prior values before each change and emits per-action revert commands at the end
- Runs cmux-settings validate to confirm the config parses with recognized keys; saving live-reloads cmux
- A developer migrating from tmux who wants the familiar ctrl+b prefix for splits and pane navigation; a Vim user who wants h/j/k/l pane movement without arrow keys; a user running many parallel AI coding agents who wants unread notification handling grouped on one key family (Agent Triage template); a browser-style keyboard user who wants Ctrl+W to close the surface only at a shell prompt while still reaching vim, less, or tmux; anyone auditing or resetting existing cmux. overrides back to built-in defaults.
- Users who do not run cmux (or are not on macOS) — every write targets cmux's cmux. and affects nothing else
- Users who want the whole shortcuts.bindings object bulk-overwritten — the skill edits action by action, and validate does not check shortcut syntax, macOS reservations, or focus-context conflicts
- Users hoping the skill replaces the Settings UI — the system-wide hotkey enable toggle and UserDefaults-saved bindings still require in-app steps
How do you install this skill?
- This is a static source review; no commands were executed and all templates/verification behavior remain unconfirmed by actual runs.
- cmux-settings validate does not check shortcut syntax, macOS reservations, or focus-context conflicts; users must verify conflicts in the app.
- The skill targets macOS cmux users only and declares no Chinese-language support; all documentation is in English.
- Rollback depends on snapshot commands saved during the session; users must retain them to restore original bindings.
- License metadata is NOASSERTION; the repo is GPL-3.0-or-later (with BUSL-1.1 directories), so confirm license applicability before use.
- unset only clears file-managed overrides, not changes saved via Settings UI/UserDefaults; the global hotkey must be restored via Settings > Global Hotkey.
- Shell / CLI
- Local filesystem
cmux app (macOS)cmux-settings helper script from the cmux checkout (skills/cmux-settings/scripts/cmux-settings)
The source documents no standalone install commands for this skill; it lives in the cmux repo (skills/cmux-keyboard-shortcuts/SKILL.md) and depends on skills/cmux-settings/scripts/cmux-settings from the same checkout. The common approach is to make the skills directory available to any Agent Skills-compatible client:
git clone https://github.com/manaflow-ai/cmux.gitThe helper's search paths include the current cmux checkout, ${CODEX_HOME}/skills, and ~/.agents/skills, so you can place cmux-settings in one of those:
mkdir -p ~/.agents/skills
cp -r cmux/skills/cmux-settings ~/.agents/skills/The cmux app itself installs via DMG or Homebrew:
brew tap manaflow-ai/cmux
brew install --cask cmuxHow do you use this skill?
Once installed, send your agent any of these to trigger it:
- Set up tmux-style ctrl+b prefix bindings in cmux for new surfaces and splits
- Make cmux pane navigation Vim-style: no arrow keys, use cmd+opt+h/j/k/l for focus
- Audit the shortcuts.bindings overrides in my ~/.config/cmux/cmux. and list what's unbound
- I run several Claude Code sessions in parallel — give me an agent-triage shortcut layout for unread notifications
The skill triggers when you ask to customize, rebind, unbind, reset, audit, or create shortcut templates for cmux. The flow: classify the request (one-off rebind/unbind, audit, reset, broad customization, or named style), inspect and snapshot existing bindings via the cmux-settings script, apply only the chosen action paths (never overwriting shortcuts.bindings wholesale), validate, read back each change, and report the template name, changed actions, and revert commands. For broad customization it proposes 3-5 templates and asks you to choose; named styles like tmux or iTerm are shown with likely collisions before a bulk apply. Notable options: null means an explicit unbind; showHideAllWindows is the only system-wide shortcut (no chords, and Global Hotkey must be enabled in Settings); cmd+1 represents the cmd+1 through cmd+9 family; saving cmux. live-reloads, so no restart is needed.
What are this skill's strengths and limitations?
- Carefully engineered templates with real conflict analysis, e.g. warnings about cmd+[/cmd+] colliding with browser Back/Forward
- Per-action edits with prior-value snapshots and exact revert commands at the end
- Uses the cmux-settings helper for atomic writes with JSONC parsing and recognized-key validation
- Distinguishes file-managed overrides, Settings UI/UserDefaults values, and true built-in defaults instead of calling unset a reset
- Hard dependency on the cmux app (macOS only) and on the presence and executability of the cmux-settings script
- cmux-settings validate checks JSON and supported keys only — not shortcut syntax, macOS-reserved keys, or focus-context conflicts
- The source provides no standalone install instructions or test suite for this skill
- Repo license is listed as NOASSERTION: the core is GPL-3.0-or-later but web/ and relay services use BUSL 1.1, so check scope before commercial use
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 Keyboard Shortcuts this page | 58 · Recommended | ★ 28k | 1d ago | NOASSERTION |
| cmux Settings Management Skill (cmux-settings) | 58 · Recommended | ★ 28k | 1d ago | NOASSERTION |
| cmux Customization | 55 · Use with care | ★ 28k | 1d ago | NOASSERTION |
| cmux Workspace Skill | 64 · Recommended | ★ 28k | 1d ago | NOASSERTION |
| cmux Diagnostics | 51 · Use with care | ★ 28k | 1d ago | NOASSERTION |
Compared with hand-editing ~/.config/cmux/cmux., this skill adds action-ID validation, prior-value snapshots, revert commands, and curated layouts, lowering the risk of broken keymaps. cmux's built-in Settings > Keyboard Shortcuts > Base Keymap presets cover cmux/iTerm2/Terminal.app/tmux styles; this skill's templates fill the rest (Vim, Agent Triage, Browser-Style). Compared with hand-tuning a .tmux.conf, the model does the mapping and validation for you.
How did FollowSkills review this skill?
The skill reads/writes only ~/.config/cmux/cmux. through a dedicated helper that writes atomically and validates JSON plus recognized keys; it mandates per-action edits instead of wholesale overwrites, snapshots prior values, emits exact revert commands, requires user confirmation before bulk templates, and proactively discloses macOS reserved keys. Deductions: no executed verification, the helper script itself is not shown in evidence, validate capabilities are explicitly limited (no shortcut-syntax or macOS conflict checks), rollback depends on user-saved snapshots, and publisher identity is unverified.
Workflow is self-consistent: helper-not-found produces a clear error and exit, reads have 2>/dev/null fallbacks, each step validates and reads back; it carefully separates file-managed overrides from Settings UI/UserDefaults and admits validate cannot detect shortcut conflicts. Deductions: static review executed nothing, test coverage and abnormal-input behavior are unconfirmed, so the anchor ceiling applies.
Trigger terms are explicit (customize/rebind/unbind/reset/audit and named styles), the workflow classifies requests, boundaries are well declared (macOS reservations, global hotkey enablement, cmd+[ browser collisions, tmux alternate screen), and core function is fully local with no network dependency. Deductions: audience limited to macOS cmux users, no Chinese-language support declared, and boundaries rely on cross-referenced files not fully inlined.
Docs are well layered: prerequisites, model, workflow, templates, rules; a contributor rule requires four-way synchronization, showing a maintenance path. Deductions: no per-skill version or changelog, license metadata is NOASSERTION (repo is GPL-3.0-or-later with BUSL parts, but the skill path has no own notice), no FAQ, and referenced scripts/references are not bundled in evidence.
Outputs are directly usable: each template is an executable command sequence, ending with template name, changed actions, and revert commands; clear marginal value over hand-editing JSON, with mandatory read-back verification. Deductions: static review cannot verify executed results, and schema assumptions of the templates are unconfirmed, capping at the static anchor.
Key claims trace to concrete repo files (KeyboardShortcutSettings.swift, cmux-shortcuts.ts, docs page paths), and the repo has real CI workflows and test infrastructure. Deductions: no tests or third-party execution evidence covering this skill's key paths; behavioral claims are single-source self-description, not independently reproducible in a static read.
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 →