本文へ移動
cccskills
無料GitHub で公開

cli-cmux

Deep expertise in cmux — the terminal multiplexer with native browser views. Use when managing panes, reading terminal output, sending keystrokes, opening browser views, or manually testing web UIs and TUIs inside cmux. Triggers on: cmux, open a browser pane, split terminal, read screen, send keys, test this UI in cmux, preview in cmux.

インストール方法を見る

含まれるファイル(4)

  • SKILL.md6.9 KB
  • reference/browser-commands.md6.4 KB
  • reference/layout-commands.md4.5 KB
  • reference/terminal-io.md3.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

cmux — Terminal Multiplexer with Native Browser

cmux manages terminal panes and browser views through a Unix socket CLI. You are already running inside cmux — your current pane has env vars CMUX_WORKSPACE_ID and CMUX_SURFACE_ID set automatically.

Mental Model

window → workspace(s) → pane(s) → surface(s)
                                    ↑
                              terminal OR browser
  • Window: OS window
  • Workspace: A tab within a window (like tmux sessions)
  • Pane: A visual split region
  • Surface: The content inside a pane (terminal or browser); panes can have multiple surfaces as tabs

Addressing

cmux uses short refs by default: workspace:1, pane:2, surface:3. Most commands auto-target the caller's workspace/surface via env vars.

# Discover current layout
cmux identify            # What workspace/pane/surface am I in?
cmux list-panes          # Panes in current workspace
cmux list-workspaces     # All workspaces

Core Operations

Layout — Splits and Panes

# Create a new terminal pane (split from current)
cmux new-pane --direction right
cmux new-pane --direction down

# Create a browser pane
cmux new-pane --type browser --direction right --url http://localhost:3000

# Focus a pane
cmux focus-pane --pane pane:3

# Resize
cmux resize-pane --pane pane:2 -R --amount 20   # grow rightward
cmux resize-pane --pane pane:2 -D --amount 10   # grow downward

Terminal I/O — Read and Send

# Read what's on screen in another pane
cmux read-screen --surface surface:2
cmux read-screen --surface surface:2 --scrollback --lines 100

# Send text (like typing)
cmux send --surface surface:2 "npm run dev"
cmux send --surface surface:2 $'\n'              # press Enter

# Send special keys
cmux send-key --surface surface:2 Enter
cmux send-key --surface surface:2 Up
cmux send-key --surface surface:2 Ctrl+C

Browser — Navigate and Interact

# Open URL in an existing browser surface
cmux browser --surface surface:3 navigate http://localhost:3000

# Snapshot the DOM (interactive elements)
cmux browser --surface surface:3 snapshot --interactive

# Click, fill, type using CSS selectors
cmux browser --surface surface:3 click "button.submit"
cmux browser --surface surface:3 fill "input[name=email]" "test@example.com"
cmux browser --surface surface:3 type "input[name=search]" "query"

# Press keys, scroll
cmux browser --surface surface:3 press Enter
cmux browser --surface surface:3 scroll --dy 500

# Read state
cmux browser --surface surface:3 get url
cmux browser --surface surface:3 get title
cmux browser --surface surface:3 get text "h1"

# Wait for conditions
cmux browser --surface surface:3 wait --selector ".loaded"
cmux browser --surface surface:3 wait --load-state complete
cmux browser --surface surface:3 wait --text "Dashboard"

Workflow: Testing a Web UI

The pattern: start the dev server in a terminal pane, open a browser pane pointing at it, then interact via snapshot → act → re-snapshot.

# 1. Start dev server in a new pane
cmux new-pane --direction down
# note the surface ref from output, e.g. surface:2
cmux send --surface surface:2 "npm run dev"
cmux send-key --surface surface:2 Enter

# 2. Wait for server to be ready
# (read screen until you see the ready message)
cmux read-screen --surface surface:2

# 3. Open browser pane pointing at dev server
cmux new-pane --type browser --direction right --url http://localhost:3000
# note the browser surface ref, e.g. surface:3

# 4. Snapshot → interact → re-snapshot loop
cmux browser --surface surface:3 snapshot --interactive
cmux browser --surface surface:3 click "nav a[href='/settings']"
cmux browser --surface surface:3 wait --load-state complete
cmux browser --surface surface:3 snapshot --interactive

# 5. Fill a form
cmux browser --surface surface:3 fill "input[name=username]" "testuser"
cmux browser --surface surface:3 fill "input[name=password]" "secret"
cmux browser --surface surface:3 click "button[type=submit]"
cmux browser --surface surface:3 wait --text "Welcome"
cmux browser --surface surface:3 snapshot --interactive

