← RemotionCONTENT HISTORY

Update to Remotion

Snapshot Oct 8, 2026 · 18:03 UTC · version 4.0.534

Collection source: downloaded plugin package.

WHAT CHANGED · RULE-BASED ANALYSIS

Instructions updated for remotion-best-practices

Instruction wording changed from “4.0.530” to “4.0.534”. 4 additional added or edited lines are in the evidence.

Observed in instructions or declared skills. Runtime behavior has not been tested.

Short excerpts from up to four changed fields. Open the full comparison for all changes.

Skill instructions

Before

Oct 2, 2026 · 00:37 UTC

4.0.530 After creating or updating the video, start the preview server by default: Always pass `--no-open` so the system browser is not opened: This will start a long-running process and print the server URL for the preview. Open the e...

After

Oct 8, 2026 · 18:03 UTC

4.0.534 As soon as the project can run, start Studio and open the preview in the browser before building or editing the composition. Keep it open while you work so the user can watch progress and steer. To start the preview server by def...

Supporting files

Before

Oct 2, 2026 · 00:37 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":311},{"relative_path":"assets/remotion-icon.svg","size_in_bytes":1303},{"relative_path":"remotion-captions/REFERENCE.md","size_in_bytes":1152},{"relative_path":"remotion-captions/age...

After

Oct 8, 2026 · 18:03 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":311},{"relative_path":"assets/remotion-icon.svg","size_in_bytes":1303},{"relative_path":"remotion-captions/REFERENCE.md","size_in_bytes":1152},{"relative_path":"remotion-captions/age...

Compare saved observations

Download comparison JSON

SKILL.md text changes

Lines starting with − were removed; lines starting with + were added. Other lines provide context.

--- before
+++ after
@@ -1,7 +1,7 @@
 ---
 name: remotion-best-practices
 description: Router for all Remotion skills
-version: 4.0.530
+version: 4.0.534
 ---
 
 ## Preserve user changes
@@ -38,17 +38,17 @@
 
 If the user asks to "make" a video, "create" a video, etc.
 Don't render the video by default unless they are very explicit. They want to instead see an interactive preview.
-After creating or updating the video, start the preview server by default:
+As soon as the project can run, start Studio and open the preview in the browser before building or editing the composition. Keep it open while you work so the user can watch progress and steer.
 
-Always pass `--no-open` so the system browser is not opened:
+To start the preview server by default without opening the system browser, pass `--no-open`:
 
 ```bash
 npx remotion studio --no-open
 ```
 
-This will start a long-running process and print the server URL for the preview.  
+This will start a long-running process and print the server URL for the preview.
 If the server is already started, it will print the URL.
-Open the exact URL in the Codex in-app browser. If the in-app browser is not available, keep the preview server running and provide the URL to the user.
+Open the exact URL in the Codex in-app browser. Verify that Studio loads. Once a composition exists, verify that its video preview loads. If the in-app browser is not available, keep the preview server running and provide the URL to the user.
 You can visit a specific composition by navigating to `/[composition-id]`, for example `http://localhost:3000/MapAnimation`.
 
 :::note
Full technical diff · 2 changed fields

changed /included_files

