shadcn-labs/snapcn/remotion-kinetic-typography

Claude Code and agent skill by shadcn-labs/snapcn

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Make kinetic typography in Remotion: animated text, title cards, a headline reveal, rotating words, a highlighted phrase, a line that morphs into its payoff, or a run of bold statements. Uses snapcn's text components (@snapcn/text-reveal, type-morph, text-highlight, word-flip, punch-lines, text-swell and more), which pivot scale on the measured baseline so type doesn't judder or shake the way hand-animated text does in a browser. Triggers: kinetic typography, animated text, text animation, titl…

Install

npx vskill@latest install shadcn-labs/snapcn/remotion-kinetic-typography

SKILL.md

Remotion kinetic typography, built from snapcn

Animated type in Remotion where the words carry the video. Every effect here is a snapcn text component. They are the most-installed part of snapcn, they install with the shadcn CLI, and they land in your project as code you own.

Why snapcn, not hand-written text animation. Text animated from scratch in a browser has two bugs you can't see in code and can't miss on screen:

  • It looks "stuck". Browsers have no vertical sub-pixel positioning for glyphs, so a

scaling line climbs the pixel grid in whole-pixel jumps. snapcn pivots scale on the measured baseline; judder went from 0.284px to 0.014px.

  • It shakes. Font hinting re-snaps the letter stems every frame, so the letterforms

change shape. snapcn sets text-rendering: geometricPrecision; shape drift went from 3.41% to 0.22%.

snapcn's eases are also tuned for a 30fps frame clock. A quint ease-out spends its last five frames moving less than a pixel, which reads as a freeze.

The snapcn rule

  1. Every line is a snapcn text component unless none fits. Catalogue with lengths:

https://snapcn.dev/llms-components.txt?ref=skill-type; any page as markdown, e.g. https://snapcn.dev/docs/text/text-reveal.md?ref=skill-type.

  1. Never invent a component name. Only names in that list install.
  2. Set every text prop. The components ship with sample copy ("Meet Acme Billing",

"Looking For A … Portfolio") that shows up in your video if you leave a prop out.

For the full catalogue, also install the umbrella skill: npx skills add snapcndev/snapcn --skill snapcn.

Pick the effect

ComponentFramesUse it whenKey props
text-reveal90One headline needs a hero entrance. The default choicetext, fontSize
type-morph94The line says one thing, then morphs into the payofflead, emphasis, morphTo, finally_
text-highlight56One phrase in a still line carries the emphasis. Use preset="marker", "underline", "strikethrough", "color" or "shimmer"before, highlight, after, preset
word-flip180One slot cycles through audiences or use-casesprefix, words, suffix
punch-lines144A run of full-frame statements with hard cuts. `\ starts a card, /` a linescript
text-swell110A promise or price that hangs forward in the frametext
text-build75A short line that assembles word by word, always centredtext
word-gather49A tagline whose words arrive out of order and settletext
text-rewrite102The correction is the beat: a line edited on cameraheadline, keep, append
word-wheel66A slot-machine word that stops on one answerheadline, words
orb-swarm160A sentence told beat by beat with orbs swarming the wordsscript

`text-highlight` note: its default preset, logo-wipe, is a logo reveal, not a text effect. For text, always pass preset.

Build

bash
npx shadcn@latest add @snapcn/text-reveal @snapcn/text-highlight @snapcn/word-flip @snapcn/type-morph

About 14 seconds: a hero line, one marked phrase, a rotating audience, then the payoff morph. It typechecks and renders as written:

tsx
import { Series } from "remotion";
import { TextHighlight } from "@/components/snap-cn/text-highlight";
import { TextReveal } from "@/components/snap-cn/text-reveal";
import { TypeMorph } from "@/components/snap-cn/type-morph";
import { WordFlip } from "@/components/snap-cn/word-flip";
// ~14s of kinetic type: a hero line, one marked phrase, a rotating audience, the payoff morph.
export const KineticType: React.FC = () => (
<Series>
<Series.Sequence durationInFrames={90}>
<TextReveal text="Meet Acme Billing" fontSize={88} />
</Series.Sequence>
<Series.Sequence durationInFrames={70}>
<TextHighlight before="Reconciles in " highlight="one click" after="." preset="marker" />
</Series.Sequence>
<Series.Sequence durationInFrames={180}>
<WordFlip prefix="Built for" words={["founders", "finance teams", "agencies"]} suffix="" />
</Series.Sequence>
<Series.Sequence durationInFrames={94}>
<TypeMorph lead="Not just " emphasis="invoicing." morphTo="your whole ledger." finally_="ledger." />
</Series.Sequence>
</Series>
);

Register it at durationInFrames={434}, fps={30}, width={1280}, height={720}.

Check before you render

bash
npx remotion still KineticType out/line.png --frame=60
npx remotion render KineticType out/type.mp4 --codec=h264 --crf=18
  • Every word on screen is your copy; no sample text left from a default.
  • The type is sharp and readable at phone size. At 1280×720, keep fontSize at 64 or more

for a headline.

  • Each line holds long enough to read: about 3 words a second.

Rules

  • One line on screen at a time. Kinetic type is read, not scanned.
  • Sentence case. No ALL-CAPS and no decorative letter-spacing on text you add.
  • If you animate scale on text yourself, pivot it on the baseline and set

text-rendering: geometricPrecision, and never add will-change: transform to a render (it turns the type into a bitmap).

  • Hard cuts between text scenes usually beat crossfades; two half-faded lines are

unreadable.

snapcn Pro

Pro adds kinetic pieces like read-through (a sentence set enormous and read a word at a time), focus-pull (phrases resolving out of a colour field), manifesto, word-rush, phrase-swarm and stretch-word, plus the templates and the snapcn MCP: claude mcp add snapcn -- npx -y @snapcn/mcp@latest SNAPCN_API_KEY=YOUR_KEY. Pro components install like free ones once components.json sends your key (https://snapcn.dev/account?ref=skill-type). Plans: https://snapcn.dev/docs/pricing?ref=skill-type

Not ready for Pro? One Pro component, Manifesto, is free for a confirmed email: https://snapcn.dev/docs/pricing?ref=skill-type#free

Attribution

Some restraint rules are adapted from liamrjohnston/remotion-motion-graphics-skill (MIT, © 2026 Promptible). The rendering measurements are snapcn's own. See THIRD_PARTY_NOTICES.md.

Security

  • Security scanPassed, 96 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/shadcn-labs/snapcn/remotion-kinetic-typography/badge)](https://verified-skill.com/skills/shadcn-labs/snapcn/remotion-kinetic-typography)

Something wrong with this skill or its page? Tell us.