cmux-architecture
cmux package architecture, refactor layering, dependency inversion, file organization, DocC documentation, package design discipline, testability, and Swift 6…
Guide and apply cmux keyboard shortcut customization. Use when the user asks to customize, rebind, unbind, reset, audit, or create shortcut templates for cmux, including tmux-style, Vim-style, terminal-first, browser-heavy, iTerm/Terminal-like, or agent-triage layouts.
$ npx -y skills add manaflow-ai/cmux --skill cmux-keyboard-shortcuts --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cmux-keyboard-shortcutsContext preview
The summary Claude sees to decide when to auto-load this skill.
Guide and apply cmux keyboard shortcut customization. Use when the user asks to customize, rebind, unbind, reset, audit, or create shortcut templates for cmux, including tmux-style, Vim-style, terminal-first, browser-heavy, iTerm/Terminal-like, or agent-triage layouts.
name: cmux-keyboard-shortcuts description: "Guide and apply cmux keyboard shortcut customization. Use when the user asks to customize, rebind, unbind, reset, audit, or create shortcut templates for cmux, including tmux-style, Vim-style, terminal-first, browser-heavy, iTerm/Terminal-like, or agent-triage layouts."
Turn a user's workflow preferences into cmux shortcut bindings in `~/.config/cmux/cmux.json`: guide, propose compact templates, apply the selected changes, and confirm the config parses with recognized keys.
Every new cmux-owned keyboard shortcut must be added to `Sources/KeyboardShortcutSettings.swift`, visible and editable in Settings > Keyboard Shortcuts, supported as `shortcuts.bindings.<actionId>` in `~/.config/cmux/cmux.json`, and documented in `web/app/[locale]/(landing)/docs/keyboard-shortcuts/page.tsx` and the configuration docs. All four, not a subset.
if [[ -z "${CMUX_SETTINGS:-}" ]]; then
root="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
for candidate in \
"$root/skills/cmux-settings/scripts/cmux-settings" \
"${CODEX_HOME:-$HOME/.codex}/skills/cmux-settings/scripts/cmux-settings" \
"$HOME/.agents/skills/cmux-settings/scripts/cmux-settings"; do
[[ -x "$candidate" ]] && CMUX_SETTINGS="$candidate" && break
done
[[ -n "${CMUX_SETTINGS:-}" ]] || {
echo "cmux-settings helper not found; run from a cmux checkout or install cmux-settings" >&2
exit 1
}
fi1. Classify the request:
2. Inspect existing config:
"$CMUX_SETTINGS" path
"$CMUX_SETTINGS" get shortcuts.bindings 2>/dev/null || printf '{}\n'
"$CMUX_SETTINGS" validate3. Snapshot prior values for every action you will change. A path that was absent reverts with `unset`; a path with an existing custom value reverts with `set <same-json-value>`.
"$CMUX_SETTINGS" get shortcuts.bindings.focusLeft 2>/dev/null || printf '<absent>\n'
4. Apply only the chosen action paths, then `"$CMUX_SETTINGS" validate`.
"$CMUX_SETTINGS" set shortcuts.bindings.newSurface '["ctrl+b","c"]' "$CMUX_SETTINGS" set shortcuts.bindings.focusLeft cmd+opt+h "$CMUX_SETTINGS" set shortcuts.bindings.sendFeedback null
5. Read back each changed action: `"$CMUX_SETTINGS" get shortcuts.bindings.newSurface`. 6. Finish with the template name, changed actions, and exact revert commands from the snapshot.
Apply action by action, never by overwriting the whole `shortcuts.bindings` object.
One terminal-style namespace; `ctrl+b` starts a cmux chord instead of reaching the shell.
"$CMUX_SETTINGS" set shortcuts.bindings.newSurface '["ctrl+b","c"]' "$CMUX_SETTINGS" set shortcuts.bindings.closeTab '["ctrl+b","x"]' "$CMUX_SETTINGS" set shortcuts.bindings.nextSurface '["ctrl+b","n"]' "$CMUX_SETTINGS" set shortcuts.bindings.prevSurface '["ctrl+b","p"]' "$CMUX_SETTINGS" set shortcuts.bindings.selectSurfaceByNumber '["ctrl+b","1"]' "$CMUX_SETTINGS" set shortcuts.bindings.splitRight '["ctrl+b","v"]' "$CMUX_SETTINGS" set shortcuts.bindings.splitDown '["ctrl+b","s"]' "$CMUX_SETTINGS" set shortcuts.bindings.focusLeft '["ctrl+b","h"]' "$CMUX_SETTINGS" set shortcuts.bindings.focusDown '["ctrl+b","j"]' "$CMUX_SETTINGS" set shortcuts.bindings.focusUp '["ctrl+b","k"]' "$
Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking, organization, and programmability.
Repo: manaflow-ai/cmux
cmux package architecture, refactor layering, dependency inversion, file organization, DocC documentation, package design discipline, testability, and Swift 6…
Backend TypeScript and Cloud VM development rules for cmux. Use when editing web/app/api, web/services, backend scripts, Cloud VM lifecycle, provider…
Stripe checkout, pricing, subscription, Pro plan, webhook, and entitlement runbook for cmux billing work. Use when editing or debugging billing, pricing,…
End-user browser automation with cmux. Use when you need to open sites, inspect or interact with browser surfaces, wait for page state, and extract data…
Route work to cmux Cloud machines from the plain `cmux vm` CLI (alias `cmux cloud`): route/run/agent pick a machine, `vm tree` and `surface ls` catalog This…
Use only after the user explicitly asks for Computer Use: drive real macOS apps from a cmux agent session via the bundled engine (accessibility tree +…