skills/cmux/SKILL.md
--- name: cmux description: Controls the cmux macOS terminal app (Ghostty-based, AI-agent-aware) via its CLI socket API. Use this skill to: open browser preview panes when a dev server starts or an HTML file is created; spin up named workspaces for parallel subagents; show live sidebar progress/status during long tasks; open utility splits on demand (logs, URLs, terminals) in any direction. Also handles `/cmux demo` — an interactive walkthrough with 3 screens of options that runs personalized li
npx skillsauth add glebis/claude-skills skills/cmuxInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Controls the cmux macOS terminal app via its CLI socket API to orchestrate workspaces, panes, browser previews, sidebar status, and notifications.
Full CLI reference: references/api_reference.md
Always verify cmux is running before issuing commands:
cmux ping 2>/dev/null && echo "ok" || echo "cmux not available"
If unavailable, skip cmux enhancements silently — never block the main task.
When a dev server starts or an HTML file is created, open it in a right-side browser pane:
# Dev server detected (e.g. localhost:3000)
cmux new-pane --type browser --direction right --url http://localhost:3000
# HTML file created — serve it first, then preview
cd <project-dir> && python3 -m http.server 8080 &
cmux new-pane --type browser --direction right --url http://localhost:8080/<file>.html
When to trigger:
localhost:PORT, 127.0.0.1:PORT, Server running, Listening on.html file is written and the user would benefit from seeing it renderedDirection heuristic: right for wide layouts, down for narrow/tall terminals.
When dispatching parallel agents (via superpowers:dispatching-parallel-agents or similar), give each agent its own named cmux workspace so it's visible in the sidebar:
# Create a workspace per agent (new-workspace has no --cwd — cd inside --command)
cmux new-workspace --command "cd /path/to/project && claude --dangerously-skip-permissions"
cmux rename-workspace "agent: fix-auth"
# Set status so the sidebar shows what the agent is doing
cmux set-status task "fix-auth" --icon "⚡"
cmux set-status state "running" --color "#F59E0B"
When an agent completes:
cmux notify --title "Agent done" --subtitle "fix-auth" --body "Merged and cleaned up"
cmux set-status state "done" --color "#10B981"
Pattern: workspace 1 = orchestrator, workspaces 2–8 = subagents. Use cmux list-workspaces --json to track IDs.
Show live feedback for long-running tasks without interrupting the main session:
# Task start
cmux set-progress 0 --label "Building..."
cmux set-status phase "build" --icon "🔨"
# Midpoint update
cmux set-progress 0.5 --label "Running tests..."
cmux set-status phase "test" --icon "🧪"
# Completion
cmux set-progress 1 --label "Done"
cmux notify --title "Task complete" --body "All tests passed"
cmux clear-progress
Use cmux log <message> --level info to append entries to the workspace log panel (visible via ⌘I).
When to use: any task taking >10 seconds — file processing, test runs, builds, research sweeps, code generation loops.
Open any content in a split pane in the requested direction:
# Open a URL in a browser split
cmux new-pane --type browser --direction right --url <url>
# Open a terminal split running a command (e.g. log tail)
cmux new-pane --type terminal --direction down
cmux send "tail -f /path/to/server.log"
cmux send-key "Enter"
# Resize to make it a narrow utility strip
cmux resize-pane --pane <id> -D --amount 20 # shrink height by 20 rows
Direction mapping for natural language:
| User says | Direction flag |
|---|---|
| "on the right" / "beside" | --direction right |
| "on the left" | --direction left |
| "below" / "at the bottom" | --direction down |
| "above" / "at the top" | --direction up |
| "in a new tab" / "new workspace" | cmux new-workspace |
workspace-action and tab-action expose the right-click context-menu actions.
Full table with flags in references/api_reference.md — the available action names are:
cmux workspace-action --action <name> (sidebar workspaces):
pin · unpin · rename (needs --title) · clear-name · move-up · move-down ·
move-top · mark-read · mark-unread · close-others · close-above · close-below
cmux tab-action --action <name> (horizontal tabs):
rename · clear-name · pin · unpin · reload · duplicate ·
new-terminal-right · new-browser-right · mark-read · mark-unread ·
close-left · close-right · close-others
⚠️ Destructive actions act on OTHER tabs, not the one you name.
close-others/close-above/close-below(workspace) andclose-left/close-right/close-others(tab) close everything except the target.close-othersspares pinned workspaces only. Never run these to "test" — they will close the user's live tabs. Preferclose-workspace --workspace <id>to close one specific workspace.
Renaming / selecting (common gotchas):
cmux workspace-action --action rename --title "<name>"
(or cmux rename-workspace <name>). rename-tab only renames an inner tab and does
not change the switcher label.cmux select-workspace --workspace <id>. There is no
--action select (it errors "Unknown workspace action").When unsure of a command's exact flags, run cmux <command> --help — every command
embeds full usage.
Full workflow example — superpowers runs a subagent that builds a UI:
# 1. Announce work in sidebar
cmux set-progress 0 --label "Scaffolding UI..."
cmux set-status agent "ui-builder" --icon "🎨"
# 2. Subagent does its work...
# 3. Server starts → auto-preview
cmux new-pane --type browser --direction right --url http://localhost:5173
# 4. Mark done
cmux set-progress 1 --label "Preview ready"
cmux notify --title "UI ready" --body "Preview open on the right"
cmux clear-progress
/cmux demo)When invoked as /cmux demo, run an interactive personalized walkthrough. Always verify cmux ping first — abort with a clear message if unavailable.
Ask with AskUserQuestion:
question: "What best describes how you work?"
header: "Workflow"
options:
- label: "Coding agent manager"
description: "Running multiple Claude sessions in parallel"
- label: "Web dev"
description: "Browser preview, dev servers, HTML artifacts"
- label: "Research / long tasks"
description: "Vault work, builds, sweeps that take minutes"
- label: "Show me everything"
description: "Run all demos back to back"
question: "How do you want to explore?"
header: "Demo mode"
options:
- label: "Walk me through it"
description: "Step by step with explanations between each demo"
- label: "Auto-run"
description: "Run all relevant demos back to back, narrate as you go"
- label: "Just the commands"
description: "Show what you'd run, skip execution"
question: "Do you use tmux?"
header: "tmux"
options:
- label: "Yes, daily"
description: "Show me the cmux + tmux combo"
- label: "For SSH / remote only"
description: "Show the remote persistence pattern"
- label: "Not really"
description: "Skip tmux, focus on cmux-native features"
Run demos based on Screen 1 answer. Each demo: announce what's happening, execute the commands, narrate what the user is seeing, suggest what to try next.
A — Browser preview pane (web dev, show everything)
/tmp/cmux-preview.html with a minimal styled pagepython3 -m http.server <PORT> --directory /tmp &cmux new-pane --type browser --direction right --url http://localhost:<PORT>/cmux-preview.htmlcmux browser --surface <id> screenshot to show the rendered result inlineB — Sidebar progress (research / long tasks, show everything)
set-progress, set-status)cmux notify on completioncmux log a few entries, mention ⌘I to open the log panelC — Subagent workspaces (coding agent manager, show everything)
cmux new-workspace --command "echo 'agent: fix-auth'" + renamecmux set-status with agent name + colorcmux notify simulating completioncmux close-workspace cleanupD — tmux inside cmux (if Screen 3 = daily or SSH)
cmux new-pane --type terminal --direction rightcmux send --surface <id> "tmux new-session -s work\n"editor, server, git)cmux read-screen --surface <id> and show outputtmux attach -t work to reconnect."E — Utility split on demand (all workflows)
cmux new-pane --type terminal --direction downtail -f or git log --follow -p command into itcmux resize-pane -D --amount 10 to shrink it to a stripIn auto mode (Screen 2 = "Auto-run"):
cmux set-progress and cmux set-status to show overall demo progress in the sidebarAfter each demo (or at the end of auto mode), close any panes/workspaces/processes created:
cmux close-surface --surface <id> # or close-workspace
kill <server-pid>
cmux clear-progress
cmux clear-status <key>
cmux ping fails: skip all cmux calls, proceed with task normallynew-pane or new-workspace call fails: log a warning, don't retrydevelopment
--- name: agency-docs-updater description: End-to-end pipeline for publishing Claude Code lab meetings. Accepts optional args: date (YYYYMMDD, "yesterday", "today") and lab number (e.g. "04"). Examples: "yesterday 04", "20260420 05", "04" (today, lab 04), "" (today, auto-detect lab). --- # Agency Docs Updater Execute ALL steps automatically in sequence. Only pause if a step fails and cannot be recovered. Read `references/learnings.md` before starting for known pitfalls. **Configuration**: pat
tools
This skill should be used when applying proper typography to prose text or files in Russian, English, German, or French — smart quotes per locale («ёлочки», “curly”, „Gänsefüßchen“, « guillemets »), correct dashes (тире, em/en dash, Gedankenstrich, tiret), non-breaking spaces, ranges, ellipsis, and French espaces insécables before ! ? ; :. Fully deterministic via a pinned typograf-based CLI; never apply these rules by hand. Triggers on "типографика", "typograf", "оттипографь", "smart quotes", "fix typography", "неразрывные пробелы".
development
This skill should be used when inspecting or applying advanced OpenType features of a font (woff2/otf/ttf) — ligatures, stylistic sets (ss01–ss20), character variants (cvXX), texture healing, slashed zero, tabular/oldstyle figures, fractions, small caps, case-sensitive forms — and generating the CSS to enable them. Interviews the user via cenno to pick features. Triggers on "OpenType features", "font features", "stylistic sets", "ligatures", "texture healing", "tabular figures", "what can this font do".
tools
--- name: pre-session-portrait description: Build a compressed, visualizable "portrait" of a consulting/coaching client before a session, so the paid hour is spent solving, not scoping. Runs a 7-lens JTBD-inspired interview (where / how / what / problem / ideal / tension / jobs-to-be-done) that takes rich open answers in and compresses them to an 11-field YAML portrait out. Delivers three ways: raw paste-into-a-clean-chat prompt, a secret GitHub gist link, or a Codex CLI one-liner. Use when prep