recording

Installation
SKILL.md

Recording

When to use

Reach for this skill any time you touch the recorder: the record button, the in-progress toolbar, permission prompts, chunked upload flow, or the camera bubble. If you're adding support for a new source (e.g. tab capture, iPhone continuity camera) or changing how chunks are finalized server-side, this is your map.

Data model touched

  • recordings — the row gets created as soon as the user presses Record or imports a source. Native/file recordings transition uploadingprocessingready (or failed). videoUrl, durationMs, videoSizeBytes, width, height, hasAudio, hasCamera are populated as the upload streams in. Loom imports use import-loom-recording and create a ready row whose videoUrl is a Loom embed URL.
  • application_state.record-intent — the agent writes this when it wants to start a recording. The UI reads and clears it, then prompts for permission.
  • application_state.navigation — set to { view: "record" } while the recorder is active.

Binary uploads hit the custom API routes (/api/uploads/:id/chunk and /api/uploads/:id/abort) rather than actions, because actions aren't the right tool for binary streaming bodies. The final chunk calls finalize-recording. Loom URL imports are metadata-only and should go through the import-loom-recording action.

Some recordings are linked to a meeting — when meeting_id is non-null on the recording row, it was created via start-meeting-recording and both the recording and meetings skills apply. See the meetings skill for the bidirectional link.

Lifecycle

Installs
1
GitHub Stars
3.8K
First Seen
8 days ago
recording — builderio/agent-native