← ClaudeAtlas

motion-craftlisted

Implementation-agnostic motion judgment for product UI. Load when you are adding, reviewing, or tuning animation in any framework - durations, easings, springs, staggers, entrances/exits, gesture handoff, reduced motion - when a spec says "smooth" or "delightful" with no numbers attached, or when you notice animation being judged by feel instead of against a budget. NOT for debugging one animation library's API (use its docs), for static visual decisions (ui-design-craft), or for running a design review end-to-end (design-review-gate).
F-e-u-e-r/opus-pack · ★ 2 · AI & Automation · score 75
Install: claude install-skill F-e-u-e-r/opus-pack
# Motion Craft Every animation must serve **feedback** ("it worked"), **continuity** ("that's where it went"), or **hierarchy** ("look here"). An animation serving none of the three is removed, not tuned. When in doubt: shorter, subtler, or none. ## 1. Duration budgets Numbers first; taste second. Defaults for product UI: | Surface | Budget | |---|---| | Hover / press feedback | 90-160ms | | Tooltip, micro popover | 80-200ms | | Dropdown, select, small panel | 150-250ms | | Accordion, tab switch | 160-240ms | | Card / list item entrance | 180-350ms | | Modal, drawer, sheet | 200-400ms | | Route / page transition | 240-500ms | - **Standard interactions stay under 300ms; nothing in product UI exceeds 500ms.** A 180ms dropdown reads as more responsive than a 400ms one. - **Exit = 65-75% of entrance.** Leaving is confirmation, not an event. The rows above bound ENTRANCES; a rule-derived exit may drop below its row - that is the intent, not a violation. - **Distance scales duration:** 100px is the base; 200px ~1.3x, 400px ~1.6x, full-screen ~1.8-2.0x. Small moves at long durations read as lag. - **Frequency scales duration DOWN.** An action done 100 times a day approaches instant. Hard sub-rule: **never animate keyboard-initiated actions** - they repeat hundreds of times daily and animation makes them feel disconnected from the keystroke. ❌ "the command palette fades in over 250ms - it looks polished in the demo." ✅ keyboard-opened palette appears instantly;