baseline-ui
Validates animation durations, enforces typography scale, checks component accessibility, and prevents layout anti-patterns in Tailwind CSS projects. Use when building UI components, reviewing CSS utilities, styling React views, or enforcing design consistency.
About this skill
The `baseline-ui` skill provides an opinionated UI baseline to ensure consistency, accessibility, and best practices in Tailwind CSS projects, specifically designed to prevent 'AI-generated interface slop.' It automatically validates critical UI aspects such as animation durations, typography scales, component accessibility standards, and identifies common layout anti-patterns. When used with a file, the skill outputs specific violations, explains their importance in a concise sentence, and provides concrete, code-level suggestions for fixing each issue. It strictly enforces the use of Tailwind CSS defaults unless custom values are explicitly defined, making it an invaluable tool for maintaining a high-quality and consistent user interface.
Best use case
Building and refining UI components with design system adherence Reviewing CSS utilities and Tailwind class usage for consistency Styling React views to ensure alignment with design guidelines Enforcing design consistency across a project's user interface Auditing existing UI code for accessibility compliance and anti-patterns Automating UI quality checks in development workflows
Validates animation durations, enforces typography scale, checks component accessibility, and prevents layout anti-patterns in Tailwind CSS projects. Use when building UI components, reviewing CSS utilities, styling React views, or enforcing design consistency.
A clear list of UI baseline violations found in the analyzed code. Concise explanations for why each violation matters in terms of design or accessibility. Actionable, code-level suggestions for fixing identified issues. Improved UI quality, consistency, and accessibility across the project. Reduced 'interface slop' and better adherence to design system principles.
Practical example
Example input
/baseline-ui src/components/Button.jsx
Example output
File: src/components/Button.jsx
Violations found:
1. Snippet:
<button className="px-3 py-1 text-base">
Why it matters: Using arbitrary padding or font sizes can lead to inconsistent spacing and typography, breaking the design system's rhythm.
Concrete fix: Replace 'px-3 py-1 text-base' with classes from the Tailwind CSS spacing and typography scales, such as 'px-4 py-2 text-sm' if that aligns with the button component's defined styles.
2. Snippet:
<span className="flex items-center gap-1">
Why it matters: A component without sufficient contrast or semantic structure may fail accessibility checks, making it difficult for users with disabilities.
Concrete fix: Ensure color combinations meet WCAG contrast guidelines and consider adding ARIA attributes or more semantic HTML elements if necessary for accessibility.When to use this skill
- When an AI agent is generating new UI code or modifying existing components in a Tailwind CSS project.
- Before committing UI-related changes to ensure they meet established design and accessibility standards.
- To get concrete feedback on UI code quality, consistency, and potential anti-patterns.
- When maintaining a consistent visual identity and user experience is critical.
When not to use this skill
- For projects that do not utilize Tailwind CSS for their styling.
- When design flexibility and intentional deviation from a strict baseline are desired without validation.
- For backend logic, data processing, or non-UI related tasks.
- If the project's design system heavily overrides Tailwind defaults and this skill's rules are not configurable to match.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/baseline-ui/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How baseline-ui Compares
| Feature / Agent | baseline-ui | Standard Approach |
|---|---|---|
| Platform Support | Claude | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | easy | N/A |
Frequently Asked Questions
What does this skill do?
Validates animation durations, enforces typography scale, checks component accessibility, and prevents layout anti-patterns in Tailwind CSS projects. Use when building UI components, reviewing CSS utilities, styling React views, or enforcing design consistency.
Which AI agents support this skill?
This skill is designed for Claude.
How difficult is it to install?
The installation complexity is rated as easy. You can find the installation instructions above.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
ChatGPT vs Claude for Agent Skills
Compare ChatGPT and Claude for AI agent skills across coding, writing, research, and reusable workflow execution.
SKILL.md Source
# Baseline UI Enforces an opinionated UI baseline to prevent AI-generated interface slop. ## When to Use - You are building or reviewing Tailwind-based UI and want a strict baseline for accessibility, motion, typography, and layout. - The task is to prevent generic or sloppy AI-generated interface decisions before they spread through the codebase. - You need concrete UI constraints to apply to a file review or an ongoing frontend implementation. ## How to use - `/baseline-ui` Apply these constraints to any UI work in this conversation. - `/baseline-ui <file>` Review the file against all constraints below and output: - violations (quote the exact line/snippet) - why it matters (1 short sentence) - a concrete fix (code-level suggestion) ## 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`](https://base-ui.com/react/components) 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
Related Skills
nft-standards
Master ERC-721 and ERC-1155 NFT standards, metadata best practices, and advanced NFT features.
nextjs-app-router-patterns
Comprehensive patterns for Next.js 14+ App Router architecture, Server Components, and modern full-stack React development.
new-rails-project
Create a new Rails project
networkx
NetworkX is a Python package for creating, manipulating, and analyzing complex networks and graphs.
network-engineer
Expert network engineer specializing in modern cloud networking, security architectures, and performance optimization.
nestjs-expert
You are an expert in Nest.js with deep knowledge of enterprise-grade Node.js application architecture, dependency injection patterns, decorators, middleware, guards, interceptors, pipes, testing strategies, database integration, and authentication systems.
nerdzao-elite
Senior Elite Software Engineer (15+) and Senior Product Designer. Full workflow with planning, architecture, TDD, clean code, and pixel-perfect UX validation.
nerdzao-elite-gemini-high
Modo Elite Coder + UX Pixel-Perfect otimizado especificamente para Gemini 3.1 Pro High. Workflow completo com foco em qualidade máxima e eficiência de tokens.
native-data-fetching
Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (useLoaderData).
n8n-workflow-patterns
Proven architectural patterns for building n8n workflows.
n8n-validation-expert
Expert guide for interpreting and fixing n8n validation errors.
n8n-node-configuration
Operation-aware node configuration guidance. Use when configuring nodes, understanding property dependencies, determining required fields, choosing between get_node detail levels, or learning common configuration patterns by node type.