Card resize
animateSize()Order 4821 · shipped
Arriving Friday.
A design toolkit for AI coding agents
The instruments a designer keeps in the case, built for AI agents: a browser that checks the page, a tool that measures a design, an archive of free pictures, a way to choose a direction, and motion. Everything below is real tool output.
npx ux-sting qa http://localhost:3000
01 / 06
Browser QA
Agents usually stop at “it compiles”. ux-sting qa opens the page in a real browser at three widths and writes a short report with the three fixes to make first. The ux-sting-qa skill then fixes them and runs QA again, up to three rounds.

npx ux-sting qa packages/qa/src/__fixtures__/broken.htmlA test page with ten problems planted on purpose. QA finds all ten.
57/100
Failed10 findings

02 / 06
Design extraction
Point it at a live site and it reads what the browser actually rendered: colors, type scale, spacing, radii, shadows, motion and breakpoints. It writes W3C design tokens, and anything it could not measure stays empty instead of being made up. Below is the real output for the Ember demo.
npx ux-sting extract https://your-site.example --darknpx ux-sting theme import ux-sting-extract/tokens.jsonnpx ux-sting dna ux-sting-extract/tokens.jsonUnmeasured: color.muted-foreground.

Tokens map to UX-STING’s semantic roles in OKLCH. Pairs that would fail WCAG AA are corrected, and each correction is reported:
On Ember every measured pair already met AA, so nothing was changed.
6 roles came straight from tokens; 9 were derived from them.
A feature vector (scheme, lightness, hue, chroma, radius, type, spacing, motion) is compared with every built-in theme, using only the features that were measured. Lower is closer; here the top three are nearly tied, so Ember is its own design.
03 / 06
Open images
Stock photos and fake screenshots are what make a page look generated. This searches The Met, Wikimedia Commons and Openverse, keeps only public domain, CC0, CC BY and CC BY-SA, downloads what you pick and writes a credits file. All three images on this page came from it.
npx ux-sting images "drawing instruments" --source met --download 1From credits.json, rendered as-is. CC BY and BY-SA images carry the attribution they require; CC0 credits are a courtesy.
04 / 06
Art direction
The ux-sting-taste skill makes the agent work like an art director. This page went through it: the concept is “UX-STING as a draughtsman’s instrument case, because every tool measures before it draws”. That chose the editorial theme, the hairline index and the museum drawings.
QA runs anti-slop checks next to accessibility. On the generic test page it named:
Taste findings never fail a run on their own; they go to the person as judgment, not measurement.
05 / 06
Motion
Eight transitions in plain CSS on UX-STING tokens, with tiny helpers. You have already used three: the QA tabs slide their indicator, the score pops, and sorting the findings reorders them with the View Transitions API. The GSAP layer drives the split headline at the top, the scrubbed pipeline above and the filter below. Turn on “reduce motion” in your system settings and all of it holds still.
animateSize()Order 4821 · shipped
Arriving Friday.
notification-stack.cssaccordion.cssNo. Native details opens to its natural height with ::details-content.
It opens at once.
toast.cssPopover API, top layer, exits faster than it enters.
skeleton.cssPlanted-bugs report
Score 57/100, ten findings. Top fix: give the image alternative text.
useFlipLayout()Each transition also has a plain HTML page with no framework and an LTR/RTL switch.
06 / 06
Animated icons · shipped in 0.8.0
currentColor, and prefers-reduced-motion plays nothing. It is pure CSS: no animation engine, no client JavaScript.import "@ux-sting/icons/animated.css";
import { AnimatedBellIcon, ICON_ANCHOR_CLASS } from "@ux-sting/icons/animated";
<button className={ICON_ANCHOR_CLASS}>
<AnimatedBellIcon /> Notifications
</button>All demos
Each demo is a static Next.js export built from UX-STING components and its own theme made with createTheme. Run any of the commands above against them.