How to install cmux-debug-windows
npx skills add null --skill cmux-debug-windowsFull instructions (SKILL.md)
Source of truth, from manaflow-ai/cmux.
name: cmux-debug-windows description: Manage cmux debug windows and related debug menu wiring for Sidebar Debug, Background Debug, and Menu Bar Extra Debug. Use this when the user asks to open/tune these debug controls, add or adjust Debug menu entries, or capture/copy a combined debug config snapshot.
cmux Debug Windows
Keep this workflow focused on existing debug windows and menu entries. Do not add a new utility/debug control window unless the user asks explicitly.
Workflow
- Verify debug menu wiring in
Sources/cmuxApp.swiftunderCommandMenu("Debug").- Menu path in app:
Debug→Debug Windows→ window entry. - The
Debugmenu only exists in DEBUG builds (./scripts/reload.sh --tag ...). - Release builds (
reloadp.sh,reloads.sh) do not show this menu.
- Menu path in app:
- Keep these actions available in
Menu("Debug Windows"):
Sidebar Debug…Background Debug…Menu Bar Extra Debug…Open All Debug Windows
- Reuse existing per-window copy buttons (
Copy Config) in each debug window before adding new UI. - For one combined payload, run:
skills/cmux-debug-windows/scripts/debug_windows_snapshot.sh --copy
- After code edits, run build + tagged reload:
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug -destination 'platform=macOS' build
./scripts/reload.sh --tag <tag>
Key Files
Sources/cmuxApp.swift: Debug menu entries and debug window controllers/views.Sources/AppDelegate.swift: Menu bar extra debug settings payload and defaults keys.
Script
scripts/debug_windows_snapshot.sh
Purpose:
- Reads current debug-related defaults values.
- Prints one combined snapshot for sidebar/background/menu bar extra.
- Optionally copies it to clipboard.
Examples:
skills/cmux-debug-windows/scripts/debug_windows_snapshot.sh
skills/cmux-debug-windows/scripts/debug_windows_snapshot.sh --copy
skills/cmux-debug-windows/scripts/debug_windows_snapshot.sh --domain <bundle-id> --copy
Related skills
More from manaflow-ai/cmux and the wider catalog.
cmux
End-user control of cmux topology and routing (windows, workspaces, panes/surfaces, focus, moves, reorder, identify, trigger flash). Use when automation needs deterministic placement and navigation in a multi-pane cmux layout.
cmux-browser
End-user browser automation with cmux. Use when you need to open sites, interact with pages, wait for state changes, and extract data from cmux browser surfaces.
cmux-markdown
Open markdown files in a formatted viewer panel with live reload. Use when you need to display plans, documentation, or notes alongside the terminal with rich rendering (headings, code blocks, tables, lists).
cmux-settings
View and edit cmux settings in ~/.config/cmux/cmux.json. Use when the user wants to change cmux preferences (appearance, sidebar, notifications, automation, browser, shortcuts), set a value by JSON path, validate the file, open it in an editor, or look up which keys cmux recognizes. Triggers on '/cmux-settings', 'change cmux setting', 'set <something> in cmux', 'cmux config', 'cmux.json', or 'rebind a cmux shortcut'.
cmux-workspace
Work inside the current cmux workspace and terminal. Use for cmux workspace, current workspace, caller surface, panes, surfaces, socket targeting, and non-interfering cmux automation.
cmux-customization
Customize cmux for an end user. 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.