Skip to content
cccskills
FreePublished on GitHub

product-recording

Prepare Remotion Studio and Canvas Capture for a product demo recorded by the user. Import the original capture into packages/brand as an editable composition, preserve cursor metadata, and upload the verified recording to remotion.media.

OriginalShow the original description

Prepare Remotion Studio for a user-recorded product demo with Canvas Capture, then import the downloaded take into packages/brand as an editable composition. Use for recording Studio interactions, timeline demos, and product shots.

See how to install

Good for

  • Prepare a Studio interaction demo for recording
  • Frame a timeline demonstration
  • Import a capture with editable cursor data
  • Upload an imported recording and verify its integrity

Files included (1)

  • SKILL.md5.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Product recording

Prepare the browser and shot, let the user perform and record the interaction, then bring the original capture into packages/brand. This is an internal Remotion workflow; keep this skill in .agents/skills.

Prepare Studio and Chrome

  1. Use canvas-capture-extension to build and install the extension in its durable directory. Reload the installed extension through chrome://extensions after rebuilding; a successful build alone does not refresh Chrome's loaded extension.

  2. Use an existing compatible Chrome with Canvas Draw Element enabled. Preserve unrelated browser tabs and unfinished recordings.

  3. Find the requested composition's registration and owning package. Follow studio for dependency/build preparation and server startup, but start in the owning package and open the recording in compatible Chrome. Use bunx remotion studio --no-open and the exact URL printed by that invocation, including when it reports an existing server. Do not assume port 3000 belongs to this checkout.

  4. Open the composition with studioPixelRatio=4 in the query string, preserving any other URL parameters. For example, if Studio reports port 3001:

    http://localhost:3001/RollerSkiRoughCut?studioPixelRatio=4
    

    The parameter increases Studio's canvas backing resolution for sharp timeline captures. It does not set the extension's output resolution. RollerSkiRoughCut lives in packages/jonnys-videos; locate other requested compositions rather than assuming they live in packages/example.

  5. Verify the requested composition and current timeline are visible. Activate Canvas Capture through its toolbar icon or Extensions menu.

Prepare an optional shot and hand off

  • Arrange the viewport, timeline height/zoom, playhead, and sidebars as needed for the requested demonstration. Do this before framing the shot.
  • Use the extension's setup_shot and get_shot WebMCP tools when available. They are exposed after activating the extension. Choose the viewport, one visible element, or a rectangle; inspect a still with get_shot and preview: true. The crop stays fixed in viewport CSS pixels, so reframe after changing the window or layout.
  • If those tools are unavailable, use the extension's Entire page or Select area controls and visually verify the selection. Output zoom and dimensions are separate from studioPixelRatio; set them for the intended shot and check the displayed dimensions.
  • Before handing off, note existing capture files and their modification times in the user's Downloads folder so the new take can be identified later.
  • Leave the shot ready without starting recording. Tell the user to click Record, perform their interaction, stop, and choose Download recording. The user controls the cursor and recording start/stop. Pause here until they have recorded; do not substitute an older download or claim an import is done.

Import the downloaded take

  1. After the user finishes, identify the new, fully downloaded capture in ~/Downloads by filename and modification time relative to the handoff. Exclude incomplete .crdownload files. If several takes are plausible, ask which one to use.

  2. Keep the original MP4 or WebM with embedded REMOTION_CAPTURE_DATA metadata. Do not transcode it before import; the metadata carries editable cursor data.

  3. Use import-canvas-capture, targeting packages/brand and its composition registration file (currently src/Root.tsx). Choose an unused, descriptive composition ID. From packages/brand, the local built CLI can be invoked as:

    node ../cli/remotion-cli.js experimental-codemod add-canvas-capture \
      /absolute/path/to/downloaded-capture.mp4 \
      --composition-file src/Root.tsx --id TimelineRecording
    

    Follow that skill's dimension, dependency, and conflict guidance. Inspect the capture dimensions and pass --width and --height to match them when importing the full shot: the default 1920×1080 composition can crop a larger recording because the generated component retains native video dimensions. Preserve the download and existing compositions/assets.

  4. Review the generated component, registration, copied public asset, and any dependency changes. Run the relevant brand validation before offloading.

Offload the recording

Finish with offload-r2: upload the imported recording to remotion.media, verify that the public object's SHA-256 matches the local file, and replace the composition's local asset reference with the hosted URL. Remove the repository-local media copy only after verification; preserve the original download. Follow that skill's focused validation, then report the composition ID, hosted URL, and changed files. Distinguish a browser ready for recording from a completed, imported, and offloaded take.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

add-bug

FreeSummary

Add a reported Remotion bug to the bugs API with its affected versions, a short title, and upgrade guidance. Follow the existing entry format and place the new record first so recent bugs appear at the top.

  • Adding a reported bug to the Remotion bugs API
  • Recording which versions a bug affects
  • Including upgrade guidance in a bug description
remotion-dev/remotion65KUpdated Oct 18, 2026

add-cli-option

FreeSummary

Add a Remotion command-line or configuration option, or convert a hardcoded flag into a shared option definition. Connect parsing, configuration setters, help entries, and generated documentation so the option is consistently available and documented.

  • Add a new Remotion command-line flag
  • Convert a hardcoded flag into a shared option
  • Connect an option to Config setters
remotion-dev/remotion65KUpdated Oct 18, 2026

add-effect

FreeSummary

Add a new effect to @remotion/effects, including its implementation, package entry points, documentation, interactive demo, and preview images. Follow the package conventions and verify the changes with tests, formatting checks, and builds.

  • Implementing a new effect for @remotion/effects
  • Registering effect imports and parameter types
  • Creating documentation and an interactive effect demo
remotion-dev/remotion65KUpdated Oct 18, 2026

add-expert

FreeSummary

Add a person to the Remotion experts page by placing their portrait, entering their profile and contact links, and generating an expert card image. The instructions specify file locations, profile fields, and how to verify card generation.

  • Add a new person to the Remotion experts page
  • Register a portrait, specialties, and contact links
  • Generate an expert card image
remotion-dev/remotion65KUpdated Oct 18, 2026

add-new-package

FreeSummary

Create a new @remotion package within the Remotion monorepo, a repository containing multiple packages. Set up its files, register it across the project, and prepare documentation, usage examples, and build configuration.

  • Creating a new @remotion package
  • Registering a package across the monorepo
  • Adding documentation and usage examples
remotion-dev/remotion65KUpdated Oct 18, 2026

add-sfx

FreeSummary

Add a new sound effect to @remotion/sfx, from registering the audio file to exporting its URL and documenting its use. The workflow covers playback examples, attribution, navigation entries, waveform generation, and the package build.

  • Add a sound effect to @remotion/sfx
  • Create documentation with playback and usage examples
  • Update sound effect navigation and waveform data
remotion-dev/remotion65KUpdated Oct 18, 2026

See all skills by remotion-dev

Report a problem with this skill