What problem does it solve? Writing animation code often requires repetitive math: mapping scroll progress to values, clamping inputs, snapping to grids, or generating random values. This Skill provides correct usage patterns for the gsap.utils helper API so these transforms are applied properly in tweens, ScrollTrigger callbacks, and event handlers. ## Core Features & Use Cases - Range Math: clamp, mapRange, normalize, and interpolate for converting scroll positions, progress values, and inputs into animation ranges. - Randomization and Snapping: random (including the string form like "random(-100, 100)" in tween vars), snap, shuffle, and distribute for grid-based staggers and stepped values. - Collections and Units: toArray, selector (scoped component queries), pipe, wrap, wrapYoyo, getUnit, unitize, and splitColor for color component animation. - Use Case: When building a scroll-driven animation, use mapRange to convert scroll progress to rotation degrees, snap to align elements to a grid, and gsap.utils.selector to scope selectors inside a React component ref. ## Quick Start Use the gsap-utils skill to map scroll progress from 0-1 to a 0-360 degree rotation and snap the result to 15-degree steps.