agentsclimarketplace

Transitions

Skill alebgl77/claude-inc/skills/transitions

Builds a complete CSS motion system — duration and easing tokens (fast 120ms micro-feedback, base 200ms, slow 320ms entrances; standard, decelerate and spring curves), enter/exit/emphasis patterns, stagger rules, and prefers-reduced-motion fallbacks — delivered as a copy-paste CSS/JS snippet library. Use when the user says "add animations", "make this feel smooth", "the transitions are janky", or "animate this modal / dropdown / list without making it feel like a template".From its SKILL.md

Install
npx -y skills add alebgl77/claude-inc --skill transitions

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.3 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Transitions — Motion Artist

"CSS motion library"

When to use

  • A UI works but feels dead or abrupt — "make it feel alive", "everything just pops in".
  • Motion exists but is chaotic — "every component animates differently, unify it".
  • Specific effects are requested — "animate this modal / dropdown / list / page load".
  • Accessibility review flagged motion — "we need prefers-reduced-motion support".

Workflow

  1. Audit what changes. List every state change in the UI — appear, disappear, reorder, attention. Motion attaches to changes, not to components.
  2. Define duration tokens. --motion-fast: 120ms for micro-feedback (hover, press), --motion-base: 200ms for most transitions, --motion-slow: 320ms for entrances and large surfaces. Exits run roughly 20% faster than their enters.
  3. Define easing tokens. Standard cubic-bezier(0.2, 0, 0, 1) for most moves; decelerate cubic-bezier(0, 0, 0, 1) for entrances; spring cubic-bezier(0.34, 1.56, 0.64, 1) reserved for playful emphasis — at most once per view.
  4. Build the pattern set. Enter: fade-rise 8px, scale-in 0.96→1. Exit: fade-fall, faster. Emphasis: one pulse, or one shake for errors — never looping. Only transform and opacity ever animate; layout properties are off-limits.
  5. Set stagger rules. Lists stagger 30–40ms per item, total capped at 400ms; past ten items, stagger the first eight and land the rest together.
  6. Write the reduced-motion fallback. Under prefers-reduced-motion: reduce, collapse animations to fast opacity fades — never delete feedback entirely.
  7. Emit the library. motion.css (tokens + patterns) and a trigger snippet (IntersectionObserver scroll-ins, class-toggle helpers), with a one-line usage note per pattern: what it is for, what it must never be used for.

Output format

/* motion.css — tokens */
:root {
  --motion-fast: 120ms;
  --motion-base: 200ms;
  --motion-slow: 320ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-decelerate: cubic-bezier(0, 0, 0, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}
/* enter — use for: content appearing; never for: hover feedback */
.enter-rise { animation: rise var(--motion-slow) var(--ease-decelerate) both; }
@keyframes rise { from { opacity: 0; transform: translateY(8px); } }
/* stagger — set style="--i: n" per item; cap the cascade at 400ms */
.stagger > * { animation-delay: calc(var(--i, 0) * 35ms); }
/* reduced motion — feedback stays, movement goes */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 1ms !important;
    transition-duration: 80ms !important;
  }
}
// scroll-in trigger — pairs with .enter-rise via [data-animate]
const io = new IntersectionObserver(
  (entries) => entries.forEach((e) => e.isIntersecting && e.target.classList.add('enter-rise')),
  { threshold: 0.15 }
);
document.querySelectorAll('[data-animate]').forEach((el) => io.observe(el));

Quality bar

  • Every duration and easing is a token — zero inline magic numbers
  • Exits faster than enters; nothing exceeds 400ms except a declared hero moment
  • Only transform and opacity animate — no layout properties, no transition: all
  • prefers-reduced-motion fallback present and verified by toggling the OS setting
  • Spring easing appears at most once per view
  • Staggers capped — no two-second cascades on long lists

Example

Invocation: "My settings modal and dropdown feel abrupt, and list items just pop in."

Produces: motion.css with the token block; modal enter at 320ms decelerate (scale-in) with a 160ms exit; dropdown at 200ms standard with transform-origin: top; a 35ms stagger on the list capped at 400ms; the IntersectionObserver trigger; and a reduced-motion block that converts every pattern to a fast opacity fade.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 1 of the 12 instructions most css styling skills give in ~1.1k tokens

Counted across 512 of the 512 authors here whose files we hold, read 2026-09-06

  • Animate only transform and opacityin 32 of 512, across 30 files
  • Respect prefers-reduced-motionin 21 of 512
  • Support reduced motion preferencesin 16 of 512, across 6 files
  • Use Tailwind CSS for stylingin 14 of 512, across 13 files
  • Specify AnimatePresence mode explicitlyin 12 of 512, across 2 files
  • Set initial states explicitlyin 12 of 512, across 2 files
  • Use semantic HTML elementsin 11 of 512, across 10 files
  • Use oklch for color valuesin 11 of 512, across 10 files
  • Honor prefers-reduced-motion in animationsin 10 of 512
  • Provide a reduced-motion fallback for animationshere, and in 10 of 512, across 9 files
  • Use property names in camelCasein 9 of 512, across 4 files
  • Ensure UI animations stay under 300msin 9 of 512, across 6 files

Said here and by no other author read

  • Audit every state change in the UI
  • Define duration and easing tokens
  • Build enter, exit, and emphasis patterns
  • Set stagger rules for lists
  • Emit the CSS and JS snippet library

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.