ui-beats
Add animated React components from the UI Beats shadcn registry, reading real props tables and source over MCP
react
shadcn
tailwind
animation
components
Files2
View on GitHubSKILL.mdskills/ui-beats/SKILL.md
GitHubUI Beats
Use this skill when the task involves UI Beats components, animated React sections, or turning a static section into a moving one using the UI Beats registry.
UI Beats is a registry of 55 animated React components built with TypeScript, Tailwind CSS and Motion. The shadcn CLI writes the source into the project, so there is no package to pin and no wrapper API to work around. Once installed, the file is ordinary project code and can be edited freely.
When To Apply
Apply this skill when users ask to:
- Add a UI Beats component (for example: border-beam, marquee, flip-card, text-scramble, particles)
- Build an animated section: hero, pricing, feature grid, testimonial wall
- Replace hand-written animation code with a maintained component
- Troubleshoot installation or imports for
https://uibeats.com/r/*.json
Core Workflow
Read the catalogue before choosing. Component names do not always describe the effect. Load
references/components.mdand match on the description, not the slug.Prefer the MCP server when it is available. UI Beats ships one, and it returns the real props table and full source rather than a guess:
claude mcp add uibeats -- npx -y @uibeats/mcpIt exposes
search_components,get_component,list_componentsandget_install_command. The reliable sequence issearch_components("card that flips")→get_component("flip-card")to read the actual props →get_install_command("flip-card"). Do not write JSX against remembered prop names; read them first.Confirm prerequisites. React or Next.js with Tailwind CSS, and shadcn initialised:
npx shadcn@latest initInstall the component. UI Beats is a URL registry, so the install target is the full JSON path:
npx shadcn@latest add https://uibeats.com/r/<slug>.jsonExample:
npx shadcn@latest add https://uibeats.com/r/border-beam.jsonBlocks pull their own parts in: installing
heroalso installs the components it composes.Integrate. Import from
@/components/ui/<slug>. Prefer props andclassNameover editing internals on the first pass; the source is yours to change, but an unmodified file is easier to re-install later.Validate before finishing.
- Motion: UI Beats components handle
prefers-reduced-motionthemselves. If you wrap or re-implement one, preserve that path rather than stripping it. - Motion budget: one prominent effect per viewport. Stacking a background, an animated border and text motion in the same fold reads as noise and costs frames.
- Accessibility: decorative motion layers take
aria-hidden; keep semantic HTML and keyboard access intact. - Client boundaries: animated components are client components. In
Next.js App Router keep the
"use client"boundary as low in the tree as possible rather than promoting a whole page.
- Motion: UI Beats components handle
Common Failures
- Installing by bare slug.
npx shadcn@latest add border-beamresolves against the default registry and will not find UI Beats. The fullhttps://uibeats.com/r/border-beam.jsonURL is required. - Guessed props. Read
get_componentor the docs page before writing JSX. - Dropped CSS variables.
animated-beam,aurora,morphing-cardandgradient-textship light and dark CSS variables that the registry writes on install. If one of them renders colourless, the variables did not land, so re-run the install rather than hard-coding hex values.
References To Load On Demand
references/components.md: the full catalogue with slugs, grouped by category, generated from the registry.- Docs, props tables and live playgrounds: https://uibeats.com/docs
- Registry index: https://uibeats.com/r/registry.json