ui-skills
Original:🇺🇸 English
Not Translated
Opinionated constraints for building better interfaces with agents.
3installs
Sourcevaayne/cc-plugins
Added on
NPX Install
npx skill4agent add vaayne/cc-plugins ui-skillsSKILL.md Content
UI Skills
Opinionated constraints for building better interfaces with agents.
Stack
- MUST use Tailwind CSS defaults (spacing, radius, shadows) before custom values
- MUST use (formerly
motion/react) when JavaScript animation is requiredframer-motion - SHOULD use for entrance and micro-animations in Tailwind CSS
tw-animate-css - MUST use utility (
cn+clsx) for class logictailwind-merge
Components
- MUST use accessible component primitives for anything with keyboard or focus behavior (,
Base UI,React Aria)Radix - MUST use the project’s existing component primitives first
- NEVER mix primitive systems within the same interaction surface
- SHOULD prefer for new primitives if compatible with the stack
Base UI - MUST add an to icon-only buttons
aria-label - NEVER rebuild keyboard or focus behavior by hand unless explicitly requested
Interaction
- MUST use an for destructive or irreversible actions
AlertDialog - SHOULD use structural skeletons for loading states
- NEVER use , use
h-screenh-dvh - MUST respect for fixed elements
safe-area-inset - MUST show errors next to where the action happens
- NEVER block paste in or
inputelementstextarea
Animation
- NEVER add animation unless it is explicitly requested
- MUST animate only compositor props (,
transform)opacity - NEVER animate layout properties (,
width,height,top,left,margin)padding - SHOULD avoid animating paint properties (,
background) except for small, local UI (text, icons)color - SHOULD use on entrance
ease-out - NEVER exceed for interaction feedback
200ms - MUST pause looping animations when off-screen
- MUST respect
prefers-reduced-motion - NEVER introduce custom easing curves unless explicitly requested
- SHOULD avoid animating large images or full-screen surfaces
Typography
- MUST use for headings and
text-balancefor body/paragraphstext-pretty - MUST use for data
tabular-nums - SHOULD use or
truncatefor dense UIline-clamp - NEVER modify (
letter-spacing) unless explicitly requestedtracking-
Layout
- MUST use a fixed scale (no arbitrary
z-index)z-x - SHOULD use for square elements instead of
size-x+w-xh-x
Performance
- NEVER animate large or
blur()surfacesbackdrop-filter - NEVER apply outside an active animation
will-change - NEVER use for anything that can be expressed as render logic
useEffect
Design
- NEVER use gradients unless explicitly requested
- NEVER use purple or multicolor gradients
- NEVER use glow effects as primary affordances
- SHOULD use Tailwind CSS default shadow scale unless explicitly requested
- MUST give empty states one clear next action
- SHOULD limit accent color usage to one per view
- SHOULD use existing theme or Tailwind CSS color tokens before introducing new ones