AIreanimateclaude codeagent skillsanimationweb designopen source
A free Claude Code skill, reanimate, films any website animation and rewrites its code until the frames match
Niaz Morshed's reanimate records an animation in a headless browser, rebuilds it in your own code, then films the copy the same way and compares the two, round after round, until timing and easing line up. It works from a live page, a screen recording, a GIF or a Lottie file.

Its author, Niaz Morshed, starts the README with the problem. Ask an agent to rebuild an animation from a link or a screenshot and “it makes one pass, calls it done, and misses. It can’t see the motion or tell how far off it is.” reanimate gives the agent a camera and a ruler.
You ask in plain words. One example from the README reads “/reanimate the hero entrance on https://example.com, into components/Hero.tsx,” and another points at seconds 3 to 5 of a screen recording in your Downloads folder.
The README’s examples were each cloned by a separate agent running the skill, “most in 30 to 90 minutes.” The Vercel Toolbar copy matched 417 of 417 frames. Vercel’s fluid ocean, 262,144 dots rolling behind a hero, came out with “0 px differ over 12 s, light and dark.” Stripe’s tilting Visa card differs on 0.03% of its pixels at rest, and the tilt settles within 0.4 px of the original. The demo site runs the ones you can hover or drag live in the page.
By default it copies the motion and leaves the look to you, within 80 milliseconds on timing and the same family of easing. Say “match it exactly” and it holds fonts, sizes, colors, spacing and assets too, to no more than 2% mean pixel mismatch. Say “clone X and add Y” and your additions stay separate from the cloned parts.
The skill has one honest gap it keeps a list of. Whatever still doesn’t match after five rounds goes into its report, with the reason. Physics springs, for one, are fitted from their overshoot and settle time, “not read from the source,” so a bouncy button is the place a copy is most likely to land close and stop there.