跳到正文
cccskills
免费在 GitHub 公开

cmux-customization

Customize cmux shortcuts, commands, workspace layouts, and viewer settings while preserving existing configuration. It identifies the right settings file, distinguishes app preferences from terminal preferences, and validates that actions and controls appear where expected.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

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.

查看安装方法

适用场景

  • Adding a custom action to the Command Palette
  • Saving project-specific workspace layouts and commands
  • Adjusting viewer settings and browser routing
  • Changing terminal fonts and themes

包含的文件(4)

  • SKILL.md6.8 KB
  • agents/openai.yaml388 B
  • references/examples.md6.0 KB
  • references/viewer-types.md4.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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. 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 changeEdit
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 themecmux import <terminal> --dry-run to preview, then cmux import <terminal>; writes cmux's own Ghostty config and a generated theme, never ~/.config/ghostty/config
Workspace names, descriptions, colors, read state, sidebar metadatacmux CLI, see ../cmux-workspace/SKILL.md
Feed event sourcescmux 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.

    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).

    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).

    ~/.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.<viewer> 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.

{
  "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 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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

cmux

免费

Organize cmux windows, workspaces, and split panes so an agent can target the right terminal reliably. Create terminals with startup commands, move or reorder panels, change focus, and flash a panel to identify it.

中文简介正在准备中。当前显示英语简介。

  • Arrange terminals for several tasks
  • Start a development command in a new split
  • Move or reorder panels
manaflow-ai/cmux2.8万2026年10月18日 更新

Guide substantial Swift changes in cmux with rules for package boundaries, dependency direction, state management, concurrency, and API documentation. Structure code so public package types can be tested without launching the app.

中文简介正在准备中。当前显示英语简介。

  • Extracting a large app feature into Swift Packages
  • Reviewing dependencies between UI, domain models, and services
  • Restructuring state management and Swift 6 concurrency
manaflow-ai/cmux2.8万2026年10月18日 更新

Guide cmux backend changes with consistent rules for Effect, a TypeScript library for structured error handling. Covers Cloud VM state, database migrations, provider integrations, and authentication and payment checks so changes follow the intended architecture.

中文简介正在准备中。当前显示英语简介。

  • Implementing API error handling
  • Updating Cloud VM lifecycle logic
  • Preparing database migrations
manaflow-ai/cmux2.8万2026年10月18日 更新

Maintain cmux billing code with guidance on Stripe checkout, pricing, subscriptions, and access rights. It maps the relevant services and provides workflows for testing purchases, handling payment events, and rolling out billing changes.

中文简介正在准备中。当前显示英语简介。

  • Debugging checkout and subscription records
  • Updating prices and plan switching
  • Checking paid access and Cloud VM limits
manaflow-ai/cmux2.8万2026年10月18日 更新

Automate browsing in cmux panels without taking focus away from current work. Target a specific panel to open pages, fill forms, click controls, wait for page changes, extract content, and inspect download history.

中文简介正在准备中。当前显示英语简介。

  • Open and inspect sites without changing focus
  • Fill forms and check the result
  • Extract page text or HTML
manaflow-ai/cmux2.8万2026年10月18日 更新

Capture cmux windows as screenshots or video clips from the CLI. Create visual evidence for pull requests and bug reports, with region selection and captions to explain drags, animations, or layout changes.

中文简介正在准备中。当前显示英语简介。

  • Attaching screenshots of visual changes to a pull request
  • Recording drags and animations for a bug report
  • Capturing a specific window region with explanatory captions
manaflow-ai/cmux2.8万2026年10月18日 更新

查看 manaflow-ai 的全部技能

报告此技能的问题