agentleFS
SkillMedevSkillMedev/designer-to-dev-handoff/skills/motion-spec/SKILL.md

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

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    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.

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
  1. Distinctive:

    Never exceed 600ms for UI feedback.

    line 28
  2. Distinctive:

    If using a design system token (e.g.

    line 36
  3. Distinctive:

    When multiple elements animate together:

    line 40
  4. Distinctive:

    Every motion spec must include a reduced-motion variant:

    line 47
  5. Distinctive:

    Default: respect 'prefers-reduced-motion: reduce' by removing decorative motion and collapsing durations to 0ms for essential transitions.

    line 49
  6. Distinctive:

    Every animation carries all five fields - no missing durations, unnamed curves, or absent intent lines.

    line 58
  7. Distinctive:

    Every row has a defined reduced-motion behavior.

    line 61
  8. Distinctive:

    Do not spec durations as adjectives ('quick', 'snappy', 'subtle') - engineers cannot implement adjectives, and each will guess a different …

    line 66
  9. Distinctive:

    Do not use ease-in for entrances or linear easing for anything except continuous motion like spinners - ease-in entrances feel sluggish and …

    line 67
  10. Distinctive:

    Do not spec animation on layout-triggering properties (width, height, top/left) when transform and opacity achieve the same effect - layout …

    line 68
  11. Distinctive:

    Do not stack stagger delays until a routine UI sequence exceeds ~1 second total - orchestration that delays the user's next action stops …

    line 69
  12. Distinctive:

    Do not point engineers at a design-tool prototype as the spec - playback speed and curves differ from the export.

    line 70
  13. Distinctive:

    Do not ship a spec without the reduced-motion variant - retrofitting it later produces inconsistent behavior across components.

    line 71

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

  1. Element: the component or property being animated (e.g. 'modal overlay opacity', 'button background color').
  2. Trigger: the event that starts the animation (e.g. 'user clicks confirm', 'data fetch resolves', 'component mounts').
  3. Duration: in milliseconds. Do not use vague terms like 'fast' or 'subtle'.
  4. 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.
  5. 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.