setup-design-system

Initialize the design system or create new UI components with accessibility, Tailwind/shadcn integration, and documentation. Use when setting up the initial design system, adding component categories, or creating complex UI components that need design review.

16 stars

Best use case

setup-design-system is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Initialize the design system or create new UI components with accessibility, Tailwind/shadcn integration, and documentation. Use when setting up the initial design system, adding component categories, or creating complex UI components that need design review.

Teams using setup-design-system should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/setup-design-system/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/design/setup-design-system/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/setup-design-system/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How setup-design-system Compares

Feature / Agentsetup-design-systemStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Initialize the design system or create new UI components with accessibility, Tailwind/shadcn integration, and documentation. Use when setting up the initial design system, adding component categories, or creating complex UI components that need design review.

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.

SKILL.md Source

# Design System Workflow

Initialize or extend the project's design system with properly accessible, consistent UI components using Tailwind CSS and shadcn/ui.

## Step 0: Verify Feature Branch

Ensure we are on a feature branch based on the latest `main`:

```bash
git fetch origin main
```

If on `main`, create a new feature branch:

```bash
git checkout -b feature/design-system origin/main
```

If already on a feature branch, rebase onto latest `origin/main`:

```bash
git status --porcelain
```

If the working tree is dirty, stash before rebasing:

```bash
git stash push -m "setup-design-system: stash before rebase"
git rebase origin/main
git stash pop
```

If the working tree is clean, rebase directly:

```bash
git rebase origin/main
```

## Step 1: Assess Current State

Check if a design system already exists:

- Look for `packages/ui/` directory structure
- Check for shadcn/ui configuration (`components.json`)
- Check Tailwind configuration (`src/index.css` for `@theme` directives in v4, or `tailwind.config.*` for v3)
- Identify existing components and their patterns
- Check for design tokens (colors, spacing, typography definitions)

Ask the user:

- **Initializing** a new design system or **extending** the existing one?
- If extending: what components or patterns are needed?
- Any brand guidelines, color palette, or Figma designs to reference?
- Dark mode support needed?

## Step 2: Product Council Design Review (for initialization or major changes)

If initializing the design system or making significant structural changes, activate a Product Council subset:

