LLMSkillHub
mirroredCopied from codewhale-hq/Codewhale under MIT. codewhale-hq has not claimed this page, and is not affiliated with LLM SkillHub.

codewhale-hq / recording

Capture screenshots on registered computers, record on macOS or HarmonyOS, and manage saved captures. Probe capabilities before recording.

0
SKILL.md
2.1 KB

Recording and screenshots

  1. Pick the computer (computer_list, or pass computer — it switches).
  2. Check request_access when readiness is unknown. On a supported target,
    use recording_start with optional display, region, fps and
    durationSec (macOS auto-stop), or 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 and Linux: recording is unavailable pending session-owned
    recorder cleanup. Use screenshots; installing ffmpeg does not enable it.

  • 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 a saved path, geometry and raster_id. Carry
that ID in pixel targets and as the parent of zoom when a target is too small
to read. Each zoom returns a new child ID; use it for child-image coordinates.
OCR coordinate targets already include their pin. Pins remain reusable while
current; older unpinned calls retain latest-raster behavior. A replaced capture,
app launch or route change retires the context. On raster_stale or no_raster,
observe again; never drop the ID to retry. Pins detect capture replacement,
not a changed UI: re-observe after UI changes and verify input separately.
An omitted image cannot supply coordinates.