remocn
Copy-paste components for Remotion videos. Components install via
and land in
— you own the code.
The catalog lives at remocn.dev
This skill does not carry a copy of the component catalog. There are ~240 components and they
change; a bundled copy goes stale silently. Read the live docs instead.
Start every component search here:
https://remocn.dev/llms-components.txt
One table per category, every installable component, each row carrying
/
,
natural length, vibe, tier, dependencies, and a link to its full page. Scan it, shortlist, then
fetch only the pages you shortlisted.
One component's full reference — props with descriptions, worked examples, all use / don't-use
notes — is the docs URL with
appended:
https://remocn.dev/docs/typography/blur-out-up.md
https://remocn.dev/docs/transitions/whip-pan.md
https://remocn.dev/docs/ui/components/dialog.md
The index gives you the exact URL per component — don't guess the section from the name, several
components live somewhere non-obvious.
Fetch with whatever your environment provides (a web-fetch tool,
,
). If the
network is unavailable, say so and stop — do not invent props, defaults, or durations from memory,
and do not substitute a component you have not read. A wrong prop name fails at build; an invented
duration silently clips the animation.
Installation
Prerequisites: a Remotion project (
).
bash
shadcn add @remocn/blur-out-up
is the canonical namespaced form (configured under
in
). The plain registry URL
https://remocn.dev/r/<name>.json
also works.
Dependencies install automatically
Many components pull others via
—
installs them transitively.
For example,
shadcn add @remocn/typewriter
also pulls
and
.
- is the shared core lib (timeline-fold hook, theme context, color math).
Most UI Primitives depend on it. You rarely install it directly.
Two tiers
remocn has two kinds of components — they have different APIs:
- Animation tier () — text animations, transitions, backgrounds, UI-block sims,
brand/social cards, full compositions. Frame-driven. Shared props: (time multiplier),
and for text: , , .
- UI Primitives () — timeline-driven shadcn-style primitives (button, dialog,
select, command-menu, tooltip…). State-based props (, , , ).
No prop. Built on .
The index's
column tells you which one you are looking at before you open the page.
Component patterns
Conventions differ by tier — don't assume animation-tier props on a primitive.
Animation tier ()
- Named interface per component (e.g. ).
- — global time multiplier (default ), applied as .
- Text components: , , .
- Transitions: lowercase factories (e.g. ) returning a — pass to
TransitionSeries.Transition
via , pace with / .
- on the root.
Not everything filed under transitions is a presentation:
and
are scene
sequencers that take a
array and own the whole timeline. The page says which one you have.
UI Primitives ()
- State-based, not -based: (e.g. / ), , ,
,
theme?: Partial<RemocnTheme>
.
- The opened/closed/active state is a pure function of the timeline (keyframed presets).
- Compose modal-layer primitives (dialog, alert-dialog, drawer) with a trigger element — see
each component's example.
Animation API
tsx
import { interpolate, spring, useCurrentFrame, useVideoConfig } from "remotion";
const opacity = interpolate(frame, [0, 30], [0, 1], { extrapolateRight: "clamp" });
const scale = spring({ fps, frame, config: { damping: 12, mass: 1, stiffness: 100 } });
// Deterministic randomness (NEVER Math.random())
import { random } from "@remotion/random";
const jitter = random(`seed-${frame}`);
Composition structure
tsx
import { Sequence, Series } from "remotion";
<Sequence from={30} durationInFrames={60}>
<Typewriter text="npm install remocn" />
</Sequence>
<Series>
<Series.Sequence durationInFrames={60}><SceneA /></Series.Sequence>
<Series.Sequence durationInFrames={60}><SceneB /></Series.Sequence>
</Series>
Canvas & timing
- Canvas standard: . Components are laid out for it.
- is the component's own motion, not the whole beat. For a transition it is the value
to pass to / ; for everything else it is the frame the animation
finishes on. Treat it as the floor for the and add hold time when the element should
stay on screen after it settles. means the component renders from its prop
and has no duration of its own.
- Tone matching: each entry carries a tag (/////
/) — pick components whose vibe fits the brand. is the stop-motion kit: a
quantized ~10-poses-per-second clock, handwriting and ink. Those components read as one world, so
mix them with each other rather than with the smooth tiers.
Design defaults — avoid AI-slop
Your
own additions (text, scene chrome, cards — not the prebuilt components) stay restrained:
default tracking, sentence case, solid text color, subtle 1px elevation — no decorative
letter-spacing, ALL-CAPS, gradient text-fills, or glow shadows. Never strip these traits from a
component whose essence
is the effect (
, social-card gradients, designed elevation).
Full do/avoid examples, design tokens, motion principles and the anti-pattern list live in the
Craft section:
https://remocn.dev/docs/craft/design-defaults.md
https://remocn.dev/docs/craft/motion-principles.md
https://remocn.dev/docs/craft/anti-patterns.md
Gotchas (remocn-specific)
- Terminal scroll is instant — step-function , never spring/ease the scroll.
- on split layouts — prevents content breakage during width animations.
- Cursor blink is deterministic —
Math.floor(frame / 15) % 2 === 0
, not intervals.
- Static files go in — load via , not imports.
- Social cards render offline — / fall back to gradients; no fetch.
General Remotion rules (no
, no
, animate
not
/
,
load fonts before render) live in the
skill.
Composing a video
Don't dump components — compose one story. When asked to build a full video ("make a product demo",
"changelog video", "intro for my landing"):
- Decide the strategy — ready template vs compose from components vs build a new component. See
§1.
- Follow the beats — a product demo is Hook → Positioning → Product reveal → Features → Proof →
CTA (last two optional). See §2.
- Use the recipe —
references/archetypes/index.md
routes to per-archetype builds: content contract
(infer → ask → placeholder), duration variants, beat→component slots, and a worked
skeleton.
- Pick each beat's component from
https://remocn.dev/llms-components.txt
; match the tag
to the brand and budget its per Canvas & timing above.
- Check the quality bar — one accent, sentence-case kinetic type, real content, no glow halos, no
feature-list enumeration. See §3.
Reference
Bundled with this skill — the judgment that does not change per component:
- — composing a full video: strategy (template/compose/new), the product-demo beats, and the good-vs-slop quality bar.
references/archetypes/index.md
— router to per-archetype build recipes (product-demo flagship + changelog, feature-announcement, oss-showcase, cli-tool-demo, testimonial-reel, year-in-review, pricing-reveal, logo-bumper): content contract, duration variants, beat→slot map.
Fetched from remocn.dev — everything that tracks the components:
https://remocn.dev/llms-components.txt
— the component index. Always start here.
https://remocn.dev/docs/<section>/<name>.md
— one component's full reference.
https://remocn.dev/docs/craft/design-defaults.md
— anti-slop defaults and design tokens.
https://remocn.dev/docs/craft/motion-principles.md
— motion principles adapted to remocn.
https://remocn.dev/docs/craft/anti-patterns.md
— common generation mistakes and their fixes.
https://remocn.dev/llms.txt
— index of the whole documentation, if you need something else.