2.13.0-beta.20). Features may change before the next stable release.Switch to stable →Skills
Create deterministic video code with ak:remotion
Build frame-driven Remotion compositions, manage media and package prerequisites, and verify preview and render evidence.
Use ak:remotion when you are creating or reviewing programmatic video in
React. The Skill provides packaged rules for compositions, frame-driven
animation, sequencing, media, captions, charts, 3D, transitions, metadata,
fonts, measurement, and rendering-safe effects.
Choose ak:remotion for timeline-rendered React
Use it when
- You need a data-driven video, animation, still, social clip, chart sequence, captioned video, Lottie scene, or React-based template.
- You are adding audio, video, images, GIFs, local or Google fonts, transitions, dynamic duration, metadata extraction, or frame extraction.
- You need Three.js content that renders deterministically on a Remotion timeline.
- You are reviewing existing Remotion code for flicker, timing, media loading, overflow, or render-only differences.
Choose another workflow when
- You need an interactive browser 3D experience rather than rendered video. Use
ak:threejs. - You need ordinary application UI or static brand assets rather than a timeline.
- You only need video editing in a desktop application; this Skill writes and renders code.
Prepare the project and render contract
- Confirm the installed Remotion and React versions, package manager, composition entry point, output codec and container, dimensions, fps, duration, and render environment.
- Provide licensed local assets under
public/or approved remote URLs with CORS access. Record source, dimensions, duration, codec, and expected file size. - Define the content, timing, brand tokens, typography, safe zones, captions, accessibility expectations, and acceptance frames or timestamps.
- Budget CPU, memory, network, temporary storage, and final output size. Rendering, media decoding, 3D, effects, and transcription can be expensive.
- Install only the packages required by the selected rule, such as
@remotion/media,@remotion/captions,@remotion/transitions,@remotion/layout-utils,@remotion/fonts,@remotion/google-fonts,@remotion/lottie,@remotion/gif,@remotion/three, or Mediabunny.
| Runtime | Invocation | Evidence boundary |
|---|---|---|
| Claude Code | /ak:remotion ... | Native delivery can use supported Claude Hooks; render tooling and codecs depend on the project environment. |
| Cursor | /ak:remotion ... | Slash invocation is user-verified, not evidence of equivalent media or render support. |
| Codex | $ak:remotion ... | Native discovery is supported with partial Hook projection and environment-dependent rendering. |
Run the Skill
/ak:remotion "Create a 15-second 1080x1080 product update video at 30 fps using existing brand tokens and local assets; include captions, reduced-motion-safe transitions, deterministic tests at key frames, and stop before the final render"/ak:remotion "Create a 15-second 1080x1080 product update video at 30 fps using existing brand tokens and local assets; include captions, reduced-motion-safe transitions, deterministic tests at key frames, and stop before the final render"$ak:remotion "Create a 15-second 1080x1080 product update video at 30 fps using existing brand tokens and local assets; include captions, reduced-motion-safe transitions, deterministic tests at key frames, and stop before the final render"The Skill has no top-level mode flags. It selects rule files according to the requested feature. Important runtime rules include:
| Area | Required behavior | Observable effect |
|---|---|---|
| Animation | Drive values from useCurrentFrame() and convert seconds with composition fps | CSS transitions, CSS animations, Tailwind animate-*, and autonomous useFrame() animation are forbidden because renders can flicker or diverge. |
| Assets | Use staticFile() for public/ assets and Remotion media components | Local files are encoded for serving; remote media creates network and CORS dependencies. |
| Composition | Declare width, height, fps, duration, props, and optional calculateMetadata | Metadata can fetch or inspect media before rendering and can change duration, dimensions, props, codec defaults, and output name. |
| Sequencing | Use Sequence, Series, and transition timelines | Sequence frame values are local; transitions overlap scenes and reduce total duration. Premount timed components. |
| Media | Use installed Remotion packages for audio, video, GIF, captions, fonts, and Lottie | Package installation mutates manifests and lockfiles; media decode and render support vary by environment. |
| 3D | Install @remotion/three, use ThreeCanvas with dimensions and lighting | Sequence inside ThreeCanvas uses layout="none"; animation remains frame-driven. |
| Transcription | Choose local Whisper.cpp, browser WASM, or a cloud API | Local options consume CPU, memory, disk, or server infrastructure; cloud transcription sends audio externally and can incur charges. |
Follow the observable stages
- Confirm the render contract. Lock composition ID, props, fps, dimensions, duration logic, output type, assets, and authority boundary.
- Inspect installed capabilities. Match rule examples to current package versions, codecs, browser or server support, and package manager.
- Build deterministic scenes. Derive animation from frame and fps, use composition-local timing, and wait for fonts and media before rendering.
- Assemble the timeline. Sequence, trim, transition, caption, and mix media while calculating the final duration from actual overlap and playback rules.
- Preview and test key frames. Check start, transition boundaries, caption changes, media trims, last frame, overflow, font loading, and failure states.
- Render only with approval. Record render command, codec, duration, elapsed time, peak resource issues, output path, file size, and playback verification.
Keep external media and compute approval explicit
Preview approval is not render approval
A final render can use substantial CPU, memory, disk, network, and time. It may also fetch remote assets or call a transcription provider. Confirm output path, resource budget, external data handling, and provider cost separately.
- Remote images, video, audio, captions, fonts, Lottie, and metadata endpoints contact external hosts. Pin or localize approved assets for reproducible output.
- Cloud transcription sends audio to a provider and can incur charges. Never send confidential media without approval.
- Package-add commands contact registries and change project files. Use the repository package manager and review manifest and lockfile diffs.
- Rendering writes large outputs and temporary data. Resolve the destination and available storage before starting; do not overwrite a valuable render silently.
- Pitch shifting is documented as server-render-only, not Studio or Player behavior. Treat preview/render differences as a required test case.
Verify outputs and evidence
A complete run should include the source and asset diff, composition metadata, package changes, key-frame screenshots or assertions, timing and transition math, caption and audio synchronization, overflow and font checks, and preview plus real-render evidence when rendering was authorized. Play the output from start to finish and verify codec, dimensions, fps, duration, audio, captions, final frame, and file size. For charts and important visual content, provide caption, narration, or another accessible text equivalent when required.
| Symptom | Safe next step |
|---|---|
| Preview and render differ | Remove autonomous CSS or library animation, drive values from frame, wait for media/fonts, and render a small diagnostic range. |
| Media is blank or undecodable | Verify CORS, source URL, codec, installed media package, and Mediabunny decode evidence; provide an error or fallback state. |
| Duration is wrong | Recalculate sequence offsets, trims, playback rate, metadata, and transition overlap against the installed API. |
| Text clips or changes between machines | Load the exact font before measurement, match measurement properties, and test overflow at representative frames. |
| Render is too slow or large | Render a bounded range, profile heavy media, 3D, effects, resolution, and concurrency, then adjust one constraint with approval. |
| Captions drift | Verify source timestamps, fps conversion, sequence-local frames, page boundaries, and playback-rate changes. |
The packaged rules are point-in-time guidance and can differ from the installed
Remotion API; some examples also rely on external current documentation. Confirm
version-sensitive props before changing code. Stable and beta contain identical
ak:remotion Skill rules in the documented releases.
Continue with Runtime adapters, Projects, artifacts, and checkpoints, or the Engineer Kit overview.
Build verifiable 3D web scenes with ak:threejs
Use bundled Three.js knowledge and searchable examples to implement, profile, and validate a bounded 3D experience.
Turn system evidence into diagrams with ak:excalidraw
Create editable Excalidraw architecture, flow, and codebase diagrams through a live canvas or file-based workflow, then verify the rendered artifact.