Baseline UI
When to Use
Use this skill when you need quickly deslop UI code by fixing spacing, hierarchy, typography, and small layout issues. Use when the interface needs a fast cleanup or polish pass.
Enforces an opinionated UI baseline to prevent AI-generated interface slop.
How to use
Stack
- MUST use Tailwind CSS defaults unless custom values already exist or are explicitly requested
- MUST use
motion/react (formerly framer-motion) when JavaScript animation is required
- SHOULD use
tw-animate-css for entrance and micro-animations in Tailwind CSS
- MUST use
cn utility (clsx + tailwind-merge) for class logic
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
Base UI for new primitives if compatible with the stack
- MUST add an
aria-label to icon-only buttons
- NEVER rebuild keyboard or focus behavior by hand unless explicitly requested
Interaction
- MUST use an
AlertDialog for destructive or irreversible actions
- SHOULD use structural skeletons for loading states
- NEVER use
h-screen, use h-dvh
- MUST respect
safe-area-inset for fixed elements
- MUST show errors next to where the action happens
- NEVER block paste in
input or textarea elements
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, color) except for small, local UI (text, icons)
- SHOULD use
ease-out on entrance
- NEVER exceed
200ms for interaction feedback
- MUST pause looping animations when off-screen
- SHOULD respect
prefers-reduced-motion
- NEVER introduce custom easing curves unless explicitly requested
- SHOULD avoid animating large images or full-screen surfaces
Typography
- MUST use
text-balance for headings and text-pretty for body/paragraphs
- MUST use
tabular-nums for data
- SHOULD use
truncate or line-clamp for dense UI
- NEVER modify
letter-spacing (tracking-*) unless explicitly requested
Layout
- MUST use a fixed
z-index scale (no arbitrary z-*)
- SHOULD use
size-* for square elements instead of w-* + h-*
Performance
- NEVER animate large
blur() or backdrop-filter surfaces
- NEVER apply
will-change outside an active animation
- NEVER use
useEffect for anything that can be expressed as render logic
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
Limitations
- Use this skill only when the task clearly matches its upstream source and local project context.
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
Source: sickn33/agentic-awesome-skills → skills/baseline-ui/SKILL.md
Also appears in: sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/baseline-ui/SKILL.md, sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/baseline-ui/SKILL.md
1---2name: baseline-ui3description: Quickly deslop UI code by fixing spacing, hierarchy, typography, and small layout issues. Use when the interface needs a fast cleanup or polish pass.4---5
6
7# Baseline UI
8## When to Use
9
10Use this skill when you need quickly deslop UI code by fixing spacing, hierarchy, typography, and small layout issues. Use when the interface needs a fast cleanup or polish pass.
11
12
13Enforces an opinionated UI baseline to prevent AI-generated interface slop.
14
15## How to use
16
17- `/baseline-ui`
18 Apply these constraints to any UI work in this conversation.
19
20- `/baseline-ui <file>`
21 Review the file against all constraints below and output:
22 - violations (quote the exact line/snippet)
23 - why it matters (1 short sentence)
24 - a concrete fix (code-level suggestion)
25
26## Stack
27
28- MUST use Tailwind CSS defaults unless custom values already exist or are explicitly requested
29- MUST use `motion/react` (formerly `framer-motion`) when JavaScript animation is required
30- SHOULD use `tw-animate-css` for entrance and micro-animations in Tailwind CSS
31- MUST use `cn` utility (`clsx` + `tailwind-merge`) for class logic
32
33## Components
34
35- MUST use accessible component primitives for anything with keyboard or focus behavior (`Base UI`, `React Aria`, `Radix`)
36- MUST use the project’s existing component primitives first
37- NEVER mix primitive systems within the same interaction surface
38- SHOULD prefer [`Base UI`](https://base-ui.com/react/components) for new primitives if compatible with the stack
39- MUST add an `aria-label` to icon-only buttons
40- NEVER rebuild keyboard or focus behavior by hand unless explicitly requested
41
42## Interaction
43
44- MUST use an `AlertDialog` for destructive or irreversible actions
45- SHOULD use structural skeletons for loading states
46- NEVER use `h-screen`, use `h-dvh`
47- MUST respect `safe-area-inset` for fixed elements
48- MUST show errors next to where the action happens
49- NEVER block paste in `input` or `textarea` elements
50
51## Animation
52
53- NEVER add animation unless it is explicitly requested
54- MUST animate only compositor props (`transform`, `opacity`)
55- NEVER animate layout properties (`width`, `height`, `top`, `left`, `margin`, `padding`)
56- SHOULD avoid animating paint properties (`background`, `color`) except for small, local UI (text, icons)
57- SHOULD use `ease-out` on entrance
58- NEVER exceed `200ms` for interaction feedback
59- MUST pause looping animations when off-screen
60- SHOULD respect `prefers-reduced-motion`
61- NEVER introduce custom easing curves unless explicitly requested
62- SHOULD avoid animating large images or full-screen surfaces
63
64## Typography
65
66- MUST use `text-balance` for headings and `text-pretty` for body/paragraphs
67- MUST use `tabular-nums` for data
68- SHOULD use `truncate` or `line-clamp` for dense UI
69- NEVER modify `letter-spacing` (`tracking-*`) unless explicitly requested
70
71## Layout
72
73- MUST use a fixed `z-index` scale (no arbitrary `z-*`)
74- SHOULD use `size-*` for square elements instead of `w-*` + `h-*`
75
76## Performance
77
78- NEVER animate large `blur()` or `backdrop-filter` surfaces
79- NEVER apply `will-change` outside an active animation
80- NEVER use `useEffect` for anything that can be expressed as render logic
81
82## Design
83
84- NEVER use gradients unless explicitly requested
85- NEVER use purple or multicolor gradients
86- NEVER use glow effects as primary affordances
87- SHOULD use Tailwind CSS default shadow scale unless explicitly requested
88- MUST give empty states one clear next action
89- SHOULD limit accent color usage to one per view
90- SHOULD use existing theme or Tailwind CSS color tokens before introducing new ones
91
92## Limitations
93
94- Use this skill only when the task clearly matches its upstream source and local project context.
95- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
96- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
97
98---
99
100**Source:** [`sickn33/agentic-awesome-skills`](https://github.com/sickn33/agentic-awesome-skills) → `skills/baseline-ui/SKILL.md`
101
102**Also appears in:** `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/baseline-ui/SKILL.md`, `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/baseline-ui/SKILL.md`