motion-spec
Skill1 starsChanged 39 days agoMITView on GitHub
Specifies animation and motion precisely - duration, easing curve, trigger, and intent - for accurate engineer implementation. Use when handing off transitions, micro-interactions, or loading states.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Dodai0419/animprooftheir own version, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- Dodai0419/animproof★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- color-accessibilitySkill
- design-handoff-docSkill
- design-qa-checklistSkill
- prototype-specSkill
- redline-annotationSkill
- responsive-specSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 13 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Never exceed 600ms for UI feedback.
- Distinctive: line 36
If using a design system token (e.g.
- Distinctive: line 40
When multiple elements animate together:
- Distinctive: line 47
Every motion spec must include a reduced-motion variant:
- Distinctive: line 49
Default: respect 'prefers-reduced-motion: reduce' by removing decorative motion and collapsing durations to 0ms for essential transitions.
- Distinctive: line 58
Every animation carries all five fields - no missing durations, unnamed curves, or absent intent lines.
- Distinctive: line 61
Every row has a defined reduced-motion behavior.
- Distinctive: line 66
Do not spec durations as adjectives ('quick', 'snappy', 'subtle') - engineers cannot implement adjectives, and each will guess a different …
- Distinctive: line 67
Do not use ease-in for entrances or linear easing for anything except continuous motion like spinners - ease-in entrances feel sluggish and …
- Distinctive: line 68
Do not spec animation on layout-triggering properties (width, height, top/left) when transform and opacity achieve the same effect - layout …
- Distinctive: line 69
Do not stack stagger delays until a routine UI sequence exceeds ~1 second total - orchestration that delays the user's next action stops …
- Distinctive: line 70
Do not point engineers at a design-tool prototype as the spec - playback speed and curves differ from the export.
- Distinctive: line 71
Do not ship a spec without the reduced-motion variant - retrofitting it later produces inconsistent behavior across components.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Motion Spec
Motion that is vaguely specified gets implemented incorrectly or skipped. Every animation needs five pieces of information: what moves, when it triggers, how long it takes, what easing curve it follows, and why it exists. Provide all five.
The Five Required Fields
For every animated element, document:
- Element: the component or property being animated (e.g. 'modal overlay opacity', 'button background color').
- Trigger: the event that starts the animation (e.g. 'user clicks confirm', 'data fetch resolves', 'component mounts').
- Duration: in milliseconds. Do not use vague terms like 'fast' or 'subtle'.
- Easing: the named curve or cubic-bezier values (e.g. 'ease-out', 'cubic-bezier(0.4, 0, 0.2, 1)'). Note if the design tool curve must be converted.
- Intent: one sentence on why the motion exists - it guides engineers when they must adapt the spec to constraints.
Standard Duration Reference
Calibrate against these ranges; deviate only with intent:
- Micro-interactions (button press, toggle, checkbox): 100-200ms.
- Element enter/exit (dropdown, tooltip, popover): 200-300ms.
- Panel or sheet transitions (side drawer, modal): 300-400ms.
- Page-level transitions or complex orchestrations: 400-600ms.
- Never exceed 600ms for UI feedback; reserve longer durations for deliberate narrative motion.
Easing Conventions
- Elements entering the screen: ease-out (starts fast, decelerates into place).
- Elements leaving the screen: ease-in (starts slow, accelerates off).
- Elements repositioning within the screen: ease-in-out.
- Spring or bounce effects: provide the stiffness and damping values, not just 'spring'.
- If using a design system token (e.g. 'motion-ease-standard'), include the resolved cubic-bezier so engineers without design-tool access can verify.
Orchestration and Sequencing
When multiple elements animate together:
- List each element in order with its offset delay (e.g. 'icon fades in at 0ms, label fades in at 60ms').
- State whether elements overlap in time or wait for the previous to complete.
- Describe the 'feel' goal in one phrase (e.g. 'staggered reveal, content appears to cascade down') so engineers catch drift during review.
Reduced Motion
Every motion spec must include a reduced-motion variant:
- State which animations are removed entirely vs. replaced with an instant state change vs. reduced in duration.
- Default: respect 'prefers-reduced-motion: reduce' by removing decorative motion and collapsing durations to 0ms for essential transitions.
- Mark any animation that conveys information (not just decoration) - these must have a non-motion fallback.
Deliverable
Produce a motion spec table with one row per animated element containing all five required fields (element, trigger, duration in ms, easing with resolved curve values, intent), an orchestration timeline with explicit offset delays for any multi-element sequence, and a reduced-motion variant for every row.
Quality bar
- Every animation carries all five fields - no missing durations, unnamed curves, or absent intent lines.
- Easings follow the enter/exit/reposition conventions, or the spec states why they deviate.
- Multi-element sequences list explicit offsets in milliseconds, not "slightly after."
- Every row has a defined reduced-motion behavior.
- An engineer can implement the spec without opening the design file.
Do NOT
- Do not spec durations as adjectives ('quick', 'snappy', 'subtle') - engineers cannot implement adjectives, and each will guess a different number.
- Do not use ease-in for entrances or linear easing for anything except continuous motion like spinners - ease-in entrances feel sluggish and linear UI motion feels mechanical.
- Do not spec animation on layout-triggering properties (width, height, top/left) when transform and opacity achieve the same effect - layout animation drops frames on low-end devices.
- Do not stack stagger delays until a routine UI sequence exceeds ~1 second total - orchestration that delays the user's next action stops feeling polished and starts feeling slow.
- Do not point engineers at a design-tool prototype as the spec - playback speed and curves differ from the export; hand over the actual millisecond and bezier values.
- Do not ship a spec without the reduced-motion variant - retrofitting it later produces inconsistent behavior across components.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

