Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/iqbalhasandev-remotion-interactivity
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
remotion-interactivity- Description
- Structure Remotion markup for interactivity
- License
- MIT
- Instructions
- 480 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- openai.yaml · agents/
- remotion-icon.svg · assets/
- inline-effects.md
SKILL.md (first lines)
By writing Remotion markup in a specific way, the Remotion Studio is able to recognize the structure of the code and makes it interactive:
- Allowing items to be selected by clicking on them
- Allowing drag+drop, resizing and rotation
- Editing the CSS styles
- Making keyframes and easing values editable
If the markup is too complex for the Studio to make it interactive, then the values become grayed out.
## Prefer interactive components with their own timelines
Use `Interactive.withSchema({wrapInSequence: true, layout: 'absolute-fill'})` for components that fill their parent. The wrapper provides their visual root and timeline item, and clips overflow by default, so the inner component can return a fragment. Put timing, premounting, dimensions, and per-instance styles on the exported component.
Keep visuals that belong together in the same component, so they move and trim together. An inner layout container can still provide alignment, clipping within a smaller area, or an animated group; a container that only fills the scene is usually unnecessary. Cards, text boxes, and SVGs with their own bounds can keep the default `layout: 'none'` and forward `style` to their visual root.
```tsx title="Scene.tsx"
import {Video} from '@remotion/media';
import type React from 'react';
import {Interactive, useVideoConfig, type InteractivitySchema} from 'remotion';
type SceneProps = {
readonly title: string;
};
const SceneInner: React.FC<SceneProps> = ({title}) => {
const {fps} = useVideoConfig();
return (
<>
<Video
name="Background footage"
src="https://remotion.media/video.mp4"
premountFor={fps}
objectFit="cover"
style={{width: '100%', height: '100%'}}
/>
<Interactive.Div
name="Scene title"
style={{
position: 'absolute',
left: 80,
bottom: 80,
color: 'white',
fontFamily: 'Helvetica, Arial, sans-serif',
fontSize: 80,
}}
>
{title}
</Interactive.Div>
</>
);
};
const sceneSchema = {
title: {type: 'string', default: '', description: 'Title'},
} as const satisfies InteractivitySchema;
export const Scene = Interactive.withSchema({
Component: SceneInner,
componentName: 'Scene',
schema: sceneSchema,
wrapInSequence: true,
layout: 'absolute-fill',
});
```
### Choose schema fields
Each key in the schema is a prop that Studio can read and edit at the call site.
Props that are not in the schema still work, but are not editable in Studio.
Keys may use dot notation, such as `style.color`.
| Type | Use for | Keyframable |
| ---------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------- |
| `string` | Strings, such as a title, prompt, or code snippet | No |
| `number` | Numbers, with optional `min`, `max`, `step`, `integer` | Yes |
| `boolean` | On/off switches | Yes (hold) |
| `color` | CSS color strings | Yes |
| `enum` | A choice between `variants`, each with its own nested schema | Opt-in (hold) |
| `array` | Lists of numbers, colors, enums and more | No |
| `asset` | Media sources, with optional `assetType` | No |
| `font-family` | CSS font family | No |
| `font-weight` | Font weight | Yes |
| `translate`, `scale`, `rotation-css`, `rotation-degrees`, `transform-origin` | Transforms | Yes |
| `uv-coordinate` | A normalized `[x, y]` point on the element | Yes |
| `svg-path` | SVG path data | Yes |
| `remotion-captions` | `Caption[]` data | No |
| `hidden` | A value kept out of the controls | — |
Every field needs a `default` and should have a `description`, which Studio shows as the label.
Set `keyframable: false` to show a static control.
Expose content and per-instance appearance, such as the text and an accent color.
Do not add fields for `style.translate`, `style.scale`, `style.rotate`, `style.transformOrigin` and `style.opacity`: `wrapInSequence: true` already adds them.
To make CSS properties of the root editable per instance, spread the built-in schema fragments:
```tsx
const cardSchema = {
...Interactive.textSchema, // style.color, style.fontSize, style.fontWeight, ...
...Interactive.backgroundSchema, // style.backgroundColor
...Interactive.borderRadiusSchema, // style.borderRadius, ...
} as const satisfies InteractivitySchema;
```
Also available: `Interactive.borderSchema`, and `Interactive.captionsSchema` for components that accept captions.
For components that accept `React.ReactNode` children, add `...Interactive.childrenSchema`.
It provides controls for children content and may evolve to support richer content.
Currently, it uses a string field labeled "Text" with a default of `''`.
If a component requires string-only children, declare an explicit `children` field with `type: 'string'` instead.
`Interactive.textSchema` controls typography styles; `childrenSchema` controls content.
The children fragment is not included in `baseSchema` or automatically added to custom components.
Nested markup and computed children are currently read-only.
`text-content` is a deprecated alias for the `string` field type.
See [`InteractivitySchema`](https://www.remotion.dev/docs/interactivity-schema) for all options.
### Register reusable components as connected compositions
Register substantial scenes and reusable components with their own layers orFrom iqbalhasandev/claude-code-config, MIT.
More from iqbalhasandev/claude-code-config
- 0.555score
remotion-maps
iqbalhasandev
Remotion Map animation knowledge
SkillAFreshness: AClaude Code +9 - 0.555score
remotion-best-practices
iqbalhasandev
Router for all Remotion skills
SkillAFreshness: AClaude Code +9 - 0.555score
remotion-upgrade
iqbalhasandev
Upgrade Remotion, and related packages
SkillAFreshness: AClaude Code +9 - 0.552score
remotion-saas
iqbalhasandev
Build an app with Remotion
SkillAFreshness: AClaude Code +9 - 0.552score
remotion-studio
iqbalhasandev
Preview a Remotion video
SkillAFreshness: AClaude Code +9 - 0.552score
remotion-render
iqbalhasandev
Export a Remotion video
SkillAFreshness: AClaude Code +9 - 0.552score
remotion-create
iqbalhasandev
Create a new Remotion video
SkillAFreshness: AClaude Code +9 - 0.552score
remotion-docs
iqbalhasandev
Search Remotion documentation
SkillAFreshness: AClaude Code +9 - 0.547score
remotion-multimedia
iqbalhasandev
Interacting with Mediabunny
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 15, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.806score
remotion-interactivity
remotion-dev
Structure Remotion markup for interactivity
SkillAFreshness: A★ 5.6KClaude Code +9 - 0.383score
remotion-interactivity
STARDUSTLC666
Structure Remotion markup for interactivity
SkillAFreshness: A★ 24Claude Code +9 - 0.380score
remotion-interactivity
remotion-dev
Structure Remotion markup for interactivity
SkillAFreshness: A★ 61Claude Code +9 - 0.379score
remotion-interactivity
guanyang
Structure Remotion markup for interactivity
SkillAFreshness: A★ 980Claude Code +9 - 0.372score
remotion-interactivity
remotion-dev
Structure Remotion markup for interactivity
SkillAFreshness: A★ 26Claude Code +9 - 0.372score
remotion-interactivity
riaz37
Structure Remotion markup for interactivity
SkillBFreshness: B★ 73Claude Code +9 - 0.347score
remotion-interactivity
remotion-dev
Structure Remotion markup for interactivity
SkillAFreshness: A★ 3Claude Code +9 - 0.340score
remotion-interactivity
remotion-dev
Structure Remotion markup for interactivity
SkillAFreshness: A★ 2Claude Code +9 - 0.330score
remotion-interactivity
Arpit11-ops
Structure Remotion markup for interactivity
SkillAFreshness: AClaude Code +9 - 0.330score
remotion-interactivity
hijacker-mills
Structure Remotion markup for interactivity
SkillAFreshness: AClaude Code +9 - 0.330score
remotion-interactivity
ZedBiz44
Structure Remotion markup for interactivity
SkillAFreshness: AClaude Code +9 - 0.320score
remotion-interactivity
FarisHijazi
Structure Remotion markup for interactivity
SkillBFreshness: B★ 1Claude Code +9
More from iqbalhasandev
- 0.555score
remotion-maps
iqbalhasandev
Remotion Map animation knowledge
SkillAFreshness: AClaude Code +9 - 0.555score
remotion-best-practices
iqbalhasandev
Router for all Remotion skills
SkillAFreshness: AClaude Code +9 - 0.555score
remotion-upgrade
iqbalhasandev
Upgrade Remotion, and related packages
SkillAFreshness: AClaude Code +9 - 0.552score
remotion-saas
iqbalhasandev
Build an app with Remotion
SkillAFreshness: AClaude Code +9 - 0.552score
remotion-studio
iqbalhasandev
Preview a Remotion video
SkillAFreshness: AClaude Code +9 - 0.552score
remotion-render
iqbalhasandev
Export a Remotion video
SkillAFreshness: AClaude Code +9
Cite this page
remotion-interactivity skill. Agent Mart. https://agentmart.dev/skills/iqbalhasandev-remotion-interactivity (last updated 2026-10-24)