Snapshot Tips

  • --interactive returns only interactive elements — much smaller output
  • --compact reduces whitespace for smaller snapshots
  • --selector "main" scopes to a region of the page
  • --max-depth 5 limits DOM tree depth
  • Always re-snapshot after navigation or DOM mutations

Workflow: Testing a TUI

The pattern: launch the TUI in a new pane, read-screen to observe, send/send-key to interact.

# 1. Launch the TUI
cmux new-pane --direction right
# note surface ref, e.g. surface:2
cmux send --surface surface:2 "my-cli-wizard"
cmux send-key --surface surface:2 Enter

# 2. Read → interact → read loop
cmux read-screen --surface surface:2
cmux send-key --surface surface:2 ArrowDown
cmux send-key --surface surface:2 ArrowDown
cmux send-key --surface surface:2 Enter
cmux read-screen --surface surface:2

# 3. Type text input
cmux send --surface surface:2 "my-project-name"
cmux send-key --surface surface:2 Enter
cmux read-screen --surface surface:2

# 4. Test cancellation
cmux send-key --surface surface:2 Ctrl+C
cmux read-screen --surface surface:2

# 5. Clean up
cmux send-key --surface surface:2 Ctrl+C

TUI Tips

  • Use read-screen (not read-screen --scrollback) for current viewport
  • Add --lines 50 with --scrollback to limit output size
  • Send Ctrl+C to kill the TUI when done
  • Read the screen after each interaction to confirm state changes

Context Management

cmux interactions are context-expensive. Minimize round-trips:

  1. Batch related commands — don't read-screen between every single keystroke
  2. Use --interactive and --compact for browser snapshots
  3. Scope snapshots with --selector when you only care about part of the page
  4. Delegate long test sessions to a Task subagent — the subagent runs the full interaction loop and returns only findings

Sidebar Metadata

cmux provides sidebar status, progress, and logging for visibility:

cmux set-status "phase" "testing" --icon "🧪"
cmux set-progress 0.5 --label "Running tests..."
cmux log "Found 3 issues" --level warn
cmux clear-progress

Reference

For full command details, see:

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Build AI chat interfaces using ai-elements components — conversations, messages, tool displays, prompt inputs, and more. Use when the user wants to build a chatbot, AI assistant UI, or any AI-powered chat interface.

日本語の概要は準備中です。原文の説明を表示しています。

hashintel/brunch82026年10月8日 更新

Search the live web via Perplexity Search API. Use when you need current documentation, release notes, vendor pages, news, domain-constrained web search, or date/recency filtering. Not for local codebase search or stable docs already in context.

日本語の概要は準備中です。原文の説明を表示しています。

hashintel/brunch82026年10月8日 更新

cli-cdp

無料

Chrome DevTools CLI for browser automation via shell commands. Use when interacting with web pages from the command line — navigating, clicking, filling forms, inspecting console/network, taking screenshots, or extracting page content. Triggers on: browse a page, automate Chrome, inspect console, check network requests, take a screenshot, fill a form, click a button.

日本語の概要は準備中です。原文の説明を表示しています。

hashintel/brunch82026年10月8日 更新

Uses the chrome-devtools-axi CLI for browser automation, accessibility-tree snapshots, console and network inspection, screenshots, Lighthouse audits, and performance traces. Use when interacting with Chrome from the shell, especially when the user mentions chrome-devtools-axi, AX snapshots, browser debugging, or DevTools automation from the command line.

日本語の概要は準備中です。原文の説明を表示しています。

hashintel/brunch82026年10月8日 更新

Uses the gh-axi CLI for GitHub shell operations: issue, pull request, workflow run, release, repo, search, and API tasks. Prefer this over regular `gh` for GitHub reads and simple mutations when an agent needs compact, structured, suggestion-rich output. Triggers on: gh, GitHub CLI, github issue, github pr, pull request, workflow run, github release, gh api, repo inspection, list PRs, view issue, check workflow runs, inspect repo, GitHub shell operations.

日本語の概要は準備中です。原文の説明を表示しています。

hashintel/brunch82026年10月8日 更新

Work with Graphite (gt) for stacked PRs. Use when creating, navigating, submitting, or managing PR stacks, or when the user mentions gt, Graphite, or stacked diffs.

日本語の概要は準備中です。原文の説明を表示しています。

hashintel/brunch82026年10月8日 更新

hashintel のスキルをすべて見る

このスキルの問題を報告する