motion-review

Installation
SKILL.md

Reviewing Motion in a Diff

Default to flagging. Approval is earned, not assumed: motion that runs is not motion that passes, and a transition that merely works while landing from the wrong origin, firing on a keyboard shortcut, or holding the user for 450ms is a regression this diff introduced. Read every motion hunk before judging any line of it, measure each animation against a fixed bar rather than against your mood, and close with one word — Block or Approve. A review that ends in a paragraph of impressions has not been done.

This skill reviews the motion in a diff and nothing else. ui-review owns non-motion UI code; on a mixed diff ui-review runs first and hands its motion hunks here, so never re-report its spacing, type, or contrast findings. Two further boundaries: a whole-codebase sweep that ends in a prioritized fix plan is motion-audit, not this skill, and a rendered screen or screen recording rather than source text is design-critique.

Read the project's own motion vocabulary before writing the first finding. Grep for --ease-, --duration-, the Tailwind theme block, and whichever of motion/framer-motion, React Spring, GSAP, or plain CSS the package manifest actually carries. Review the diff against that system: if the repo defines --ease-drawer, a hand-typed cubic-bezier(0.32, 0.72, 0, 1) in the diff is a finding even though the number is correct, and every fix you propose must be written in the repo's existing tokens. A review that bolts on a parallel easing vocabulary has added the exact debt it was called to prevent.

Quick Reference

Topic Where
Exact curves, durations, spring configs, velocity and stagger numbers standards.md — open it the moment a finding needs a number, before you type one from memory
Documented exemptions and known false positives standards.md — open it before reporting anything that looks like a violation but sits on a modal, a marketing page, or a reduced-motion block

Core Principles

  1. Ask the frequency question before the easing question. A perfectly eased 200ms animation on a command-palette toggle is still a Block, and re-easing it is wasted work: the fix is deletion. The gate is 100+/day → no animation, ever, and any keyboard-initiated action is disqualified regardless of count. Exception: marketing and explanatory surfaces, where a given visitor sees the motion roughly once and the frequency gate does not bind.
Installs
3
Repository
agentsorg/benji
GitHub Stars
1
First Seen
Aug 2, 2026
motion-review — agentsorg/benji