Back to UI/UX Design

Svelte UI Design System

sveltetailwindui-designbits-uiskeleton-labs
β˜… 5 (85)πŸ“„ MITπŸ•’ 2025-11-18Source β†—

Install this skill

npx skills add XIYO/zheon

Works across Claude Code, Cursor, Codex, Copilot & Antigravity

What this skill does

  • β€’Strict color pairing management using 1000-sum shade logic
  • β€’Integration of 42 Bits UI headless components for complex interactions
  • β€’Pre-built Skeleton Labs design tokens for consistent themes
  • β€’Efficient class composition patterns for Svelte 5 dynamic styling
  • β€’Standardized presets for fills, tonals, and outlined elements

When to use it

  • βœ“Building new Svelte 5 components requiring consistent styling
  • βœ“Implementing complex overlays like dialogs, popovers, or menus
  • βœ“Creating accessible forms with custom input and selection logic
  • βœ“Establishing a unified visual theme across multiple sub-pages

When not to use it

  • βœ•Projects not using Tailwind CSS 4 or Svelte 5
  • βœ•Prototypes requiring highly bespoke, non-standard visual identities that break system token rules

How to invoke it

Example prompts that trigger this skill:

  • β€œDesign a new modal dialog using Bits UI and Skeleton styling”
  • β€œApply the tonal preset to these cards in my Svelte component”
  • β€œCreate a form layout that matches the primary theme colors”
  • β€œFix my Tailwind classes to follow the 1000-sum color pairing rule”
  • β€œStyle this navigation menu with Bits UI and surface-50-950 tokens”

Example workflow

  1. Identify the required headless functionality via Bits UI
  2. Apply Skeleton Labs presets to define the base theme look
  3. Compose class names using the 1000-sum color pairing logic
  4. Use Svelte 5 class directives for dynamic state-based styling
  5. Validate the component against WCAG accessibility requirements

Prerequisites

  • –Svelte 5
  • –Tailwind CSS 4
  • –Skeleton Labs installed
  • –Bits UI package

Pitfalls & limitations

  • !Violating the 1000-sum rule for color shade pairings
  • !Manually defining color shades instead of using documented system presets
  • !Using non-headless components that conflict with the established UI system

FAQ

Why is the 1000-sum rule important for colors?
It ensures color contrast and visual balance between background and text/element shades, maintaining consistency across light and dark modes.
Can I use standard Tailwind CSS classes alongside Skeleton presets?
Yes, standard Tailwind utilities are encouraged for layout and spacing, provided they respect the design system's tokenized theme.
Which headless library should I use for interactive elements?
Always use Bits UI components to ensure full accessibility and logical control over component states.

How it compares

Unlike manual CSS styling or standard utility-first approaches, this skill enforces a strict design token architecture, preventing visual drift and ensuring accessible, high-performance UI at scale.

Source & trust

πŸ“„ MITπŸ•’ Updated 2025-11-18πŸ›‘ no risky patterns found

From the source: β€œ# Svelte UI Design System Svelte 5 + Tailwind CSS 4 + Skeleton Labs + Bits UI 톡합 λ””μžμΈ μ‹œμŠ€ν…œ ## When to Use This Skill **μžλ™ ν™œμ„±ν™”:** - ANY Svelte component creation or modification - ALL styling, design, and UI work in Svelte projects - Component props, layouts, colors, spacing, typography - Forms, button…”

View the full SKILL.md source

# Svelte UI Design System

Svelte 5 + Tailwind CSS 4 + Skeleton Labs + Bits UI 톡합 λ””μžμΈ μ‹œμŠ€ν…œ

## When to Use This Skill

**μžλ™ ν™œμ„±ν™”:**
- ANY Svelte component creation or modification
- ALL styling, design, and UI work in Svelte projects
- Component props, layouts, colors, spacing, typography
- Forms, buttons, cards, chips, badges, tables, dialogs, overlays
- Animations, transitions, hover effects, responsive design
- Dark mode, themes, conditional styling, dynamic values

## Core Principles

1. **μ»΄ν¬λ„ŒνŠΈ**: Bits UI headless μ»΄ν¬λ„ŒνŠΈλ§Œ μ‚¬μš©
2. **μŠ€νƒ€μΌλ§**:
   - Skeleton Labs 토큰/프리셋 (preset-filled, preset-tonal λ“±)
   - Skeleton Labs Tailwind Components (card, chip, badge, placeholder λ“± - 클래슀 μ‘°ν•©)
   - Tailwind CSS μœ ν‹Έλ¦¬ν‹°
3. **Skeleton 색상/프리셋**: λ°˜λ“œμ‹œ 곡식 λ¬Έμ„œ μ°Έκ³ , 직접 shade μ‘°ν•© λ§Œλ“€μ§€ 말 것
4. **Progressive disclosure**: ν•„μš”ν•œ λ¬Έμ„œλ§Œ μ°Έμ‘°
5. **1-level deep μ°Έμ‘°**: SKILL.md β†’ reference 파일만

## Available References

