Skip to content
Back to skills

Motion Engineering

ASecurity

Use when Motion Engineering mastery for 2026 web UI. Covers all 20 modern animation styles across 4 tiers (Core UX, Immersive, Advanced, Specialized). Use when designing motion strategy, choosing animation libraries (Framer, GSAP, WebGL, CSS), or implementing animated UI patterns.

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsjavascriptgojavabashreactrailsspringapiperformance

Works with

  • cursor
  • api

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add Harmitx7/tribunal-kit --skill motion-engineering --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Motion Engineering?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Motion Engineering
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/harmitx7-motion-engineering-tribunal-kit/badge)](https://www.skillsdirectory.com/skills/harmitx7-motion-engineering-tribunal-kit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: motion-engineering
description: "Use when Motion Engineering mastery for 2026 web UI. Covers all 20 modern animation styles across 4 tiers (Core UX, Immersive, Advanced, Specialized). Use when designing motion strategy, choosing animation libraries (Framer, GSAP, WebGL, CSS), or implementing animated UI patterns."
version: 5.0.0
last-updated: 2026-09-13
skills:
  - 60fps-animation
  - accessible-animation
  - framer-motion-expert
  - gsap-react
tools: Read, Grep, Glob, Bash, Edit, Write
scripts-binding:
  - .agent/scripts/lint_runner.js
  - .agent/scripts/verify_all.js
---

# Motion Engineering (2026) β€” Comprehensive Reference

---

## πŸ› οΈ Technical Architecture & Reference Recipes

---

## Hallucination Traps & Motion Sins (Read First)

- ❌ Linear motion (`ease-linear`, CSS `transition: all`) β†’ βœ… Spring physics (`stiffness/damping`) or custom cubic-beziers. Linear looks robotic.
- ❌ Animating layout properties (`width`, `margin`, `top`) β†’ βœ… ONLY animate `transform` and `opacity` to maintain 120fps GPU compositing.
- ❌ Scrolljacking (hijacking native scroll wheel) β†’ βœ… Smooth scrolling via Lenis, synchronized with native momentum.
- ❌ Heavy blocking entrance animations β†’ βœ… Performance-first: let user interact immediately while ambient motion resolves.
- ❌ Forgetting `prefers-reduced-motion` β†’ βœ… ALWAYS respect system accessibility. Fall back to instant opacity transitions.
- ❌ `view-transition-name` collision β†’ βœ… Each name must be unique in the DOM at any given time.
- ❌ `element.animate()` (WAAPI) without `fill: "forwards"` β†’ βœ… Animation resets on completion β€” add `fill: "forwards"` or commit state.

---

## Master Library Decision Matrix (20 Animation Categories)

| Category / Style                                     | Recommended Technology            | Why / Use Case                           |
| :--------------------------------------------------- | :-------------------------------- | :--------------------------------------- |
| **Tier 1: Core UX (High Frequency)**                 |                                   |                                          |
| 1. Micro-interactions                                | Framer Motion / CSS Springs       | Fast feedback, hover states, buttons     |
| 2. Scroll-based                                      | GSAP ScrollTrigger + Lenis        | Parallax, timelines, storytelling        |
| 3. Page Transitions                                  | View Transitions API + Framer     | SPA route navigation, modal expands      |
| 4. Loading & Skeleton                                | CSS @keyframes / SVGs / Lottie    | Non-blocking waits, shimmer, spinners    |
| **Tier 2: Narrative & Immersive (Medium Frequency)** |                                   |                                          |
| 5. 3D & Immersive                                    | React Three Fiber / WebGL         | Interactive scenes, models, depth        |
| 7. Kinetic Typography                                | GSAP SplitText / Framer           | Emphasize headlines, word-by-word reveal |
| 8. Background Animations                             | CSS Gradients / WebGL Shaders     | Ambient noise, particles, mesh gradients |
| 9. Illustration/Characters                           | Lottie / Rive                     | Mascots, onboarding storytelling         |
| **Tier 3: Advanced & Emerging (Situational)**        |                                   |                                          |
| 6. State Transitions                                 | Framer Motion `layout`            | Expanding cards, drag-and-drop           |
| 10. Physics-based                                    | Matter.js / Framer Springs        | Bouncy, elastic real-world mimics        |
| 11. Morphing & Shape                                 | GSAP MorphSVG                     | Liquid motion, blobs, SVG path morphs    |
| 12. Glassmorphism UI                                 | CSS backdrop-filter + motion      | Soft shadows, refraction on hover        |
| 13. Cursor-based                                     | Custom JS + CSS variables         | Magnetic buttons, cursor trails          |
| 14. AI-driven Adaptive                               | Headless logic + Framer           | Context-aware, usage-based animation     |
| 15. Gamified/Interactive                             | Canvas / React Three Fiber        | Reward animations, mini-games            |
| **Tier 4: Specialized (Niche/Structural)**           |                                   |                                          |
| 16. Video + Motion                                   | Scroll-sync Video (GSAP)          | Cinematic hero sections                  |
| 17. Experimental                                     | Custom shaders / Brutalist CSS    | Glitch effects, collage                  |
| 18. Navigation                                       | Framer `AnimatePresence`          | Mega menus, magnetic nav                 |
| 19. Data Visualization                               | D3.js + Framer Motion             | Animated charts, live updates            |
| 20. Performance-first                                | CSS only (`opacity`, `transform`) | Ultra-minimal subtle fade-ins            |

---

## TIER 1: Core UX Motion (Dense Implementation)

_These are the foundational motions used in 80%+ of 2026 web applications._

### 1. Micro-interactions

Used for immediate feedback, clarifying actions, and improving perceived responsiveness.

```tsx
// Framer Motion β€” button with spring micro-interaction
<motion.button
  whileHover={{ scale: 1.02, filter: 'brightness(1.08)' }}
  whileTap={{ scale: 0.97 }}
  transition={{ type: 'spring', stiffness: 400, damping: 17 }}
>
  Submit
</motion.button>
```

### 2. Scroll-based Animations (Most used in 2026)

Triggers narrative flow and depth based on user scrolling.

```javascript
// GSAP ScrollTrigger β€” industry standard
gsap.from('.reveal-section', {
  scrollTrigger: { trigger: '.reveal-section', start: 'top 80%', scrub: 1 },
  y: 60,
  opacity: 0,
  stagger: 0.1,
});

// Lenis β€” smooth scroll compatible with GSAP
import Lenis from 'lenis';
const lenis = new Lenis({ lerp: 0.1, wheelMultiplier: 0.8 });
lenis.on('scroll', ScrollTrigger.update);
gsap.ticker.add(time => lenis.raf(time * 1000));
gsap.ticker.lagSmoothing(0);
```

### 3. Page Transitions (Native-First View Transitions API)

```css
/* CSS β€” Browser-native page transition (Zero JS runtime cost) */
@view-transition {
  navigation: auto;
}

.card-image {
  view-transition-name: active-image; /* MUST BE UNIQUE IN DOM */
}
::view-transition-old(active-image) {
  animation: fade-out 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
::view-transition-new(active-image) {
  animation: scale-in 0.25s cubic-bezier(0, 0, 0.2, 1);
}
```

```tsx
// SPA Route Navigation Trigger with Fallback
function navigateWithTransition(url: string, navigate: (path: string) => void) {
  if (!document.startViewTransition) {
    navigate(url);
    return;
  }
  document.startViewTransition(() => {
    navigate(url);
  });
}
```

### 4. DOM Entry & Exit Animations (@starting-style)

```css
/* CSS @starting-style allows animating entry from display: none */
.modal {
  display: none;
  opacity: 0;
  transform: scale(0.95);
  transition:
    opacity 0.2s ease,
    transform 0.2s cubic-bezier(0.2, 0.8, 0.4, 1),
    display 0.2s allow-discrete;
}

.modal[open] {
  display: block;
  opacity: 1;
  transform: scale(1);
}

@starting-style {
  .modal[open] {
    opacity: 0;
    transform: scale(0.95);
  }
}
```

---

## Accessibility & Performance Invariants (Global Rules)

1. **The WCAG 2.2 AA Motion Rule:**
   Always respect `prefers-reduced-motion`. Fall back to instant opacity or no-op motion.

```tsx
import { useReducedMotion } from 'motion/react';

function AccessibleComponent() {
  const shouldReduceMotion = useReducedMotion();

  return (
    <motion.div
      animate={{
        x: shouldReduceMotion ? 0 : 100,
        opacity: 1,
      }}
      transition={{ duration: shouldReduceMotion ? 0 : 0.3 }}
    />
  );
}
```

2. **The 120fps GPU Rule:**
   Never animate `width`, `height`, `left`, `top`, `margin`, or `padding`. This triggers layout recalculation algorithms. Use `transform: scale()` or `transform: translate()` instead.

3. **The GSAP Memory Cleanup Rule:**
   Any GSAP ScrollTrigger timeline must use `@gsap/react` `useGSAP` or explicit `tl.kill()` cleanup to avoid memory leaks on SPA route changes.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…