This tool helps developers write and configure Demo components to display interactive video previews within Remotion documentation.

Install

mkdir -p .claude/skills/docs-demo && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/717" && unzip -o skill.zip -d .claude/skills/docs-demo && rm skill.zip

Installs to .claude/skills/docs-demo

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Add an interactive demo to the Remotion documentation. Use when creating a new <Demo> component for docs pages.
111 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Create interactive <Demo> components for documentation
  • Register Remotion compositions with custom metadata
  • Configure interactive controls like sliders and dropdowns
  • Integrate Remotion player into MDX files

How it works

It registers a component in the documentation registry, defining dimensions, frame rates, and input controls that are passed as props to the player.

Inputs & outputs

You give it
Remotion composition component
You get back
Interactive documentation demo component

When to use docs-demo

  • Add interactive video demo component
  • Configure documentation preview components
  • Write documentation for Remotion

About this skill

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().

  2. 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 [])
  3. Add to the demos array in packages/docs/components/demos/index.tsx:

    • Import the demo constant from ./types
    • Add it to the demos array
  4. 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: [],
};

When not to use it

  • When documentation does not use Remotion
  • When static images or videos are sufficient

Prerequisites

RemotionReact

Limitations

  • Requires registration in the specific docs package structure

How it compares

It enables live, interactive video previews within documentation instead of static media embeds.

Compared to similar skills

docs-demo side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
docs-demo (this skill)32moNo flagsBeginner
svelte-expert119moNo flagsIntermediate
writing-registry-meta57moNo flagsBeginner
wot-ui26moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

svelte-expert

Raudbjorn

Expert Svelte/SvelteKit development assistant for building components, utilities, and applications. Use when creating Svelte components, SvelteKit applications, implementing reactive patterns, handling state management, working with stores, transitions, animations, or any Svelte/SvelteKit development task. Includes comprehensive documentation access, code validation with svelte-autofixer, and playground link generation.

11107

writing-registry-meta

siriwatknp

Use this skill when writing meta file for MUI Treasury registry.

587

wot-ui

wot-ui

wot-ui uni-app 组件库开发指南。当用户询问 wot-ui 组件使用、配置、示例或 API 时使用此技能。

211

vitepress

antfu

VitePress static site generator powered by Vite and Vue. Use when building documentation sites, configuring themes, or writing Markdown with Vue components.

56

port-from-bslib

posit-dev

Comprehensive guide for porting UI components from R's bslib package to py-shiny. Use this skill when: (1) User asks to "port this feature" or "port a component" and mentions bslib or links to a bslib PR (e.g., github.com/rstudio/bslib/pull/...), (2) Porting a new component from bslib to py-shiny, (3) Adding a new input, output, or UI component that exists in bslib, (4) Implementing feature parity with bslib, (5) Working on bslib-related features or components. Covers the complete workflow including understanding source implementation, creating Python equivalents, vendoring assets (SCSS, CSS, JavaScript), creating tests, documentation, and all necessary project files.

17

webf-api-compatibility

openwebf

Check Web API and CSS feature compatibility in WebF - determine what JavaScript APIs, DOM methods, CSS properties, and layout modes are supported. Use when planning features, debugging why APIs don't work, or finding alternatives for unsupported features like IndexedDB, WebGL, float layout, or CSS Grid.

16

Search skills

Search the agent skills registry