### Get Started
- [introduction.md](reference/introduction.md) - Skeleton κ°œμš”
- [installation.md](reference/installation.md) - ν”„λ ˆμž„μ›Œν¬λ³„ μ„€μΉ˜
- [fundamentals.md](reference/fundamentals.md) - 핡심 κ°œλ…
- [core-api.md](reference/core-api.md) - @base, @theme, @utility, @variant

### Design System
- [colors-design.md](reference/colors-design.md) - **색상 νŒ”λ ˆνŠΈ 및 Color Pairings** (ν•„μˆ˜ μ°Έκ³ )
- [presets-design.md](reference/presets-design.md) - **프리셋 μ‹œμŠ€ν…œ** (ν•„μˆ˜ μ°Έκ³ )
- [themes.md](reference/themes.md) - ν…Œλ§ˆ μ‹œμŠ€ν…œ
- [typography-design.md](reference/typography-design.md) - νƒ€μ΄ν¬κ·Έλž˜ν”Ό
- [spacing-design.md](reference/spacing-design.md) - 간격 μ‹œμŠ€ν…œ
- [iconography.md](reference/iconography.md) - μ•„μ΄μ½˜

### Tailwind CSS 4
- [tailwind-utilities.md](reference/tailwind-utilities.md) - Tailwind CSS 4 μœ ν‹Έλ¦¬ν‹°
- [tailwind-colors.md](reference/tailwind-colors.md) - OKLCH 색상
- [tailwind-theme.md](reference/tailwind-theme.md) - CSS @theme μ„€μ •
- [tailwind-variants.md](reference/tailwind-variants.md) - μƒνƒœ variant

### Svelte 5
- [svelte-class-syntax.md](reference/svelte-class-syntax.md) - 클래슀 μ‘°ν•©

### Tailwind Components (Skeleton Labs 클래슀 μ‘°ν•©)
클래슀둜 λ””μžμΈμ„ 뭉쳐놓은 κΈ°λ³Έ μš”μ†Œ. card, chip, badge, placeholder λ“±.
- [badges.md](reference/badges.md), [buttons.md](reference/buttons.md), [cards.md](reference/cards.md), [chips.md](reference/chips.md)
- [dividers.md](reference/dividers.md), [forms.md](reference/forms.md), [placeholders.md](reference/placeholders.md), [tables.md](reference/tables.md)

### Bits UI - Headless Components
- [bits-ui-complete.md](reference/bits-ui-complete.md) - **Bits UI 42개 headless μ»΄ν¬λ„ŒνŠΈ μ™„μ „ λ¬Έμ„œ**

### Guides
- [dark-mode.md](reference/dark-mode.md) - 닀크 λͺ¨λ“œ
- [layouts.md](reference/layouts.md) - λ ˆμ΄μ•„μ›ƒ
- [cookbook.md](reference/cookbook.md) - λ ˆμ‹œν”Ό

### Migration
- [migrate-v2-to-v3.md](reference/migrate-v2-to-v3.md) - v2 β†’ v3
- [migrate-v3-to-v4.md](reference/migrate-v3-to-v4.md) - v3 β†’ v4

## Bits UI - Headless Components (42개)

μ™„μ „νžˆ μ»€μŠ€ν„°λ§ˆμ΄μ§• κ°€λŠ₯ν•œ unstyled μ»΄ν¬λ„ŒνŠΈ. Skeleton Labs 토큰/ν”„λ¦¬μ…‹μœΌλ‘œ μŠ€νƒ€μΌλ§.

**μ£Όμš” μΉ΄ν…Œκ³ λ¦¬:**
- Layout: Accordion, Collapsible, Tabs, Separator
- Overlays: Dialog, Popover, Tooltip, Context Menu, Drawer
- Forms: Checkbox, Radio Group, Switch, Slider, Select, Combobox
- Date/Time: Calendar, Date Picker, Date Range Picker, Time Field
- Navigation: Dropdown Menu, Menubar, Navigation Menu, Pagination
- Display: Avatar, Progress, Meter, Badge
- Interactive: Button, Toggle, Link Preview

## Quick Reference

### Skeleton Labs μ€‘μš” κ·œμΉ™

**Color Pairings** (λ°˜λ“œμ‹œ [colors-design.md](reference/colors-design.md) μ°Έκ³ ):
- νŒ¨ν„΄: `{property}-{color}-{lightShade}-{darkShade}`
- ν—ˆμš© μ‘°ν•©: 50-950, 100-900, 200-800, 300-700, 400-600, **500**, 600-400, 700-300, 800-200, 900-100, 950-50
- κ·œμΉ™: **두 shade의 합이 1000** λ˜λŠ” **500 단독**
- 예: `bg-surface-50-950`, `text-primary-200-800`

**Presets** (λ°˜λ“œμ‹œ [presets-design.md](reference/presets-design.md) μ°Έκ³ ):
- Filled: `preset-filled-{color}-{lightShade}-{darkShade}` λ˜λŠ” `preset-filled-{color}-500`
- Tonal: `preset-tonal-{color}`
- Outlined: `preset-outlined-{color}-{lightShade}-{darkShade}`

### Svelte 5 Class Composition

