Install in Claude Code
Copygit clone --depth 1 https://github.com/AbsolutelySkilled/AbsolutelySkilled /tmp/absolute-ui && cp -r /tmp/absolute-ui/skills/absolute-ui ~/.claude/skills/absolute-uiThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
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 no
More from this repository