# Remotion Rule: Parameters > Remotion skill rule: Make a video parametrizable by adding a Zod schema. Part of the official Remotion Agent Skill for programmatic video in React. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: ## Quick Use ```bash npx skills add remotion-dev/skills ``` This rule activates automatically when working with parameters in a Remotion project. --- ## Intro Make a video parametrizable by adding a Zod schema. Part of the [Remotion AI Skill](https://tokrepo.com/en/workflows/57997ead-c8fa-409c-916f-28bbc0adc8d9) — the official Agent Skill for programmatic video creation in React. **Best for**: Developers using Remotion for parameters **Works with**: Claude Code, OpenAI Codex, Cursor --- ## Rule Content To make a video parametrizable, a Zod schema can be added to a composition. First, `zod` must be installed . Search the project for lockfiles and run the correct command depending on the package manager: If `package-lock.json` is found, use the following command: ```bash npm i zod ``` If `bun.lockb` is found, use the following command: ```bash bun i zod ``` If `yarn.lock` is found, use the following command: ```bash yarn add zod ``` If `pnpm-lock.yaml` is found, use the following command: ```bash pnpm i zod ``` Then, a Zod schema can be defined alongside the component: ```tsx title="src/MyComposition.tsx" import { z } from "zod"; export const MyCompositionSchema = z.object({ title: z.string(), }); const MyComponent: React.FC> = () => { return (

{props.title}

); }; ``` In the root file, the schema can be passed to the composition: ```tsx title="src/Root.tsx" import { Composition } from "remotion"; import { MycComponent, MyCompositionSchema } from "./MyComposition"; export const RemotionRoot = () => { return ( ); }; ``` Now, the user can edit the parameter visually in the sidebar. All schemas that are supported by Zod are supported by Remotion. Remotion requires that the top-level type is a z.object(), because the collection of props of a React component is always an object. ## Color picker For adding a color picker, use `zColor()` from `@remotion/zod-types`. If it is not installed, use the following command: ```bash npx remotion add @remotion/zod-types # If project uses npm bunx remotion add @remotion/zod-types # If project uses bun yarn remotion add @remotion/zod-types # If project uses yarn pnpm exec remotion add @remotion/zod-types # If project uses pnpm ``` Then import `zColor` from `@remotion/zod-types`: ```tsx import { zColor } from "@remotion/zod-types"; ``` Then use it in the schema: ```tsx export const MyCompositionSchema = z.object({ color: zColor(), }); ``` --- ## Source & Thanks > Created by [Remotion](https://github.com/remotion-dev). Licensed under MIT. > [remotion-dev/skills](https://github.com/remotion-dev/skills) — Rule: `parameters` Part of the [Remotion AI Skill](https://tokrepo.com/en/workflows/57997ead-c8fa-409c-916f-28bbc0adc8d9) collection on TokRepo. --- Source: https://tokrepo.com/en/workflows/115784a3-0274-48af-9223-34bd2705a2e9 Author: Skill Factory