```svelte
<!-- Array form -->
<div class={['base', condition && 'extra']}>

<!-- Object form -->
<div class={{ 'active': isActive, 'disabled': !enabled }}>

<!-- Style directive for dynamic values -->
<div
  class="bg-(--brand-color)"
  style:--brand-color={dynamicValue}>
```

### Usage Pattern

```svelte
<script lang="ts">
  import { Dialog } from "bits-ui";
</script>

<Dialog.Root>
  <Dialog.Trigger class="btn preset-filled-primary-500">
    Open
  </Dialog.Trigger>
  <Dialog.Content class={[
    'card preset-filled-surface-50-950',
    'p-8 rounded-xl shadow-xl'
  ]}>
    <Dialog.Title class="h3 text-primary-600-400">
      Title
    </Dialog.Title>
  </Dialog.Content>
</Dialog.Root>
```

## Best Practices

1. **μ»΄ν¬λ„ŒνŠΈ**: Bits UI headless μ»΄ν¬λ„ŒνŠΈλ§Œ μ‚¬μš©
2. **μŠ€νƒ€μΌλ§**: Skeleton Labs 토큰/프리셋 + Tailwind Components (card, chip, badge λ“±) + Tailwind μœ ν‹Έλ¦¬ν‹°
3. **Skeleton 색상/프리셋**: λ°˜λ“œμ‹œ 곡식 λ¬Έμ„œ([colors-design.md](reference/colors-design.md), [presets-design.md](reference/presets-design.md))μ—μ„œ 확인
4. **Class μ‘°ν•© μˆœμ„œ**: Tailwind Components β†’ 프리셋 β†’ λ ˆμ΄μ•„μ›ƒ β†’ 간격 β†’ 쑰건뢀 β†’ variant
5. **μ ‘κ·Όμ„±**: WCAG λŒ€λΉ„ λΉ„μœ¨, focus-visible μƒνƒœ
6. **μ„±λŠ₯**: Svelte class λ°°μ—΄/객체 μ‚¬μš©, Skeleton 프리셋 ν™œμš©
7. **일관성**: λ™μΌν•œ μš©μ–΄ μ‚¬μš©, 3인칭 μž‘μ„±

Quoted from XIYO/zheon for reference β€” see the original for the authoritative, latest version.

πŸ“„ Full skill instructions β€” original source: XIYO/zheon
The Svelte UI Design System streamlines component development by combining Svelte 5, Tailwind CSS 4, Skeleton Labs, and Bits UI. It enforces a strict, consistent visual language across projects by providing standardized color pairings, preset design tokens, and headless component structures. By strictly adhering to the 1000-sum shade rule for color pairings and utilizing pre-built Tailwind classes for common elements like cards, badges, and chips, it eliminates the need for arbitrary styling decisions. This framework empowers developers to maintain high accessibility standards while rapidly building interactive forms, complex overlays, and responsive layouts. It bridges the gap between raw Tailwind utilities and a cohesive design language, ensuring your Svelte application remains modular, themed, and professional without the overhead of manual CSS tuning or fragmented class naming.
By XIYO

How to Use This Skill Unit

Option A: Project-Specific (Recommended)

  1. Click "Download" above
  2. In your project, create the directory: .agent/skills/svelte-ui-design/
  3. Save the file as SKILL.md
  4. The agent will automatically discover the skill based on its description.

Option B: Global Installation (All Agents)

Save the file to these locations to make it available across all projects:

  • Claude Code: ~/.claude/skills/XIYO/zheon/svelte-ui-design/SKILL.md
  • Cursor: ~/.cursor/skills/XIYO/zheon/svelte-ui-design/SKILL.md
  • Antigravity: ~/.gemini/antigravity/skills/XIYO/zheon/svelte-ui-design/SKILL.md

πŸš€ Install with CLI:
npx skills add XIYO/zheon

Read the Master Guide: Mastering Agent Skills β†’

Recommended Rules

View more rules β†’

Recommended Workflows

View more workflows β†’

Recommended MCP Servers

View more MCP servers β†’

Take It Further

Maximize your productivity with these powerful resources

πŸ“‹

Define Your Standards

Set up coding standards to ensure this workflow produces consistent, high-quality results.

Browse Rules Library
πŸ“–

Master Workflows

Learn how to create custom workflows, use Turbo Mode, and build your automation library.

Complete Guide

How to use this Skill in Claude Code & Cursor

For Claude Code (CLI)

To use this skill in Claude Code, copy the rule content into your project's custom instructions or follow our Add-Skill CLI guide. This ensures Claude follows your standards during every code generation.

For Cursor & Windsurf

For Cursor or Windsurf, individual skills are best used in the "Rules for AI" section. This specific unit helps the agent avoid ui/ux design issues, leading to cleaner, more efficient code.

Why the skill format matters: the standardized Agent Skills format lets your AI agent load detailed instructions only when they are relevant, keeping your prompt clean while improving results.

Source & attribution

This skill is categorized under UI/UX Design and is published by XIYO, maintained in XIYO/zheon.

← Browse All Agent Skills
Sponsored AI assistant. Recommendations may be paid.