absolute-ui
Included with Lifetime
$97 forever
Use this skill when building user interfaces that need to look polished, modern, and intentional - not like AI-generated slop. Triggers on UI design tasks including component styling, layout decisions, color choices, typography, spacing, responsive design, dark mode, accessibility, animations, landing pages, onboarding flows, data tables, navigation patterns, and any question about making a UI look professional. Covers CSS, Tailwind, and framework-agnostic design principles.
engineeringuiuxdesigncsstailwindaccessibility
What this skill does
When this skill is activated, always start your first response with the ๐งข emoji.
# Absolute UI
A comprehensive design system knowledge base for building UIs that feel crafted
by a senior designer, not generated by a prompt. This skill encodes specific,
opinionated rules - exact spacing values, proven color ratios, real typography
scales, and battle-tested component patterns. Every recommendation is actionable
with concrete CSS/Tailwind values, not vague advice like "make it clean."
The difference between AI slop and a polished UI comes down to constraint and
restraint - fewer colors used with intention, consistent spacing from a scale,
typography that creates hierarchy without screaming, and micro-interactions that
feel responsive without being distracting.
---
## When to use this skill
Trigger this skill when the user:
- Asks to build or style a UI component (button, card, form, table, nav)
- Needs help with layout, spacing, or grid decisions
- Wants to implement dark mode or theme switching
- Asks about typography, font choices, or text styling
- Needs accessible and WCAG-compliant designs
- Wants landing page, onboarding, or conversion-focused layouts
- Asks about animations, transitions, or micro-interactions
- Needs help with responsive design or mobile navigation
- Wants feedback patterns (toasts, tooltips, loading states)
- Asks to make something "look better" or "more professional"
Do NOT trigger this skill for:
- Backend logic, API design, or database schema questions
- Brand identity or logo design (this is implementation, not branding)
---
## Design thinking
Before writing CSS, commit to an aesthetic direction. The #1 cause of generic-looking UIs is starting with code instead of intent.
1. **Start from user intent, not structure** - Don't begin with headers, footers, or layout scaffolding. Ask: "What is the user trying to do?" If they're searching for accommodations, a search bar is the natural starting point. Only expand UI as user intent expands. For many pages, the core is a heading, an input, and a button - that's all you needed.
2. **Choose a tone** - Pick one that fits the context: brutalist, editorial, retro-futuristic, organic, luxury, playful, industrial, art deco, soft/pastel, minimalist-sharp. These are starting points - blend and invent your own. See `references/style-catalog.md` for 25 concrete options.
3. **Define what's memorable** - What's the one visual choice someone will remember? An unusual color, dramatic typography, a bold layout break, atmospheric texture?
4. **Creativity is connecting, not inventing** - Study top-tier existing designs in your domain. Gather 3-5 inspirations, note what you like about each, then combine those elements in your own way. Step away before designing - new ideas emerge when you return.
5. **Vary between projects** - Every design should feel different. If your last 3 outputs used the same fonts, colors, and layout patterns, you're producing slop.
---
## Key principles
1. **Use a spacing scale, never arbitrary values** - Pick a base unit (4px or 8px) and only use multiples: 4, 8, 12, 16, 24, 32, 48, 64, 96. Tailwind's default scale does this. Random padding like `13px` or `27px` is the #1 tell of amateur UI.
2. **Limit your palette to 1 primary + 1 neutral + 1 accent** - More colors = more chaos. Use 5-7 shades of your primary (50-900), a full neutral gray scale, and one accent for destructive/success states. Never more than 3 hues on a single screen.
3. **Create hierarchy through contrast, not decoration** - Size, weight, color, and spacing create hierarchy. You should never need borders, shadows, AND color differences simultaneously. One or two signals per level of hierarchy. Key insight: to emphasize something, often deemphasize competing elements instead of making the target louder.
4. **Every interactive element needs 4 states** - Default, hover, active/pressed, and disabled. If you skip any state, the UI feels broken. Focus states are mandatory for accessibility.
5. **Whitespace is a feature, not wasted space** - Generous padding makes UIs feel premium. Cramped UIs feel cheap. Workflow: start with too much spacing, view the design as a whole, then reduce until it feels right. Users scan the entire UI before focusing on details - space that feels excessive when you're zoomed into one element looks correct at page level.
6. **Consistency within, personality across** - Within a project, use the same border-radius, shadow scale, and transition timing everywhere. But each project should have its own distinct personality - different fonts, colors, and spatial feel. Consistency without character is how AI slop is made.
7. **Use real icons, never emojis** - Unicode emojis (e.g. โ
, โก, ๐ฅ, ๐) render inconsistently across operating systems and browsers, cannot be styled with CSS (no size, color, or stroke control), break visual consistency, and hurt accessibility. Always use a proper icon library - Lucide React (recommended), React Icons, Heroicons, Phosphor, or Font Awesome. Icons from these libraries are SVG-based, styleable, consistent, and accessible.
8. **Backgrounds need atmosphere** - Flat solid-color backgrounds (#fff, #f9fafb) are the default of every AI-generated UI. Use subtle gradient meshes, noise/grain overlays, geometric patterns, or tinted surfaces to create depth. Texture should be felt, not seen - if you notice it consciously, it's too much.
---
## Core concepts
**The 8px grid** - All spacing, sizing, and layout decisions snap to an 8px grid. Component heights: 32px (small), 40px (medium), 48px (large). Padding: 8px, 12px, 16px, 24px. Gaps: 8px, 16px, 24px, 32px. This single rule eliminates 80% of "why does this look wrong" problems.
**Visual weight** - Every element has visual weight determined by size, color darkness, border thickness, and shadow. A page should have one clear heavyweight (the CTA or primary content), with everything else progressively lighter. Squint at your page - if nothing stands out, your hierarchy is flat.
**The 60-30-10 rule** - 60% dominant color (background/neutral), 30% secondary (cards, sections), 10% accent (CTAs, active states). This ratio works for any color scheme and prevents the "everything is colorful" trap.
**Optical alignment** - Mathematical center doesn't always look centered. Text in buttons needs 1-2px more padding on top visually. Icons next to text need optical adjustment. Always trust your eyes over the inspector.
**Progressive disclosure** - Don't show everything at once. Start with the essential action, reveal complexity on demand. This applies to forms (multi-step > one long form), settings (basic > advanced), and navigation (primary > secondary > tertiary).
**Gestalt: similarity and proximity** - The brain processes the whole before the parts. Use consistent shape, size, and color to signal "these belong together" (similarity). Use spacing to group related elements and separate unrelated ones (proximity). If the design isn't scannable within seconds, the gestalt is broken.
**Depth for character** - Use shadows to replace solid borders, subtle gradients to replace flat fills, and cards to elevate bland elements. The closer something feels to the user (higher elevation), the more attention it attracts. One accent gradient or colored shadow can add excitement without complexity.
**Context overrides tags** - Not all H1s should be the same size. An H3 might be larger than an H2 in a different context. HTML tags define semantics; visual hierarchy depends on what the user needs to see first in that specific layout.
---
## Common tasks
### Style a button hierarchy
Every app needs 3 button levels: primary (filled), secondary (outlined), and ghost (text-only). Never use more than one primary button per visual section.
```css
/* Primary - solid fill, high contrast */
.btn-primary {
background: var(--color-primary-600);
color: white;
padding: 10px 20px;
border-radius: 8px;
font-weight: 500;