BEFORE
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 311
  },
  {
    "relative_path": "assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-captions/REFERENCE.md",
    "size_in_bytes": 1152
  },
  {
    "relative_path": "remotion-captions/agents/openai.yaml",
    "size_in_bytes": 305
  },
  {
    "relative_path": "remotion-captions/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-captions/display-captions.md",
    "size_in_bytes": 3331
  },
  {
    "relative_path": "remotion-captions/import-srt-captions.md",
    "size_in_bytes": 2269
  },
  {
    "relative_path": "remotion-captions/transcribe-captions.md",
    "size_in_bytes": 5262
  },
  {
    "relative_path": "remotion-create/REFERENCE.md",
    "size_in_bytes": 2535
  },
  {
    "relative_path": "remotion-create/agents/openai.yaml",
    "size_in_bytes": 310
  },
  {
    "relative_path": "remotion-create/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-create/tailwind.md",
    "size_in_bytes": 386
  },
  {
    "relative_path": "remotion-create/video-layout.md",
    "size_in_bytes": 498
  },
  {
    "relative_path": "remotion-docs/REFERENCE.md",
    "size_in_bytes": 1355
  },
  {
    "relative_path": "remotion-docs/agents/openai.yaml",
    "size_in_bytes": 307
  },
  {
    "relative_path": "remotion-docs/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-interactivity/REFERENCE.md",
    "size_in_bytes": 10964
  },
  {
    "relative_path": "remotion-interactivity/agents/openai.yaml",
    "size_in_bytes": 320
  },
  {
    "relative_path": "remotion-interactivity/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-maps/REFERENCE.md",
    "size_in_bytes": 1030
  },
  {
    "relative_path": "remotion-maps/agents/openai.yaml",
    "size_in_bytes": 293
  },
  {
    "relative_path": "remotion-maps/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/TECHNIQUE.md",
    "size_in_bytes": 3909
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/assets/cesium-path.json",
    "size_in_bytes": 12329
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/assets/city-path.json",
    "size_in_bytes": 223
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/assets/flight-path.ts",
    "size_in_bytes": 1240
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/assets/sample-river.geojson",
    "size_in_bytes": 6409
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/references/3d-data-sources.md",
    "size_in_bytes": 1451
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/references/3d-flyover-architecture.md",
    "size_in_bytes": 7887
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/references/3d-troubleshooting.md",
    "size_in_bytes": 6741
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs",
    "size_in_bytes": 5561
  },
  {
    "relative_path": "remotion-maps/techniques/mapbox/TECHNIQUE.md",
    "size_in_bytes": 13166
  },
  {
    "relative_path": "remotion-maps/techniques/mapbox/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-maps/techniques/maplibre/TECHNIQUE.md",
    "size_in_bytes": 13881
  },
  {
    "relative_path": "remotion-maps/techniques/maplibre/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/TECHNIQUE.md",
    "size_in_bytes": 4518
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts",
    "size_in_bytes": 2183
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json",
    "size_in_bytes": 333134
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json",
    "size_in_bytes": 13082
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/assets/tokens.ts",
    "size_in_bytes": 1256
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/references/map-data-sources.md",
    "size_in_bytes": 4798
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/references/map-explainer-architecture.md",
    "size_in_bytes": 6871
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/references/map-geo-prep.md",
    "size_in_bytes": 4098
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/scripts/prep-geo.mjs",
    "size_in_bytes": 7553
  },
  {
    "relative_path": "remotion-maps/techniques/static-map/TECHNIQUE.md",
    "size_in_bytes": 1151
  },
  {
    "relative_path": "remotion-markup/3d.md",
    "size_in_bytes": 2292
  },
  {
    "relative_path": "remotion-markup/REFERENCE.md",
    "size_in_bytes": 13919
  },
  {
    "relative_path": "remotion-markup/agents/openai.yaml",
    "size_in_bytes": 310
  },
  {
    "relative_path": "remotion-markup/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-markup/audio-visualization.md",
    "size_in_bytes": 4892
  },
  {
    "relative_path": "remotion-markup/audio.md",
    "size_in_bytes": 3993
  },
  {
    "relative_path": "remotion-markup/calculate-metadata.md",
    "size_in_bytes": 3498
  },
  {
    "relative_path": "remotion-markup/compositions.md",
    "size_in_bytes": 4968
  },
  {
    "relative_path": "remotion-markup/connected-compositions.md",
    "size_in_bytes": 3887
  },
  {
    "relative_path": "remotion-markup/cropping.md",
    "size_in_bytes": 1102
  },
  {
    "relative_path": "remotion-markup/effects.md",
    "size_in_bytes": 8954
  },
  {
    "relative_path": "remotion-markup/embedding-videos.md",
    "size_in_bytes": 3778
  },
  {
    "relative_path": "remotion-markup/ffmpeg.md",
    "size_in_bytes": 1099
  },
  {
    "relative_path": "remotion-markup/gifs.md",
    "size_in_bytes": 3783
  },
  {
    "relative_path": "remotion-markup/google-fonts.md",
    "size_in_bytes": 1714
  },
  {
    "relative_path": "remotion-markup/html-in-canvas.md",
    "size_in_bytes": 3626
  },
  {
    "relative_path": "remotion-markup/images.md",
    "size_in_bytes": 1568
  },
  {
    "relative_path": "remotion-markup/light-leaks.md",
    "size_in_bytes": 3212
  },
  {
    "relative_path": "remotion-markup/local-fonts.md",
    "size_in_bytes": 1533
  },
  {
    "relative_path": "remotion-markup/lottie.md",
    "size_in_bytes": 1806
  },
  {
    "relative_path": "remotion-markup/measuring-dom-nodes.md",
    "size_in_bytes": 995
  },
  {
    "relative_path": "remotion-markup/measuring-text.md",
    "size_in_bytes": 2801
  },
  {
    "relative_path": "remotion-markup/motion-blur.md",
    "size_in_bytes": 1964
  },
  {
    "relative_path": "remotion-markup/multi-scene-video.md",
    "size_in_bytes": 2660
  },
  {
    "relative_path": "remotion-markup/parameters.md",
    "size_in_bytes": 2403
  },
  {
    "relative_path": "remotion-markup/remotion-maps/REFERENCE.md",
    "size_in_bytes": 1030
  },
  {
    "relative_path": "remotion-markup/remotion-maps/agents/openai.yaml",
    "size_in_bytes": 293
  },
  {
    "relative_path": "remotion-markup/remotion-maps/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md",
    "size_in_bytes": 3909
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json",
    "size_in_bytes": 12329
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json",
    "size_in_bytes": 223
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts",
    "size_in_bytes": 1240
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson",
    "size_in_bytes": 6409
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md",
    "size_in_bytes": 1451
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md",
    "size_in_bytes": 7887
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md",
    "size_in_bytes": 6741
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs",
    "size_in_bytes": 5561
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md",
    "size_in_bytes": 13166
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md",
    "size_in_bytes": 13881
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md",
    "size_in_bytes": 4518
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts",
    "size_in_bytes": 2183
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json",
    "size_in_bytes": 333134
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json",
    "size_in_bytes": 13082
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts",
    "size_in_bytes": 1256
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md",
    "size_in_bytes": 4798
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md",
    "size_in_bytes": 6871
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md",
    "size_in_bytes": 4098
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs",
    "size_in_bytes": 7553
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md",
    "size_in_bytes": 1138
  },
  {
    "relative_path": "remotion-markup/sequencing.md",
    "size_in_bytes": 3829
  },
  {
    "relative_path": "remotion-markup/sfx.md",
    "size_in_bytes": 1808
  },
  {
    "relative_path": "remotion-markup/silence-detection.md",
    "size_in_bytes": 2548
  },
  {
    "relative_path": "remotion-markup/text-highlights.md",
    "size_in_bytes": 1851
  },
  {
    "relative_path": "remotion-markup/timing.md",
    "size_in_bytes": 3315
  },
  {
    "relative_path": "remotion-markup/transitions.md",
    "size_in_bytes": 6882
  },
  {
    "relative_path": "remotion-markup/video-editing.md",
    "size_in_bytes": 4245
  },
  {
    "relative_path": "remotion-markup/voiceover.md",
    "size_in_bytes": 3342
  },
  {
    "relative_path": "remotion-multimedia/REFERENCE.md",
    "size_in_bytes": 705
  },
  {
    "relative_path": "remotion-multimedia/agents/openai.yaml",
    "size_in_bytes": 317
  },
  {
    "relative_path": "remotion-multimedia/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-multimedia/get-audio-duration.md",
    "size_in_bytes": 1507
  },
  {
    "relative_path": "remotion-multimedia/get-video-dimensions.md",
    "size_in_bytes": 1797
  },
  {
    "relative_path": "remotion-multimedia/get-video-duration.md",
    "size_in_bytes": 1469
  },
  {
    "relative_path": "remotion-render/REFERENCE.md",
    "size_in_bytes": 711
  },
  {
    "relative_path": "remotion-render/agents/openai.yaml",
    "size_in_bytes": 286
  },
  {
    "relative_path": "remotion-render/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-render/transparent-videos.md",
    "size_in_bytes": 2267
  },
  {
    "relative_path": "remotion-saas/REFERENCE.md",
    "size_in_bytes": 1053
  },
  {
    "relative_path": "remotion-saas/agents/openai.yaml",
    "size_in_bytes": 283
  },
  {
    "relative_path": "remotion-saas/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-saas/framework.md",
    "size_in_bytes": 908
  },
  {
    "relative_path": "remotion-saas/player.md",
    "size_in_bytes": 942
  },
  {
    "relative_path": "remotion-saas/rendering.md",
    "size_in_bytes": 3343
  },
  {
    "relative_path": "remotion-studio/REFERENCE.md",
    "size_in_bytes": 958
  },
  {
    "relative_path": "remotion-studio/agents/openai.yaml",
    "size_in_bytes": 237
  },
  {
    "relative_path": "remotion-studio/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-upgrade/REFERENCE.md",
    "size_in_bytes": 1930
  },
  {
    "relative_path": "remotion-upgrade/agents/openai.yaml",
    "size_in_bytes": 282
  },
  {
    "relative_path": "remotion-upgrade/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  }
]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 311
  },
  {
    "relative_path": "assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-captions/REFERENCE.md",
    "size_in_bytes": 1152
  },
  {
    "relative_path": "remotion-captions/agents/openai.yaml",
    "size_in_bytes": 305
  },
  {
    "relative_path": "remotion-captions/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-captions/display-captions.md",
    "size_in_bytes": 5886
  },
  {
    "relative_path": "remotion-captions/import-srt-captions.md",
    "size_in_bytes": 2231
  },
  {
    "relative_path": "remotion-captions/transcribe-captions.md",
    "size_in_bytes": 5533
  },
  {
    "relative_path": "remotion-create/REFERENCE.md",
    "size_in_bytes": 2973
  },
  {
    "relative_path": "remotion-create/agents/openai.yaml",
    "size_in_bytes": 310
  },
  {
    "relative_path": "remotion-create/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-create/tailwind.md",
    "size_in_bytes": 386
  },
  {
    "relative_path": "remotion-create/video-layout.md",
    "size_in_bytes": 498
  },
  {
    "relative_path": "remotion-docs/REFERENCE.md",
    "size_in_bytes": 1355
  },
  {
    "relative_path": "remotion-docs/agents/openai.yaml",
    "size_in_bytes": 307
  },
  {
    "relative_path": "remotion-docs/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-interactivity/REFERENCE.md",
    "size_in_bytes": 18774
  },
  {
    "relative_path": "remotion-interactivity/agents/openai.yaml",
    "size_in_bytes": 320
  },
  {
    "relative_path": "remotion-interactivity/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-interactivity/inline-effects.md",
    "size_in_bytes": 993
  },
  {
    "relative_path": "remotion-maps/REFERENCE.md",
    "size_in_bytes": 1030
  },
  {
    "relative_path": "remotion-maps/agents/openai.yaml",
    "size_in_bytes": 293
  },
  {
    "relative_path": "remotion-maps/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/TECHNIQUE.md",
    "size_in_bytes": 3909
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/assets/cesium-path.json",
    "size_in_bytes": 12329
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/assets/city-path.json",
    "size_in_bytes": 223
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/assets/flight-path.ts",
    "size_in_bytes": 1240
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/assets/sample-river.geojson",
    "size_in_bytes": 6409
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/references/3d-data-sources.md",
    "size_in_bytes": 1451
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/references/3d-flyover-architecture.md",
    "size_in_bytes": 7887
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/references/3d-troubleshooting.md",
    "size_in_bytes": 6741
  },
  {
    "relative_path": "remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs",
    "size_in_bytes": 5561
  },
  {
    "relative_path": "remotion-maps/techniques/mapbox/TECHNIQUE.md",
    "size_in_bytes": 13128
  },
  {
    "relative_path": "remotion-maps/techniques/mapbox/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-maps/techniques/maplibre/TECHNIQUE.md",
    "size_in_bytes": 13843
  },
  {
    "relative_path": "remotion-maps/techniques/maplibre/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/TECHNIQUE.md",
    "size_in_bytes": 4518
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts",
    "size_in_bytes": 2183
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json",
    "size_in_bytes": 333134
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json",
    "size_in_bytes": 13082
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/assets/tokens.ts",
    "size_in_bytes": 1256
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/references/map-data-sources.md",
    "size_in_bytes": 4798
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/references/map-explainer-architecture.md",
    "size_in_bytes": 6871
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/references/map-geo-prep.md",
    "size_in_bytes": 4098
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-maps/techniques/maptiler/scripts/prep-geo.mjs",
    "size_in_bytes": 7553
  },
  {
    "relative_path": "remotion-maps/techniques/static-map/TECHNIQUE.md",
    "size_in_bytes": 1151
  },
  {
    "relative_path": "remotion-markup/3d.md",
    "size_in_bytes": 2292
  },
  {
    "relative_path": "remotion-markup/REFERENCE.md",
    "size_in_bytes": 18064
  },
  {
    "relative_path": "remotion-markup/agents/openai.yaml",
    "size_in_bytes": 310
  },
  {
    "relative_path": "remotion-markup/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-markup/audio-visualization.md",
    "size_in_bytes": 4892
  },
  {
    "relative_path": "remotion-markup/audio.md",
    "size_in_bytes": 4154
  },
  {
    "relative_path": "remotion-markup/calculate-metadata.md",
    "size_in_bytes": 3498
  },
  {
    "relative_path": "remotion-markup/compositions.md",
    "size_in_bytes": 4968
  },
  {
    "relative_path": "remotion-markup/connected-compositions.md",
    "size_in_bytes": 5076
  },
  {
    "relative_path": "remotion-markup/cropping.md",
    "size_in_bytes": 1312
  },
  {
    "relative_path": "remotion-markup/effects.md",
    "size_in_bytes": 10701
  },
  {
    "relative_path": "remotion-markup/embedding-videos.md",
    "size_in_bytes": 3725
  },
  {
    "relative_path": "remotion-markup/ffmpeg.md",
    "size_in_bytes": 1112
  },
  {
    "relative_path": "remotion-markup/gifs.md",
    "size_in_bytes": 3783
  },
  {
    "relative_path": "remotion-markup/google-fonts.md",
    "size_in_bytes": 1714
  },
  {
    "relative_path": "remotion-markup/html-in-canvas.md",
    "size_in_bytes": 2976
  },
  {
    "relative_path": "remotion-markup/images.md",
    "size_in_bytes": 1568
  },
  {
    "relative_path": "remotion-markup/light-leaks.md",
    "size_in_bytes": 3148
  },
  {
    "relative_path": "remotion-markup/local-fonts.md",
    "size_in_bytes": 1533
  },
  {
    "relative_path": "remotion-markup/lottie.md",
    "size_in_bytes": 1806
  },
  {
    "relative_path": "remotion-markup/measuring-dom-nodes.md",
    "size_in_bytes": 995
  },
  {
    "relative_path": "remotion-markup/measuring-text.md",
    "size_in_bytes": 2801
  },
  {
    "relative_path": "remotion-markup/motion-blur.md",
    "size_in_bytes": 2039
  },
  {
    "relative_path": "remotion-markup/multi-scene-video.md",
    "size_in_bytes": 3213
  },
  {
    "relative_path": "remotion-markup/parameters.md",
    "size_in_bytes": 2403
  },
  {
    "relative_path": "remotion-markup/remotion-maps/REFERENCE.md",
    "size_in_bytes": 1030
  },
  {
    "relative_path": "remotion-markup/remotion-maps/agents/openai.yaml",
    "size_in_bytes": 293
  },
  {
    "relative_path": "remotion-markup/remotion-maps/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md",
    "size_in_bytes": 3909
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json",
    "size_in_bytes": 12329
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json",
    "size_in_bytes": 223
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts",
    "size_in_bytes": 1240
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson",
    "size_in_bytes": 6409
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md",
    "size_in_bytes": 1451
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md",
    "size_in_bytes": 7887
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md",
    "size_in_bytes": 6741
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs",
    "size_in_bytes": 5561
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md",
    "size_in_bytes": 13128
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md",
    "size_in_bytes": 13843
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md",
    "size_in_bytes": 4518
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts",
    "size_in_bytes": 2183
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json",
    "size_in_bytes": 333134
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json",
    "size_in_bytes": 13082
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts",
    "size_in_bytes": 1256
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md",
    "size_in_bytes": 4798
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md",
    "size_in_bytes": 6871
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md",
    "size_in_bytes": 4098
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md",
    "size_in_bytes": 3639
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs",
    "size_in_bytes": 7553
  },
  {
    "relative_path": "remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md",
    "size_in_bytes": 1138
  },
  {
    "relative_path": "remotion-markup/sequencing.md",
    "size_in_bytes": 2808
  },
  {
    "relative_path": "remotion-markup/sfx.md",
    "size_in_bytes": 1823
  },
  {
    "relative_path": "remotion-markup/silence-detection.md",
    "size_in_bytes": 2593
  },
  {
    "relative_path": "remotion-markup/text-highlights.md",
    "size_in_bytes": 1851
  },
  {
    "relative_path": "remotion-markup/timing-props.md",
    "size_in_bytes": 3632
  },
  {
    "relative_path": "remotion-markup/timing.md",
    "size_in_bytes": 3315
  },
  {
    "relative_path": "remotion-markup/transitions.md",
    "size_in_bytes": 7600
  },
  {
    "relative_path": "remotion-markup/video-editing.md",
    "size_in_bytes": 6692
  },
  {
    "relative_path": "remotion-markup/voiceover.md",
    "size_in_bytes": 3642
  },
  {
    "relative_path": "remotion-multimedia/REFERENCE.md",
    "size_in_bytes": 705
  },
  {
    "relative_path": "remotion-multimedia/agents/openai.yaml",
    "size_in_bytes": 317
  },
  {
    "relative_path": "remotion-multimedia/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-multimedia/get-audio-duration.md",
    "size_in_bytes": 1507
  },
  {
    "relative_path": "remotion-multimedia/get-video-dimensions.md",
    "size_in_bytes": 1797
  },
  {
    "relative_path": "remotion-multimedia/get-video-duration.md",
    "size_in_bytes": 1469
  },
  {
    "relative_path": "remotion-render/REFERENCE.md",
    "size_in_bytes": 711
  },
  {
    "relative_path": "remotion-render/agents/openai.yaml",
    "size_in_bytes": 286
  },
  {
    "relative_path": "remotion-render/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-render/transparent-videos.md",
    "size_in_bytes": 2267
  },
  {
    "relative_path": "remotion-saas/REFERENCE.md",
    "size_in_bytes": 1053
  },
  {
    "relative_path": "remotion-saas/agents/openai.yaml",
    "size_in_bytes": 283
  },
  {
    "relative_path": "remotion-saas/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-saas/framework.md",
    "size_in_bytes": 908
  },
  {
    "relative_path": "remotion-saas/player.md",
    "size_in_bytes": 942
  },
  {
    "relative_path": "remotion-saas/rendering.md",
    "size_in_bytes": 3343
  },
  {
    "relative_path": "remotion-studio/REFERENCE.md",
    "size_in_bytes": 1611
  },
  {
    "relative_path": "remotion-studio/agents/openai.yaml",
    "size_in_bytes": 237
  },
  {
    "relative_path": "remotion-studio/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  },
  {
    "relative_path": "remotion-upgrade/REFERENCE.md",
    "size_in_bytes": 1930
  },
  {
    "relative_path": "remotion-upgrade/agents/openai.yaml",
    "size_in_bytes": 282
  },
  {
    "relative_path": "remotion-upgrade/assets/remotion-icon.svg",
    "size_in_bytes": 1303
  }
]