> **Model Selection**: See the [Model Selection](../../README.md#model-selection) section in README.md for mapping agent model specs to Task tool parameters.

### Design Lead (Lead) — consult: ui-design

- **Brand Identity**: Color palette, typography, visual language
- **Component Hierarchy**: Primitives vs composed components
- **Design Tokens**: Token architecture (colors, spacing, typography, shadows)
- **Recommendations**: Design system structure and principles

### Frontend Specialist — consult: frontend-mobile-development

- **Technical Architecture**: Component library structure, build pipeline
- **Framework Integration**: Vite + React 19 compatibility, tree-shaking
- **Recommendations**: Implementation patterns, tooling choices

### Product Strategist

- **User-Facing Priorities**: Which components are needed first?
- **Brand Consistency**: Does this align with product vision?
- **Recommendations**: Prioritization of design system investment

### CHECKPOINT: Present the design system architecture proposal to the user. Wait for approval of structure and token definitions before building.

## Step 3: Design System Infrastructure

### If initializing a new design system:

Invoke `/ui-design:design-system-setup` for initialization guidance.

Set up the foundation:

**Design Tokens**

- Color palette (primary, secondary, neutral, semantic: success/warning/error/info)
- Typography scale (font families, sizes, weights, line heights)
- Spacing scale (consistent spacing values: 0, 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64)
- Border radii (none, sm, md, lg, xl, full)
- Shadows (sm, md, lg, xl)
- Breakpoints (sm, md, lg, xl, 2xl)

**Tailwind Configuration**
Using `/frontend-mobile-development:tailwind-design-system`:

- Extend the Tailwind theme with design tokens
- Configure shadcn/ui with project-specific theme colors
- Set up CSS custom properties for runtime theming
- Configure dark mode strategy (class-based or media-query)

**Component Structure**

```
packages/ui/src/
├── components/
│   ├── primitives/    # Button, Input, Badge, Label, Switch
│   ├── layout/        # Container, Grid, Stack, Spacer, Divider
│   ├── navigation/    # Navbar, Sidebar, Breadcrumb, Tabs
│   ├── feedback/      # Alert, Toast, Modal, Dialog, Skeleton
│   ├── data-display/  # Card, Table, List, Avatar, Tooltip
│   └── forms/         # Form, FormField, Select, Checkbox, Radio
├── tokens/            # Design token definitions
├── hooks/             # Shared UI hooks (useMediaQuery, useTheme)
└── utils/             # UI utilities (cn, cva variants)
```

### If extending an existing design system:

Read the existing patterns and conventions before adding new components. Match the established API patterns.

## Step 4: Build Components

For each component needed, follow this process:

### 4a. Component Design

Invoke `/ui-design:create-component` for guided component creation.

Define the component API:

- **Props interface**: All configurable options with TypeScript types
- **Variants**: Size, color, and style variants (using cva or tailwind-variants)
- **Default values**: Sensible defaults that work out-of-the-box
- **Composition**: How it works with child components

### 4b. Implementation

Build each component with:

- Full TypeScript typing (no `any` types)
- Tailwind CSS styling with shadcn/ui patterns
- `React.forwardRef` for ref forwarding
- `className` prop merged with `cn()` utility for style overrides
- Responsive behavior using Tailwind breakpoints

### 4c. Accessibility

Every component must include:

- Semantic HTML elements (button, nav, dialog, etc.)
- ARIA attributes (aria-label, aria-describedby, role, etc.)
- Keyboard navigation (Tab, Enter, Escape, Arrow keys as appropriate)
- Focus management (visible focus ring, focus trap for modals)
- Screen reader announcements for dynamic content
- Color contrast meeting WCAG AA (4.5:1 for text, 3:1 for large text)
- Touch target minimum size (44x44px for interactive elements)

### 4d. Tests

For each component, write:

- **Render test**: Component renders without errors
- **Props test**: All variants and prop combinations render correctly
- **Interaction test**: Click, hover, keyboard interactions work
- **Accessibility test**: ARIA attributes present, keyboard nav works

### CHECKPOINT: After each component (or batch of related components), present the implementation to the user for visual review. Show the component API, variants, and accessibility features.

## Step 5: Accessibility Audit

After all components are built, run a comprehensive accessibility audit:

Invoke `/ui-design:accessibility-audit` on all new/modified components.

Check for:

- **WCAG 2.1 AA compliance** (minimum standard)
- **Color contrast**: All text meets contrast ratios
- **Keyboard navigation**: Complete keyboard operability
- **Screen reader**: All interactive elements announced correctly
- **Focus management**: Logical focus order, visible focus indicators
- **Motion**: Respect `prefers-reduced-motion` media query
- **Touch targets**: Minimum 44x44px on mobile

### CHECKPOINT: Present accessibility audit findings. User approves the accessibility posture or requests changes.

## Step 6: Design Review

Invoke `/ui-design:design-review` to review the overall design system for:

- **Consistency**: All components follow the same patterns
- **Naming**: Props, variants, and CSS classes follow conventions
- **API patterns**: Consistent prop interfaces across components
- **Visual coherence**: Components look like they belong together
- **Completeness**: Common use cases are covered

Address any findings from the review.

## Step 7: Documentation

Document the design system:

- **Component catalog**: Each component with props table, usage examples, and do/don't patterns
- **Design tokens**: Complete reference of colors, typography, spacing
- **Accessibility guide**: Per-component accessibility notes and testing instructions
- **Getting started**: How to import and use components in the app

## Step 8: Commit

Commit with conventional commit format:

For new design system:

```
feat(ui): initialize design system with core components
```

For new components:

```
feat(ui): add <component-name> component
```

For design token changes:

```
feat(ui): update design tokens for <change-description>
```

## Step 9: Hand Off — STOP Here

> [!CAUTION]
> **This skill's work is done.** Do NOT proceed to create a pull request, push to remote, or run a code review. Those are separate skills with their own workflows and checkpoints.

Present the next step to the user:

- **Recommended**: Run `/review-code` for multi-perspective quality and accessibility review before submitting
- **If building a feature that uses these components**: Continue with `/build-feature` to implement the feature, then run `/review-code`
- **If this is standalone design system work**: Run `/review-code` → `/submit-pr`

> [!TIP]
> **Pipeline**: `/plan-feature` → `/build-feature` or `/build-api` → `/review-code` → `/submit-pr`
>
> **`/setup-design-system`** can be run at any point in the pipeline or independently. You are here — proceed to `/review-code` when ready.

**Do not push the branch, create a PR, or invoke `/submit-pr` from within this skill.**

Related Skills

award-winning-designer

16
from diegosouzapw/awesome-omni-skill

The 'Awwwards Singularity' - Transforms websites into breathtaking digital experiences through cinematic motion, 3D graphics, and avant-garde typography. Eradicates boring, template-based web design.

astro-setup

16
from diegosouzapw/awesome-omni-skill

Astro project initialization and configuration patterns. Use when setting up new Astro projects or configuring Astro features.

architecture-designer

16
from diegosouzapw/awesome-omni-skill

Use when designing new system architecture, reviewing existing designs, or making architectural decisions. Invoke for system design, architecture review, design patterns, ADRs, scalability planning.

architecture-design

16
from diegosouzapw/awesome-omni-skill

Designs comprehensive software solution architectures including system components, technology stacks, integration patterns, scalability strategies, and deployment models. Produces architecture diagrams, technical specifications, and implementation roadmaps. Use when planning new software systems, modernizing legacy applications, designing microservices, evaluating technology choices, creating architecture documentation, or when users mention system design, architecture patterns, scalability planning, or technical architecture decisions.

architecture-design-review

16
from diegosouzapw/awesome-omni-skill

Conducts comprehensive architecture design reviews including system design validation, architecture pattern assessment, quality attributes evaluation, technology stack review, and scalability analysis. Produces detailed review reports with findings, recommendations, and risk assessments. Use when reviewing software architecture designs, validating architecture decisions, assessing system scalability, evaluating technology choices, or when users mention architecture review, design assessment, technical review, or architecture validation.

appconfig-system

16
from diegosouzapw/awesome-omni-skill

Expert guidance for working with the AppConfig runtime configuration system in squareone. Use this skill when implementing configuration loading, working with YAML config files, setting up new pages that need configuration, troubleshooting config hydration issues, or migrating from next/config patterns. Covers server-side loadAppConfig(), client-side useAppConfig(), MDX content loading, Sentry configuration injection, and Kubernetes ConfigMap patterns.

aposd-reviewing-module-design

16
from diegosouzapw/awesome-omni-skill

Evaluate module design using APOSD principles with 40-item checklist. Detect complexity symptoms (change amplification, cognitive load, unknown unknowns), shallow modules, information leakage, pass-through methods, and structural anti-patterns. Produce categorized design review (Critical/Moderate/Observations/Positive). Use when reviewing code, assessing interfaces, during PR review, or evaluating 'is this too complex?' Triggers on: code review, design review, module complexity, interface assessment, PR review, structural analysis.

aposd-maintaining-design-quality

16
from diegosouzapw/awesome-omni-skill

Enforce strategic programming discipline when modifying existing code. Guide through STOP-ASK-DECIDE-VERIFY workflow with urgency tier assessment (trivial/minor/standard/emergency). Include when NOT to refactor (Chesterton's Fence, performance-critical, no tests) and block tactical shortcuts via anti-rationalization tables. Use when fixing bugs, extending features, or tempted to make quick fixes. Triggers on: modify code, fix bug, extend feature, quick fix, tactical change.

aposd-designing-deep-modules

16
from diegosouzapw/awesome-omni-skill

Enforce Design-It-Twice workflow: generate 2-3 radically different approaches, compare them, then implement. Use when designing modules, APIs, or classes before implementation. Triggers on: design, create class, add module, implement feature, new service, API design, before implementing. Produces structured design document with approaches, comparison table, choice rationale, and depth check.

api-design

16
from diegosouzapw/awesome-omni-skill

API tasarımı, GraphQL schema, OpenAPI spec, versioning. ⚠️ Tasarım aşaması için kullan. Uygulama/security için → backend-api.

api-designer

16
from diegosouzapw/awesome-omni-skill

REST and GraphQL API architect for designing robust, scalable APIs. Use when designing new APIs or improving existing ones.

api-design-skill

16
from diegosouzapw/awesome-omni-skill

REST/GraphQL API design patterns - resource naming, HTTP methods, error handling, pagination, versioning. Use when: design API, REST endpoints, GraphQL schema, error responses, pagination, rate limiting, API documentation.