From harness-claude
Creates performant CSS animations using Tailwind transitions, keyframe utilities, and motion-safe patterns for accessible, GPU-accelerated motion.
How this skill is triggered — by the user, by Claude, or both
Slash command
/harness-claude:css-animation-patternThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Create performant CSS animations with Tailwind transitions, keyframe utilities, and motion-safe considerations
Create performant CSS animations with Tailwind transitions, keyframe utilities, and motion-safe considerations
transition-* utilities for property transitions (hover, focus, state changes).animate-* utilities for keyframe animations (continuous motion, entrance effects).transform and opacity for 60fps performance — avoid animating width, height, margin, or top.motion-safe: prefix so animations only play when the user has not enabled "reduce motion".tailwind.config.ts for project-specific animations.// Transitions — state-based property changes
function Button({ children }: { children: React.ReactNode }) {
return (
<button className="
bg-blue-600 text-white px-4 py-2 rounded-md
transition-all duration-200 ease-in-out
hover:bg-blue-700 hover:shadow-lg hover:-translate-y-0.5
active:translate-y-0 active:shadow-md
focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2
">
{children}
</button>
);
}
// Entrance animation with motion-safe
function FadeIn({ children }: { children: React.ReactNode }) {
return (
<div className="motion-safe:animate-fade-in motion-reduce:opacity-100">
{children}
</div>
);
}
// Built-in Tailwind animations
<div className="animate-spin h-8 w-8 border-4 border-blue-600 border-t-transparent rounded-full" />
<div className="animate-pulse bg-gray-200 h-4 rounded" />
<div className="animate-bounce text-2xl">👇</div>
// tailwind.config.ts — custom animations
const config: Config = {
theme: {
extend: {
keyframes: {
'fade-in': {
'0%': { opacity: '0', transform: 'translateY(10px)' },
'100%': { opacity: '1', transform: 'translateY(0)' },
},
'slide-in-right': {
'0%': { transform: 'translateX(100%)' },
'100%': { transform: 'translateX(0)' },
},
'scale-in': {
'0%': { opacity: '0', transform: 'scale(0.95)' },
'100%': { opacity: '1', transform: 'scale(1)' },
},
},
animation: {
'fade-in': 'fade-in 0.5s ease-out forwards',
'slide-in-right': 'slide-in-right 0.3s ease-out',
'scale-in': 'scale-in 0.2s ease-out',
},
},
},
};
Performance-safe properties: The browser can animate transform and opacity on the GPU (compositor layer) without triggering layout recalculation. Animating other properties causes reflow:
| Safe (GPU) | Unsafe (reflow) |
|---|---|
transform (translate, scale, rotate) | width, height |
opacity | margin, padding |
filter | top, left, right, bottom |
border-width, font-size |
Transition utilities:
transition — all properties (color, background, border, shadow, transform, opacity)transition-colors — only color-related propertiestransition-transform — only transformtransition-opacity — only opacityduration-* — 75, 100, 150, 200, 300, 500, 700, 1000ease-* — linear, in, out, in-outMotion accessibility: Always use motion-safe: for decorative animations. Users with vestibular disorders can enable "reduce motion" in their OS settings:
<div className="motion-safe:animate-fade-in motion-reduce:opacity-100">
Content appears instantly for motion-sensitive users
</div>
Staggered animations (with custom properties):
{
items.map((item, i) => (
<div
key={item.id}
className="motion-safe:animate-fade-in"
style={{ animationDelay: `${i * 100}ms` }}
>
{item.name}
</div>
));
}
https://tailwindcss.com/docs/animation
npx claudepluginhub intense-visions/harness-engineering --plugin harness-claudeProvides pure CSS animation expertise using keyframes, transitions, timing functions, and Tailwind utilities for lightweight, performant effects without JavaScript.
Provides Tailwind CSS built-in animations (spin, ping, pulse, bounce) and transition utilities (properties, durations, easings, delays) with HTML examples. Use for loading indicators, notifications, hovers, and UI motion.
References Tailwind CSS v4.1 utilities for transforms (scale-*, rotate-*, translate-*, skew-*, origin), transitions (transition-*, duration-*, ease-*, delay-*), and animations (animate-*, @keyframes). Use for styling interactive UI elements.