Agent Skills › manaflow-ai/cmux › cmux-capture

cmux-capture

GitHub

通过CLI捕获cmux窗口截图或录制视频,用于PR审查、Bug报告及视觉验证。支持静态画面与动态交互捕捉,无需屏幕权限,适配CI环境,提供JSON输出及自动停止功能。

skills/cmux-capture/SKILL.md manaflow-ai/cmux

Trigger Scenarios

需要展示UI布局、颜色等静态界面状态 需要演示拖拽、动画等动态交互过程 为Pull Request或Bug报告提供视觉证据

Install

npx skills add manaflow-ai/cmux --skill cmux-capture -g -y
More Options

Use without installing

npx skills use manaflow-ai/cmux@cmux-capture

指定 Agent (Claude Code)

npx skills add manaflow-ai/cmux --skill cmux-capture -a claude-code -g -y

安装 repo 全部 skill

npx skills add manaflow-ai/cmux --all -g -y

预览 repo 内 skill

npx skills add manaflow-ai/cmux --list

SKILL.md

Frontmatter
{
    "name": "cmux-capture",
    "description": "Screenshot or record a cmux window from the CLI, for a pull request, a bug report, or to see what the app actually looks like right now. Use when a change is visual, when a drag or an animation cannot be described in text, or when a reviewer needs evidence rather than a claim."
}

Screenshots and clips of cmux

cmux shot writes a png or a jpeg of a cmux window. cmux record writes an mp4 or a gif of one. Both capture only cmux's own windows, both go through the same permission-free path, and both work in a release build and inside CI. No Screen Recording permission is involved and none is ever requested.

cmux shot --label settings-sheet                  # png of the frontmost window
cmux shot --jpg --max-width 1200 --out ~/before.jpg
cmux record start --gif --max-seconds 8 --label sidebar-drag
cmux record note "dragging the workspace"         # caption, drawn into the clip
cmux record stop

shot prints <width>x<height> <bytes> <path>. record prints <id> <state> <frames> <path>. Both take --json for the whole response.

Which one

Take a screenshot when the thing is still: a sheet, a menu, a layout, a label, a color. Record when the thing is a change over time: a drag, an animation, a reorder, two views settling in an order, a spinner that should stop. A screenshot of a drag shows nothing, and a clip of a static sheet is a large file a reviewer has to click to play.

Working from a clip to a still

--region x,y,w,h is the same rectangle in both commands, in window points from the window's top left. So a detail noticed in a clip can be shot with the same four numbers:

cmux record start --region 0,0,420,900 --max-seconds 6   # watch the sidebar
cmux shot --region 0,0,420,900 --label sidebar-final     # keep the end state

Notes for an agent recording its own cmux

  • A recording stops itself at --max-seconds (default 15, maximum 120), so a clip is never left running by an agent that stops paying attention. Set it above the time the actions take or the clip ends early.
  • One at a time. A second record start is refused with conflict while one is running. cmux record list says whether anything is going, and cmux record status reports the frame count, with the effective frame rate in --json.
  • Caption as you go. cmux record note "<text>" draws text into the clip from that moment on. A clip has no step list beside it, so one note before each thing a reviewer should notice is worth more than a longer clip. --no-captions turns them off.
  • The clip is only cmux. Another app in front of the cmux window does not appear in the frames, so a capture does not have to own the screen.
  • Frames are timed by when they were captured, so a clip plays at the speed things happened even when the sampler fell behind the requested rate. Check fps_effective in --json if a clip looks slower than expected.
  • A gif is the shape to paste into a pull request, and --gif already picks the 8 fps and half scale that keep one small; an mp4 is sharper and needs a click to play. scripts/pr-media.py uploads either and converts an mp4 to a gif on the way.
  • Neither command replaces a directory or destroys an existing file before the new one is closed. --out on a path that is not a file is refused, and so is one whose extension does not match the format: --out clip.gif needs --gif.

In a CI dogfood tour

A dogfood scenario records with a record step wrapping the steps that matter, and captions with note, rather than by calling the CLI. The step table and the options are in cmux-testing/references/dogfood-scenarios.md.

Deep-dive references

Reference When to use
references/commands.md Every flag, the response shape, the error codes, window selection, limits

Version History

  • 42048bd Current 2026-10-19 17:11

Same Skill Collection

skills/cmux-architecture/SKILL.md
skills/cmux-backend/SKILL.md
skills/cmux-billing/SKILL.md
skills/cmux-browser/SKILL.md
skills/cmux-cloud-vm/SKILL.md
skills/cmux-cua/SKILL.md
skills/cmux-custom-sidebar/SKILL.md
skills/cmux-customization/SKILL.md
skills/cmux-debugging/SKILL.md
skills/cmux-dev-workflow/SKILL.md
skills/cmux-diagnostics/SKILL.md
skills/cmux-ghostty/SKILL.md
skills/cmux-keyboard-shortcuts/SKILL.md
skills/cmux-localization/SKILL.md
skills/cmux-markdown/SKILL.md
skills/cmux-release/SKILL.md
skills/cmux-review/SKILL.md
skills/cmux-settings/SKILL.md
skills/cmux-shared-behavior/SKILL.md
skills/cmux-socket-policy/SKILL.md
skills/cmux-test-bisect/SKILL.md
skills/cmux-testing/SKILL.md
skills/cmux-workspace/SKILL.md
skills/cmux/SKILL.md

Metadata

Files
0
Version
42048bd
Hash
35b4c472
Indexed
2026-10-19 17:11

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-31 02:11
浙ICP备14020137号-1