changed /skill_md_contents

BEFORE
"---\nname: remotion-best-practices\ndescription: Router for all Remotion skills\nversion: 4.0.530\n---\n\n## Preserve user changes\n\nUsers may make edits in the code outside of the conversation.\n\nIf you detect a surprising change made in the meanwhile, don't overwrite it, assume it was intentional or ask for confirmation.\n\n## Creating a video\n\nIf the user asks to make, create, or build a new video or composition, load [Create a new Remotion video](./remotion-create/REFERENCE.md), whether or not a Remotion project already exists.\n\n## New project setup\n\nIf no Remotion project currently exists, load [Create a new Remotion project](./remotion-create/REFERENCE.md)\n\n## React Markup Best Practices\n\nIf you are writing Remotion React Markup, load [Remotion Markup Best Practices](./remotion-markup/REFERENCE.md)\n\n## Maps\n\nFor static maps, animated routes and markers, geographic explainers, Mapbox, MapLibre, MapTiler, GeoJSON, or 3D geographic flyovers, load [Remotion Maps](./remotion-maps/REFERENCE.md).\n\n## Multimedia\n\nFor achieving multimedia tasks in the browser, such as trimming, cropping videos, or getting metadata from them, load [Remotion Multimedia](./remotion-multimedia/REFERENCE.md)\n\n## Improving Interactivity\n\nBy structuring the Remotion markup well, we can allow users to interactively change things in the Studio and write back to code. If relevant: [Interactivity Best Practices](./remotion-interactivity/REFERENCE.md)\n\n## Open the preview\n\nIf the user asks to \"make\" a video, \"create\" a video, etc.\nDon't render the video by default unless they are very explicit. They want to instead see an interactive preview.\nAfter creating or updating the video, start the preview server by default:\n\nAlways pass `--no-open` so the system browser is not opened:\n\n```bash\nnpx remotion studio --no-open\n```\n\nThis will start a long-running process and print the server URL for the preview.  \nIf the server is already started, it will print the URL.\nOpen the exact URL in the Codex in-app browser. If the in-app browser is not available, keep the preview server running and provide the URL to the user.\nYou can visit a specific composition by navigating to `/[composition-id]`, for example `http://localhost:3000/MapAnimation`.\n\n:::note\nThe Studio supports WebMCP tools.\n:::\n\n### More options\n\nTo launch a project in Remotion Studio, open its exact local URL, or configure Studio CLI flags, load [Remotion Studio](./remotion-studio/REFERENCE.md).\n\n## Render the video\n\nOnly render if the user is very explicit in asking for it.  \nE.g. \"Render the video\", \"Export\", \"Give me the MP4\".\n\nThe preview also has a more intuitive rendering interface, so consider using it instead of the command line for rendering.\n\n```\nnpx remotion render\n```\n\nFor more options, see [Rendering](./remotion-render/REFERENCE.md).\n\nFor advanced rendering beyond simple `npx remotion render`, see: [Rendering Best Practices](./remotion-render/REFERENCE.md)\n\n## Captions\n\nWhen working with Captions, load [Remotion Captions](./remotion-captions/REFERENCE.md).\n\n## Creating a SaaS, automation or application\n\nUse the [Remotion SaaS skill](./remotion-saas/REFERENCE.md) for knowledge about Remotion-powered SaaS apps, such as `<Player>`, rendering on Lambda, Vercel, Cloudflare, via Express.js, client-side rendering, or for finding the right SaaS template.\n\n## Looking up Remotion APIs and documentation\n\nTo find and read current Remotion documentation, load [Remotion Docs](./remotion-docs/REFERENCE.md).\n\n## Upgrading\n\nTo upgrade Remotion, related packages, compatible Mediabunny packages, and installed Remotion Agent Skills, load [Remotion Upgrade](./remotion-upgrade/REFERENCE.md).\n\n\n## Codex troubleshooting\n\nWhen running inside Codex, first try starting the Remotion Studio without opening the system browser:\n\n```bash\nnpx remotion studio --no-open\n```\n\nOnly if that fails with file watcher limits such as `EMFILE: too many open files, watch`, retry with polling and without opening a browser from Codex:\n\n```bash\nnpx remotion studio --no-open --webpack-poll 1000\n```\n\nIf Studio still fails to start from Codex, ask the user to start it manually from their macOS Terminal and then continue using the already-running Studio. Sandbox errors while launching Chromium from Codex are likely caused by the Codex/macOS sandbox rather than the Remotion project.\n"
AFTER
"---\nname: remotion-best-practices\ndescription: Router for all Remotion skills\nversion: 4.0.534\n---\n\n## Preserve user changes\n\nUsers may make edits in the code outside of the conversation.\n\nIf you detect a surprising change made in the meanwhile, don't overwrite it, assume it was intentional or ask for confirmation.\n\n## Creating a video\n\nIf the user asks to make, create, or build a new video or composition, load [Create a new Remotion video](./remotion-create/REFERENCE.md), whether or not a Remotion project already exists.\n\n## New project setup\n\nIf no Remotion project currently exists, load [Create a new Remotion project](./remotion-create/REFERENCE.md)\n\n## React Markup Best Practices\n\nIf you are writing Remotion React Markup, load [Remotion Markup Best Practices](./remotion-markup/REFERENCE.md)\n\n## Maps\n\nFor static maps, animated routes and markers, geographic explainers, Mapbox, MapLibre, MapTiler, GeoJSON, or 3D geographic flyovers, load [Remotion Maps](./remotion-maps/REFERENCE.md).\n\n## Multimedia\n\nFor achieving multimedia tasks in the browser, such as trimming, cropping videos, or getting metadata from them, load [Remotion Multimedia](./remotion-multimedia/REFERENCE.md)\n\n## Improving Interactivity\n\nBy structuring the Remotion markup well, we can allow users to interactively change things in the Studio and write back to code. If relevant: [Interactivity Best Practices](./remotion-interactivity/REFERENCE.md)\n\n## Open the preview\n\nIf the user asks to \"make\" a video, \"create\" a video, etc.\nDon't render the video by default unless they are very explicit. They want to instead see an interactive preview.\nAs soon as the project can run, start Studio and open the preview in the browser before building or editing the composition. Keep it open while you work so the user can watch progress and steer.\n\nTo start the preview server by default without opening the system browser, pass `--no-open`:\n\n```bash\nnpx remotion studio --no-open\n```\n\nThis will start a long-running process and print the server URL for the preview.\nIf the server is already started, it will print the URL.\nOpen the exact URL in the Codex in-app browser. Verify that Studio loads. Once a composition exists, verify that its video preview loads. If the in-app browser is not available, keep the preview server running and provide the URL to the user.\nYou can visit a specific composition by navigating to `/[composition-id]`, for example `http://localhost:3000/MapAnimation`.\n\n:::note\nThe Studio supports WebMCP tools.\n:::\n\n### More options\n\nTo launch a project in Remotion Studio, open its exact local URL, or configure Studio CLI flags, load [Remotion Studio](./remotion-studio/REFERENCE.md).\n\n## Render the video\n\nOnly render if the user is very explicit in asking for it.  \nE.g. \"Render the video\", \"Export\", \"Give me the MP4\".\n\nThe preview also has a more intuitive rendering interface, so consider using it instead of the command line for rendering.\n\n```\nnpx remotion render\n```\n\nFor more options, see [Rendering](./remotion-render/REFERENCE.md).\n\nFor advanced rendering beyond simple `npx remotion render`, see: [Rendering Best Practices](./remotion-render/REFERENCE.md)\n\n## Captions\n\nWhen working with Captions, load [Remotion Captions](./remotion-captions/REFERENCE.md).\n\n## Creating a SaaS, automation or application\n\nUse the [Remotion SaaS skill](./remotion-saas/REFERENCE.md) for knowledge about Remotion-powered SaaS apps, such as `<Player>`, rendering on Lambda, Vercel, Cloudflare, via Express.js, client-side rendering, or for finding the right SaaS template.\n\n## Looking up Remotion APIs and documentation\n\nTo find and read current Remotion documentation, load [Remotion Docs](./remotion-docs/REFERENCE.md).\n\n## Upgrading\n\nTo upgrade Remotion, related packages, compatible Mediabunny packages, and installed Remotion Agent Skills, load [Remotion Upgrade](./remotion-upgrade/REFERENCE.md).\n\n\n## Codex troubleshooting\n\nWhen running inside Codex, first try starting the Remotion Studio without opening the system browser:\n\n```bash\nnpx remotion studio --no-open\n```\n\nOnly if that fails with file watcher limits such as `EMFILE: too many open files, watch`, retry with polling and without opening a browser from Codex:\n\n```bash\nnpx remotion studio --no-open --webpack-poll 1000\n```\n\nIf Studio still fails to start from Codex, ask the user to start it manually from their macOS Terminal and then continue using the already-running Studio. Sandbox errors while launching Chromium from Codex are likely caused by the Codex/macOS sandbox rather than the Remotion project.\n"
Full snapshot data
{
  "description": "Router for all Remotion skills",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 311
    },
    {
      "relative_path": "assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-captions/REFERENCE.md",
      "size_in_bytes": 1152
    },
    {
      "relative_path": "remotion-captions/agents/openai.yaml",
      "size_in_bytes": 305
    },
    {
      "relative_path": "remotion-captions/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-captions/display-captions.md",
      "size_in_bytes": 5886
    },
    {
      "relative_path": "remotion-captions/import-srt-captions.md",
      "size_in_bytes": 2231
    },
    {
      "relative_path": "remotion-captions/transcribe-captions.md",
      "size_in_bytes": 5533
    },
    {
      "relative_path": "remotion-create/REFERENCE.md",
      "size_in_bytes": 2973
    },
    {
      "relative_path": "remotion-create/agents/openai.yaml",
      "size_in_bytes": 310
    },
    {
      "relative_path": "remotion-create/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-create/tailwind.md",
      "size_in_bytes": 386
    },
    {
      "relative_path": "remotion-create/video-layout.md",
      "size_in_bytes": 498
    },
    {
      "relative_path": "remotion-docs/REFERENCE.md",
      "size_in_bytes": 1355
    },
    {
      "relative_path": "remotion-docs/agents/openai.yaml",
      "size_in_bytes": 307
    },
    {
      "relative_path": "remotion-docs/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-interactivity/REFERENCE.md",
      "size_in_bytes": 18774
    },
    {
      "relative_path": "remotion-interactivity/agents/openai.yaml",
      "size_in_bytes": 320
    },
    {
      "relative_path": "remotion-interactivity/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-interactivity/inline-effects.md",
      "size_in_bytes": 993
    },
    {
      "relative_path": "remotion-maps/REFERENCE.md",
      "size_in_bytes": 1030
    },
    {
      "relative_path": "remotion-maps/agents/openai.yaml",
      "size_in_bytes": 293
    },
    {
      "relative_path": "remotion-maps/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-maps/techniques/cesium/TECHNIQUE.md",
      "size_in_bytes": 3909
    },
    {
      "relative_path": "remotion-maps/techniques/cesium/assets/cesium-path.json",
      "size_in_bytes": 12329
    },
    {
      "relative_path": "remotion-maps/techniques/cesium/assets/city-path.json",
      "size_in_bytes": 223
    },
    {
      "relative_path": "remotion-maps/techniques/cesium/assets/flight-path.ts",
      "size_in_bytes": 1240
    },
    {
      "relative_path": "remotion-maps/techniques/cesium/assets/sample-river.geojson",
      "size_in_bytes": 6409
    },
    {
      "relative_path": "remotion-maps/techniques/cesium/references/3d-data-sources.md",
      "size_in_bytes": 1451
    },
    {
      "relative_path": "remotion-maps/techniques/cesium/references/3d-flyover-architecture.md",
      "size_in_bytes": 7887
    },
    {
      "relative_path": "remotion-maps/techniques/cesium/references/3d-troubleshooting.md",
      "size_in_bytes": 6741
    },
    {
      "relative_path": "remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs",
      "size_in_bytes": 5561
    },
    {
      "relative_path": "remotion-maps/techniques/mapbox/TECHNIQUE.md",
      "size_in_bytes": 13128
    },
    {
      "relative_path": "remotion-maps/techniques/mapbox/references/render-stability.md",
      "size_in_bytes": 3639
    },
    {
      "relative_path": "remotion-maps/techniques/maplibre/TECHNIQUE.md",
      "size_in_bytes": 13843
    },
    {
      "relative_path": "remotion-maps/techniques/maplibre/references/render-stability.md",
      "size_in_bytes": 3639
    },
    {
      "relative_path": "remotion-maps/techniques/maptiler/TECHNIQUE.md",
      "size_in_bytes": 4518
    },
    {
      "relative_path": "remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts",
      "size_in_bytes": 2183
    },
    {
      "relative_path": "remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json",
      "size_in_bytes": 333134
    },
    {
      "relative_path": "remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json",
      "size_in_bytes": 13082
    },
    {
      "relative_path": "remotion-maps/techniques/maptiler/assets/tokens.ts",
      "size_in_bytes": 1256
    },
    {
      "relative_path": "remotion-maps/techniques/maptiler/references/map-data-sources.md",
      "size_in_bytes": 4798
    },
    {
      "relative_path": "remotion-maps/techniques/maptiler/references/map-explainer-architecture.md",
      "size_in_bytes": 6871
    },
    {
      "relative_path": "remotion-maps/techniques/maptiler/references/map-geo-prep.md",
      "size_in_bytes": 4098
    },
    {
      "relative_path": "remotion-maps/techniques/maptiler/references/render-stability.md",
      "size_in_bytes": 3639
    },
    {
      "relative_path": "remotion-maps/techniques/maptiler/scripts/prep-geo.mjs",
      "size_in_bytes": 7553
    },
    {
      "relative_path": "remotion-maps/techniques/static-map/TECHNIQUE.md",
      "size_in_bytes": 1151
    },
    {
      "relative_path": "remotion-markup/3d.md",
      "size_in_bytes": 2292
    },
    {
      "relative_path": "remotion-markup/REFERENCE.md",
      "size_in_bytes": 18064
    },
    {
      "relative_path": "remotion-markup/agents/openai.yaml",
      "size_in_bytes": 310
    },
    {
      "relative_path": "remotion-markup/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-markup/audio-visualization.md",
      "size_in_bytes": 4892
    },
    {
      "relative_path": "remotion-markup/audio.md",
      "size_in_bytes": 4154
    },
    {
      "relative_path": "remotion-markup/calculate-metadata.md",
      "size_in_bytes": 3498
    },
    {
      "relative_path": "remotion-markup/compositions.md",
      "size_in_bytes": 4968
    },
    {
      "relative_path": "remotion-markup/connected-compositions.md",
      "size_in_bytes": 5076
    },
    {
      "relative_path": "remotion-markup/cropping.md",
      "size_in_bytes": 1312
    },
    {
      "relative_path": "remotion-markup/effects.md",
      "size_in_bytes": 10701
    },
    {
      "relative_path": "remotion-markup/embedding-videos.md",
      "size_in_bytes": 3725
    },
    {
      "relative_path": "remotion-markup/ffmpeg.md",
      "size_in_bytes": 1112
    },
    {
      "relative_path": "remotion-markup/gifs.md",
      "size_in_bytes": 3783
    },
    {
      "relative_path": "remotion-markup/google-fonts.md",
      "size_in_bytes": 1714
    },
    {
      "relative_path": "remotion-markup/html-in-canvas.md",
      "size_in_bytes": 2976
    },
    {
      "relative_path": "remotion-markup/images.md",
      "size_in_bytes": 1568
    },
    {
      "relative_path": "remotion-markup/light-leaks.md",
      "size_in_bytes": 3148
    },
    {
      "relative_path": "remotion-markup/local-fonts.md",
      "size_in_bytes": 1533
    },
    {
      "relative_path": "remotion-markup/lottie.md",
      "size_in_bytes": 1806
    },
    {
      "relative_path": "remotion-markup/measuring-dom-nodes.md",
      "size_in_bytes": 995
    },
    {
      "relative_path": "remotion-markup/measuring-text.md",
      "size_in_bytes": 2801
    },
    {
      "relative_path": "remotion-markup/motion-blur.md",
      "size_in_bytes": 2039
    },
    {
      "relative_path": "remotion-markup/multi-scene-video.md",
      "size_in_bytes": 3213
    },
    {
      "relative_path": "remotion-markup/parameters.md",
      "size_in_bytes": 2403
    },
    {
      "relative_path": "remotion-markup/remotion-maps/REFERENCE.md",
      "size_in_bytes": 1030
    },
    {
      "relative_path": "remotion-markup/remotion-maps/agents/openai.yaml",
      "size_in_bytes": 293
    },
    {
      "relative_path": "remotion-markup/remotion-maps/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md",
      "size_in_bytes": 3909
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json",
      "size_in_bytes": 12329
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json",
      "size_in_bytes": 223
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts",
      "size_in_bytes": 1240
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson",
      "size_in_bytes": 6409
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md",
      "size_in_bytes": 1451
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md",
      "size_in_bytes": 7887
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md",
      "size_in_bytes": 6741
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs",
      "size_in_bytes": 5561
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md",
      "size_in_bytes": 13128
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md",
      "size_in_bytes": 3639
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md",
      "size_in_bytes": 13843
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md",
      "size_in_bytes": 3639
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md",
      "size_in_bytes": 4518
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts",
      "size_in_bytes": 2183
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json",
      "size_in_bytes": 333134
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json",
      "size_in_bytes": 13082
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts",
      "size_in_bytes": 1256
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md",
      "size_in_bytes": 4798
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md",
      "size_in_bytes": 6871
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md",
      "size_in_bytes": 4098
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md",
      "size_in_bytes": 3639
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs",
      "size_in_bytes": 7553
    },
    {
      "relative_path": "remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md",
      "size_in_bytes": 1138
    },
    {
      "relative_path": "remotion-markup/sequencing.md",
      "size_in_bytes": 2808
    },
    {
      "relative_path": "remotion-markup/sfx.md",
      "size_in_bytes": 1823
    },
    {
      "relative_path": "remotion-markup/silence-detection.md",
      "size_in_bytes": 2593
    },
    {
      "relative_path": "remotion-markup/text-highlights.md",
      "size_in_bytes": 1851
    },
    {
      "relative_path": "remotion-markup/timing-props.md",
      "size_in_bytes": 3632
    },
    {
      "relative_path": "remotion-markup/timing.md",
      "size_in_bytes": 3315
    },
    {
      "relative_path": "remotion-markup/transitions.md",
      "size_in_bytes": 7600
    },
    {
      "relative_path": "remotion-markup/video-editing.md",
      "size_in_bytes": 6692
    },
    {
      "relative_path": "remotion-markup/voiceover.md",
      "size_in_bytes": 3642
    },
    {
      "relative_path": "remotion-multimedia/REFERENCE.md",
      "size_in_bytes": 705
    },
    {
      "relative_path": "remotion-multimedia/agents/openai.yaml",
      "size_in_bytes": 317
    },
    {
      "relative_path": "remotion-multimedia/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-multimedia/get-audio-duration.md",
      "size_in_bytes": 1507
    },
    {
      "relative_path": "remotion-multimedia/get-video-dimensions.md",
      "size_in_bytes": 1797
    },
    {
      "relative_path": "remotion-multimedia/get-video-duration.md",
      "size_in_bytes": 1469
    },
    {
      "relative_path": "remotion-render/REFERENCE.md",
      "size_in_bytes": 711
    },
    {
      "relative_path": "remotion-render/agents/openai.yaml",
      "size_in_bytes": 286
    },
    {
      "relative_path": "remotion-render/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-render/transparent-videos.md",
      "size_in_bytes": 2267
    },
    {
      "relative_path": "remotion-saas/REFERENCE.md",
      "size_in_bytes": 1053
    },
    {
      "relative_path": "remotion-saas/agents/openai.yaml",
      "size_in_bytes": 283
    },
    {
      "relative_path": "remotion-saas/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-saas/framework.md",
      "size_in_bytes": 908
    },
    {
      "relative_path": "remotion-saas/player.md",
      "size_in_bytes": 942
    },
    {
      "relative_path": "remotion-saas/rendering.md",
      "size_in_bytes": 3343
    },
    {
      "relative_path": "remotion-studio/REFERENCE.md",
      "size_in_bytes": 1611
    },
    {
      "relative_path": "remotion-studio/agents/openai.yaml",
      "size_in_bytes": 237
    },
    {
      "relative_path": "remotion-studio/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    },
    {
      "relative_path": "remotion-upgrade/REFERENCE.md",
      "size_in_bytes": 1930
    },
    {
      "relative_path": "remotion-upgrade/agents/openai.yaml",
      "size_in_bytes": 282
    },
    {
      "relative_path": "remotion-upgrade/assets/remotion-icon.svg",
      "size_in_bytes": 1303
    }
  ],
  "name": "remotion-best-practices",
  "skill_md_contents": "---\nname: remotion-best-practices\ndescription: Router for all Remotion skills\nversion: 4.0.534\n---\n\n## Preserve user changes\n\nUsers may make edits in the code outside of the conversation.\n\nIf you detect a surprising change made in the meanwhile, don't overwrite it, assume it was intentional or ask for confirmation.\n\n## Creating a video\n\nIf the user asks to make, create, or build a new video or composition, load [Create a new Remotion video](./remotion-create/REFERENCE.md), whether or not a Remotion project already exists.\n\n## New project setup\n\nIf no Remotion project currently exists, load [Create a new Remotion project](./remotion-create/REFERENCE.md)\n\n## React Markup Best Practices\n\nIf you are writing Remotion React Markup, load [Remotion Markup Best Practices](./remotion-markup/REFERENCE.md)\n\n## Maps\n\nFor static maps, animated routes and markers, geographic explainers, Mapbox, MapLibre, MapTiler, GeoJSON, or 3D geographic flyovers, load [Remotion Maps](./remotion-maps/REFERENCE.md).\n\n## Multimedia\n\nFor achieving multimedia tasks in the browser, such as trimming, cropping videos, or getting metadata from them, load [Remotion Multimedia](./remotion-multimedia/REFERENCE.md)\n\n## Improving Interactivity\n\nBy structuring the Remotion markup well, we can allow users to interactively change things in the Studio and write back to code. If relevant: [Interactivity Best Practices](./remotion-interactivity/REFERENCE.md)\n\n## Open the preview\n\nIf the user asks to \"make\" a video, \"create\" a video, etc.\nDon't render the video by default unless they are very explicit. They want to instead see an interactive preview.\nAs soon as the project can run, start Studio and open the preview in the browser before building or editing the composition. Keep it open while you work so the user can watch progress and steer.\n\nTo start the preview server by default without opening the system browser, pass `--no-open`:\n\n```bash\nnpx remotion studio --no-open\n```\n\nThis will start a long-running process and print the server URL for the preview.\nIf the server is already started, it will print the URL.\nOpen the exact URL in the Codex in-app browser. Verify that Studio loads. Once a composition exists, verify that its video preview loads. If the in-app browser is not available, keep the preview server running and provide the URL to the user.\nYou can visit a specific composition by navigating to `/[composition-id]`, for example `http://localhost:3000/MapAnimation`.\n\n:::note\nThe Studio supports WebMCP tools.\n:::\n\n### More options\n\nTo launch a project in Remotion Studio, open its exact local URL, or configure Studio CLI flags, load [Remotion Studio](./remotion-studio/REFERENCE.md).\n\n## Render the video\n\nOnly render if the user is very explicit in asking for it.  \nE.g. \"Render the video\", \"Export\", \"Give me the MP4\".\n\nThe preview also has a more intuitive rendering interface, so consider using it instead of the command line for rendering.\n\n```\nnpx remotion render\n```\n\nFor more options, see [Rendering](./remotion-render/REFERENCE.md).\n\nFor advanced rendering beyond simple `npx remotion render`, see: [Rendering Best Practices](./remotion-render/REFERENCE.md)\n\n## Captions\n\nWhen working with Captions, load [Remotion Captions](./remotion-captions/REFERENCE.md).\n\n## Creating a SaaS, automation or application\n\nUse the [Remotion SaaS skill](./remotion-saas/REFERENCE.md) for knowledge about Remotion-powered SaaS apps, such as `<Player>`, rendering on Lambda, Vercel, Cloudflare, via Express.js, client-side rendering, or for finding the right SaaS template.\n\n## Looking up Remotion APIs and documentation\n\nTo find and read current Remotion documentation, load [Remotion Docs](./remotion-docs/REFERENCE.md).\n\n## Upgrading\n\nTo upgrade Remotion, related packages, compatible Mediabunny packages, and installed Remotion Agent Skills, load [Remotion Upgrade](./remotion-upgrade/REFERENCE.md).\n\n\n## Codex troubleshooting\n\nWhen running inside Codex, first try starting the Remotion Studio without opening the system browser:\n\n```bash\nnpx remotion studio --no-open\n```\n\nOnly if that fails with file watcher limits such as `EMFILE: too many open files, watch`, retry with polling and without opening a browser from Codex:\n\n```bash\nnpx remotion studio --no-open --webpack-poll 1000\n```\n\nIf Studio still fails to start from Codex, ask the user to start it manually from their macOS Terminal and then continue using the already-running Studio. Sandbox errors while launching Chromium from Codex are likely caused by the Codex/macOS sandbox rather than the Remotion project.\n"
}

SHA-256 of public snapshot: fb75c06ea92dbd310f69966bf72fba582892f3eb6b27568965a7580b754eaca0