Skip to content
cccskills
FreePublished on GitHub

canvas-capture-extension

Rebuild and install the Remotion Canvas Capture Chrome extension in a durable location, restore it after a working directory is deleted, and reload it in a compatible browser. It also prepares a webpage and still preview before manual recording.

OriginalShow the original description

Rebuild, install, and reload the private Remotion Canvas Capture unpacked Chrome extension. Use when the extension needs to be restored after a Codex worktree was deleted, rebuilt after source changes, moved to its durable install directory, or reloaded in Chrome or Chrome Canary.

See how to install

Good for

  • Restore the extension after deleting a working directory
  • Rebuild and reload after source changes
  • Prepare a webpage and preview before recording
  • Develop with automatic extension rebuilding and reloading

Files included (3)

  • SKILL.md4.5 KB
  • agents/openai.yaml234 B
  • scripts/rebuild-extension.sh2.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Canvas Capture Extension

Build the extension from packages/canvas-capture-extension, but always install the unpacked copy outside the checkout so deleting a worktree cannot break it.

Rebuild and install

  1. Locate a Remotion checkout containing packages/canvas-capture-extension/package.json. Prefer the current checkout; otherwise use /Users/jonathanburger/remotion.

  2. Run:

    .agents/skills/canvas-capture-extension/scripts/rebuild-extension.sh \
      --repo <remotion-checkout>
    

    The script builds with Bun and installs the complete WXT bundle in /Users/jonathanburger/Applications/Remotion Canvas Capture Extension. Building does not require an installed browser. To use the extension, choose Chrome 157.0.8080.0 or newer with Canvas Draw Element enabled.

  3. Confirm that the installed directory contains manifest.json, background.js, capture.js, drag-image.js, shot-tools.js, logo.svg, and the generated extension icons.

Develop with React and Vite

  1. Close any running Recorder Chrome instance that uses the dedicated Canvas Capture profile.
  2. From packages/canvas-capture-extension, run bun run dev.
  3. WXT writes the development bundle to the durable directory /Users/jonathanburger/Applications/Remotion Canvas Capture Extension Dev, launches Chrome for Testing with the Canvas Draw Element feature enabled, and loads the extension automatically.
  4. Click the extension icon to show the in-page controls. Source and manifest changes cause WXT to rebuild and reload the affected extension contexts.

Use the separate development directory only for bun run dev. Continue using the production install directory above for manually loaded builds.

The Remotion pages receive recordings through externally_connectable messaging; the extension does not inject a receiver content script. To test a local destination, set CANVAS_CAPTURE_HANDOFF_ORIGIN (for example http://localhost:3000) when running bun run dev. Production builds always use https://www.remotion.dev.

To select another Chrome 157.0.8080.0 or newer browser, set CANVAS_CAPTURE_BROWSER_EXECUTABLE to its executable path when running bun run dev. Development uses the version-neutral ~/Library/Application Support/Remotion Canvas Capture profile.

Reload in Chrome

  • Launch Chrome 157.0.8080.0 or newer with the dedicated Canvas Capture profile, then open chrome://extensions.

  • Enable Developer mode on chrome://extensions.

  • If Remotion Canvas Capture already points to the durable directory, click Reload.

  • If Chrome shows the deleted worktree path, remove that broken entry, choose Load unpacked, and select:

    /Users/jonathanburger/Applications/Remotion Canvas Capture Extension
    

    This one-time move changes the extension ID because Chrome derives unpacked extension identity from its absolute path.

  • Keep loading future production builds from the durable install directory, never from a worktree-local dist directory. WXT-managed development builds use the separate durable development directory documented above.

  • Enable chrome://flags/#canvas-draw-element and restart Chrome when the experimental HTML-in-canvas API is unavailable. Alternatively, launch with --enable-features=CanvasDrawElement; either method is sufficient. Do not add --enable-blink-features=CanvasDrawElement, which triggers Chrome's unsupported-command-line warning.

Do not edit Chrome's Preferences or Secure Preferences files to move or reload the extension. Use Chrome's extensions page so its integrity metadata stays valid. Browser UI automation is allowed for loading, reloading, and activating Canvas Capture; do not require the user to perform those clicks.

Prepare a shot

Open the requested webpage in the compatible recording browser and activate Canvas Capture through its toolbar icon or the Extensions menu. This exposes the setup_shot, get_shot, and save_recording WebMCP tools in that tab.

Prepare the page and viewport, call setup_shot, and inspect a still preview with get_shot. Leave the browser open with the shot ready for the user to record. Start and stop recording manually so the user controls cursor movement.

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/remotion65.2KUpdated 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/remotion65.2KUpdated 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/remotion65.2KUpdated 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/remotion65.2KUpdated 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/remotion65.2KUpdated 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/remotion65.2KUpdated Oct 18, 2026

See all skills by remotion-dev

Report a problem with this skill