# Recording

> Capture screen recordings and screenshots on any registered computer (macOS, Windows, Linux, HarmonyOS) and manage the recording library.

- Skill: `gabrielmoreira/recording` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/recording`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/recording/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/gabrielmoreira/recording

---


# Recording and screenshots

1. Pick the computer (`computer_list`, or pass `computer` — it switches).
2. `recording_start` with optional `display` (macOS/Linux), `region` (Linux/
   Windows), `fps` (Linux/Windows), `durationSec` (macOS auto-stop), and
   `intervalMs` (HarmonyOS snapshot cadence).
3. Do the work (or let the user do it).
4. `recording_stop` with the returned `id` → finalized file path + bytes.
5. `recording_list` shows everything saved; `recording_status` checks one.

Platform truths:

- **macOS**: ScreenCaptureKit inside the signed helper captures a display or
  region straight to .mov — no system recorder selection UI and no desktop
  dimming overlay. If capture is denied, Screen Recording permission is
  missing for whoever ran it: the Codewhale Computer Use app when
  `request_access` says `via: "app"`, else the terminal that hosts the
  server — tell the user which, do not retry.
- **Windows**: ffmpeg gdigrab of the desktop or a region.
- **Linux X11**: ffmpeg x11grab (honors $DISPLAY, region, fps). Wayland:
  wf-recorder (per-output via CU_WAYLAND_OUTPUT).
- **HarmonyOS**: no native CLI recorder; the backend captures
  `snapshot_display` frames at `intervalMs` and muxes with ffmpeg on stop.
  The receipt labels the mode `snapshot-series` — never call it real-time.

Screenshots: `screenshot` returns the saved path and raster geometry; `zoom`
crops the latest raster when a target is too small to read.

