Transitions.dev is an interactive collection of reusable CSS transitions. Each card on the index page demonstrates a different interaction pattern and ships a copy-ready, portable CSS snippet for each. Live site:
$ npx -y skills add jakubantalik/transitions.dev --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
What's inside
Transitions.dev is an interactive collection of reusable CSS transitions. Each card on the index page demonstrates a different interaction pattern and ships a copy-ready, portable CSS snippet for each.
Live site: https://transitions.dev/
| # | Name | What it shows |
|---|---|---|
| 1 | Card resize | Smooth card resize transition. |
| 2 | Number pop-in | Digit flip with blur and stagger. |
| 3 | Notification badge | Diagonal slide with spring pop-in. |
| 4 | Text states swap | Text swap transition with blur. |
| 5 | Menu dropdown | Origin-aware open / close transition. |
| 6 | Modal open / close | Modal transition with scale. |
| 7 | Panel reveal | Panel open / close transition. |
| 8 | Page side-by-side | Forward / back page transition. |
| 9 | Icon swap | Scale and blur icon swap. |
| 10 | Success check | Confirmation icon with fade, rotate, blur, Y-bob, and SVG path draw. |
| 11 | Avatar group hover | Hovered avatar springs up while neighbours follow with a falloff. |
| 12 | Error state shake | Input shake on validation error with auto-revert to neutral. |
Each card has a copy button that emits a self-contained CSS snippet: semantic CSS custom properties on :root, the transition rules namespaced under t-* classes, and a @media (prefers-reduced-motion: reduce) guard โ so you can paste the snippet into any project and apply it to any component without pulling in demo-specific markup or sizing.
Pull any transition into your project from the terminal โ no manual copy:
npx transitions-pro add card-resize # free โ no account needed
npx transitions-pro list # see everything available
Pro transitions unlock after a passwordless browser sign-in (device flow โ no API key in your terminal):
npx transitions-pro login # opens the browser to confirm a code
npx transitions-pro add confetti-burst # pulls the Pro CSS + React
CLI source: cli/ (published as the public transitions-pro package โ it holds no premium source; Pro recipes are fetched from the authenticated API).
The same transitions are packaged as an installable agent skill so AI coding tools (Cursor, Claude Code, Codex, โฆ) can apply them directly inside your project.
npx skills add Jakubantalik/transitions.dev
Skill source lives in skills/transitions-dev/ โ SKILL.md, eighteen per-transition reference files (01-card-resize.md โฆ 18-texts-reveal.md), and _root.css (the universal install block on its own).
The skill is generated from index.html so the snippets always match what the showcase site demonstrates. Re-run after editing the source site:
npm run build
build/extract.mjs parses PROTO_TEMPLATES and the :root { --pX-* } block out of index.html, then re-renders every file under skills/transitions-dev/ from the templates in build/templates/.
Refine is a live, agent-driven companion to the skill. One command drops a timeline + Refine panel onto your running app โ no npm install, no source edits of your own โ and every "Refine" click asks your coding agent to align the selected CSS/Motion transition to the transitions.dev motion tokens (or replace it with a transition from the library). Suggestions appear in a panel that slides in from the right; you pick which to apply as live, reversible overrides.
# inject the panel + start the local relay (deterministic suggestions work immediately)
npx transitions-refine live
# same, but also installs/wires the Cursor CLI so the relay answers with the LLM, persistently
npx transitions-refine live --llm
# remove the injected <script> tag again
npx transitions-refine stop
Without --llm, you can instead run /refine live in your editor to back the panel with the in-IDE agent. Source lives in refine/ and ships as the public npm package transitions-refine. See refine/README.md for the full flow and env knobs.
index.html โ main showcase page with all eighteen transitions and per-card "copy CSS" buttons.prototypes.html โ interactive playground for each transition with live tuning controls (durations, distances, easings).skill.html โ landing page for the agent skill (install instructions + side-by-side compare embed).example.html โ modal demo with a side-by-side "generic AI output" vs "with Transitions.dev skill" toggle, embedded inside skill.html as an iframe.skills/transitions-dev/ โ published skill payload (consumed by npx skills add).refine/ โ the Refine tool: a CLI that injects a live timeline + Refine panel and runs a local relay (published to npm as transitions-refine).build/extract.mjs + build/templates/ โ regenerator that keeps the skill in lockstep with index.html.assets/ โ icons, favicons, and the social-share OG image.site.webmanifest, robots.txt, sitemap.xml โ PWA/SEO metadata.python3 -m http.server 8765
Then open http://127.0.0.1:8765/.
.githooks/
pre-commit
.github/
workflows/
publish-cli.yml
publish-refine.yml
.gitignore
account.html
activate.html
assets/
avatars/
avatar-1.webp
avatar-2.webp
avatar-3.webp
avatar-4.webp
avatar-5.webp
avatar-6.webp
bell-01.svg
favicon-dark.png
favicon-darkmode.png
favicon-light-mode.png
favicon-light.png
favicon-light@2x.png
fonts/
Saans-Medium.woff
Saans-Medium.woff2
icon light 2x.png
icon-dark-2x.png
icon-x.svg
og-image-skill.jpg
og-image.jpg
og-main.jpg
og-pro.jpg
pro-client.js
proto-images/
photo-1773236759289-251d9687b6e3.avif
Screenshot 2026-05-17 at 19.52.25.png
Screenshot 2026-05-17 at 19.52.55.png
Screenshot 2026-05-17 at 19.53.15.png
Screenshot 2026-05-17 at 19.58.27.png
Screenshot 2026-05-17 at 19.59.07.png
Screenshot 2026-05-17 at 20.01.38.png
Untitled.jpg
Untitled2.jpg
Untitled4.jpg
refine-logo-cube.svg
refine-web-dark.mp4
refine-web.mp4
theme-moon-01.svg
theme-sun.svg
build/
extract.mjs
snippets/
p13-clear.js
templates/
reference.md.tmpl
skill.md.tmpl
cli/
bin/
transitions-pro.mjs
free/
free-manifest.json
accordion.md
avatar-group-hover.md
card-resize.md
card-tilt.md
checkbox-check.md
error-state-shake.md
icon-swap.md
input-clear-dissolve.md
learn-more-hover.md
like-button.md
menu-dropdown.md
modal.md
notification-badge.md
number-pop-in.md
page-side-by-side.md
panel-reveal.md
plus-menu-morph.md
shimmer-text.md
skeleton-reveal.md
spinning-counter.md
success-check.md
tabs-sliding.md
text-states-swap.md
texts-reveal.md
toast.md
toggle.md
tooltip.md
package.json
README.md
CNAME
demo2.html
detail.html
example-dropdown.html
example.html
index.html
package.json
privacy.html
pro.html
prototypes.html
README.md
refine/
refine-example.html
refine.html
.agents/
skills/
refine-live/
SKILL.md
.gitignore
bin/
cli.mjs
demo.html
package.json
README.md
scripts/
build-website-demo.mjs
sync-skill.mjs
server/
agent-resolve.mjs
group-deterministic.mjs
inject.mjs
live-refine-loop.mjs
motion-tokens.mjs
refine-agent.mjs
relay.mjs
robots.txt
site.webmanifest
sitemap.xml
skill-refine.html
skill.html
skills/
transitions-dev/
_root.css
01-card-resize.md
02-number-pop-in.md
03-notification-badge.md
04-text-states-swap.md
05-menu-dropdown.md
06-modal.md
07-panel-reveal.md
08-page-side-by-side.md
09-icon-swap.md
10-success-check.md
11-avatar-group-hover.md
12-error-state-shake.md
13-input-clear-dissolve.md
14-skeleton-reveal.md
15-shimmer-text.md
16-tabs-sliding.md
17-tooltip.md
18-texts-reveal.md
19-card-tilt.md
20-plus-menu-morph.md
21-accordion.md
22-toast.md
23-like-button.md
24-learn-more-hover.md
25-checkbox-check.md
26-spinning-counter.md
27-toggle.md
SKILL.md
transitions-polish/
_refine-rules.md
_root.css
SKILL.md
success.html
terms.html
website-demo.htmlFAQ
transitionsdev is a Claude Code plugin with 2 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes transitions-dev, transitions-polish. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.