Adding an Interactive Demo to Docs
SkillDocs & knowledgeLets your agent add an interactive demo component to Remotion documentation pages.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Adding an Interactive Demo to Docs skill
About this capability
Add an interactive demo to the Remotion documentation. Use when creating a new <Demo> component for docs pages.
What this skill tells your AI
The instructions your AI receives, as published by remotion-dev/remotion in .agents/skills/docs-demo/SKILL.md and read by ahel’s review.
Interactive demos render a Remotion composition inline in documentation pages using @remotion/player. They live in packages/docs/components/demos/.
Effect demos are separate: use <EffectsDemo type="effects-..." /> and register them in packages/docs/components/effects-demos/registry.ts with the real effect schema, not the generic <Demo> options array.
Steps
-
Create a component in
packages/docs/components/demos/(e.g.MyDemo.tsx). It should be a standard React component using Remotion hooks likeuseCurrentFrame()anduseVideoConfig(). -
Register the demo in
packages/docs/components/demos/types.ts:- Import the component
- Export a
DemoTypeobject with these fields:id: unique string used in<Demo type="..." />comp: the React componentcompWidth/compHeight: canvas dimensions (e.g. 1280x720)fps: frame rate (typically 30)durationInFrames: animation lengthautoPlay: whether it plays automaticallyoptions: array of interactive controls (can be empty[])
-
Add to the demos array in
packages/docs/components/demos/index.tsx:- Import the demo constant from
./types - Add it to the
demosarray
- Import the demo constant from
-
Use in MDX with
<Demo type="your-id" />
Options
Options add interactive controls below the player. Each option needs name and optional ('no', 'default-enabled', or 'default-disabled').
Supported types:
type: 'numeric'— slider withmin,max,step,defaulttype: 'boolean'— checkbox withdefaulttype: 'enum'— dropdown withvaluesarray anddefaulttype: 'string'— text input withdefault
Option values are passed to the component as inputProps. Access them as regular React props.
Example registration
export const myDemo: DemoType = {
comp: MyDemoComp,
compHeight: 720,
compWidth: 1280,
durationInFrames: 150,
fps: 30,
id: 'my-demo',
autoPlay: true,
options: [],
};
Signals
- GitHub stars
- 59k
- Forks
- 4k
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
docs-demo-remotion-dev- Source
- github.com/remotion-dev/remotion