remotion-dev/remotion · Official

docs-demo

Add an interactive demo to the Remotion documentation. Use when creating a new <Demo> component for docs pages.

All-time #5935 Trending #6777 First seen Jan 31, 2026
8-week activity · all time api

Installation

$ npx skills add remotion-dev/remotion --skill docs-demo

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from remotion-dev/remotion · top by installs.

npx skills add remotion-dev/remotion

Browse all from remotion-dev/remotion

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 58.6K
License LICENSE.md
Default branch main
Open issues 155
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,198 B
  • docs SUMMARY.md 128 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2,109 installs

SKILL.md

Adding an Interactive Demo to Docs

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

  1. Create a component in packages/docs/components/demos/ (e.g. MyDemo.tsx). It should be a standard React component using Remotion hooks like useCurrentFrame() and useVideoConfig().
  1. Register the demo in packages/docs/components/demos/types.ts:

- Import the component - Export a DemoType object with these fields: - id: unique string used in <Demo type="..." /> - comp: the React component - compWidth / compHeight: canvas dimensions (e.g. 1280x720) - fps: frame rate (typically 30) - durationInFrames: animation length - autoPlay: whether it plays automatically - options: array of interactive controls (can be empty [])

  1. Add to the demos array in packages/docs/components/demos/index.tsx:

- Import the demo constant from ./types - Add it to the demos array

  1. 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 with min, max, step, default
  • type: 'boolean' — checkbox with default
  • type: 'enum' — dropdown with values array and default
  • type: 'string' — text input with default

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: [],
};