Agent Skillsstagewise-io/stagewise › stage-ui-design-system

stage-ui-design-system

GitHub

提供 Stage UI 设计系统的使用指南,涵盖基于 OKLCH 的颜色体系、Tailwind CSS 4 主题令牌及组件导入方式。用于指导在浏览器应用中创建、编辑或审查 UI 界面时的样式实现与规范遵循。

.agents/skills/stage-ui-design-system/SKILL.md stagewise-io/stagewise

Trigger Scenarios

创建新的 UI 界面或组件 修改现有界面的样式和颜色 审查前端代码中的 UI 实现是否符合设计规范 查找可用的设计令牌或组件用法

Install

npx skills add stagewise-io/stagewise --skill stage-ui-design-system -g -y
More Options

Non-standard path

npx skills add https://github.com/stagewise-io/stagewise/tree/main/.agents/skills/stage-ui-design-system -g -y

Use without installing

npx skills use stagewise-io/stagewise@stage-ui-design-system

指定 Agent (Claude Code)

npx skills add stagewise-io/stagewise --skill stage-ui-design-system -a claude-code -g -y

安装 repo 全部 skill

npx skills add stagewise-io/stagewise --all -g -y

预览 repo 内 skill

npx skills add stagewise-io/stagewise --list

SKILL.md

Frontmatter
{
    "name": "stage-ui-design-system",
    "description": "Stagewise UI theming, design tokens, derived utilities, and component library reference. Use when creating, editing, or reviewing UI in apps\/browser, implementing new screens or components, or styling with Tailwind in the stagewise codebase."
}

Stage UI Design System

All UI in apps/browser/ is built on @stagewise/stage-ui — a shared design system using OKLCH colors, Tailwind CSS 4, and Base UI (React) primitives.

Importing Styles & Components

Styles — import the CSS entry point (already done in the browser app):

@import "../../../../../packages/stage-ui/src/styles/index.css";

Components — import via package alias:

import { Button } from '@stagewise/stage-ui/components/button';
import { Tooltip, TooltipTrigger, TooltipContent } from '@stagewise/stage-ui/components/tooltip';

Utility functioncn() merges Tailwind classes (clsx + twMerge):

import { cn } from '@stagewise/stage-ui/lib/utils';

Color System (OKLCH)

All colors use OKLCH with a shared hue --H: 265 (purple). The palette is defined in palette.css.

Base colors (--color-base-50 to --color-base-950): Low-chroma, nearly grayscale but subtly tinted. Used for 95%+ of the app.

Primary colors (--color-primary-50 to --color-primary-950): High-chroma, saturated. Used for CTAs, links, active states.

Semantic colors: success (green), error (red), warning (yellow), info (blue) — each has -background, -foreground, -solid variants that auto-switch with light/dark.

Theme Tokens

Defined in theme.css, tokens auto-switch between light and dark mode via prefers-color-scheme.

Backgrounds

Tailwind class Token Usage
bg-app-background --color-app-background Outermost app chrome
bg-background --color-background Main content areas, cards, panels
bg-surface-1 --color-surface-1 First elevation above background
bg-surface-2 --color-surface-2 Second elevation (nested elements)
bg-surface-3 --color-surface-3 Third elevation (deeply nested)
bg-surface-tinted --color-surface-tinted Primary-tinted highlight surface
bg-overlay --color-overlay Modal/dialog backdrops (use with opacity)

Text

Tailwind class Usage
text-foreground Primary readable text
text-muted-foreground Secondary/less important text
text-subtle-foreground Hints, placeholders, disabled text
text-primary-foreground Accent text (links, highlights)
text-solid-foreground Text on solid/primary backgrounds

Borders

Tailwind class Usage
border-border Regular borders
border-border-subtle Subtle/lighter borders

Primary

Tailwind class Usage
bg-primary-solid Solid primary fill (buttons, badges)

Semantic

Pattern: (bg|text)-{success|error|warning|info}-{background|foreground|solid}

Elevation & Shadows

Light mode: Use bg-background for cards. Depth comes from shadows. Dark mode: Use escalating surfaces based on nesting depth:

  • Element on bg-background → use bg-surface-1
  • Element on bg-surface-1 → use bg-surface-2
  • Element on bg-surface-2 → use bg-surface-3

Shadow utilities (defined in shadows.css):

  • shadow-elevation-1 — subtle card shadow
  • shadow-elevation-2 — prominent popup/modal shadow

Derived Utilities

These auto-derive border/hover/active colors from an element's background. Requires the element to have a bg-* class set.

Borders (derived from background)

  • border-derived-subtle — light border
  • border-derived — regular border
  • border-derived-strong — strong border
  • border-derived-lighter-subtle / border-derived-lighter — explicitly lighter

Same pattern for rings: ring-derived-subtle, ring-derived, ring-derived-strong

Hover & Active States

  • hover:bg-hover-derived — hover background
  • active:bg-active-derived — active/pressed background
  • hover:text-hover-derived — hover text
  • active:text-active-derived — active text

Explicit Lighten/Darken (ignores dark/light mode)

  • bg-derived-lighter / bg-derived-lighter-subtle
  • bg-derived-darker / bg-derived-darker-subtle
  • text-derived-lighter / text-derived-lighter-subtle

Animations

Defined in animations.css. Use as Tailwind classes:

Class Effect
animate-progress-bar-indicator Repeating slide for progress bars
animate-skeleton-shimmer Loading shimmer for skeletons
animate-caret-blink Blinking caret for inputs
animate-icon-pulse Stroke-width pulse for icons
animate-pulse-full Full opacity pulse (0→1→0)
animate-text-pulse Muted↔foreground text pulse
animate-text-pulse-warning Foreground↔warning text pulse
shimmer-text Shimmering gradient text effect
shimmer-text-primary Primary-colored shimmer preset
shimmer-text-once One-shot shimmer that settles

Shimmer config: shimmer-duration-{ms}, shimmer-from-{color}, shimmer-to-{color}

Component Patterns

All components follow these patterns:

  1. Built on Base UI (@base-ui/react) — unstyled React primitives
  2. Variants via CVA (class-variance-authority) — variant and size props
  3. Class merging via cn() — all accept className for overrides
  4. Compound components — e.g. Dialog + DialogContent + DialogTitle

Typical usage example

import { Button } from '@stagewise/stage-ui/components/button';
import { Tooltip, TooltipTrigger, TooltipContent } from '@stagewise/stage-ui/components/tooltip';

<Tooltip>
  <TooltipTrigger>
    <Button variant="secondary" size="sm">Click me</Button>
  </TooltipTrigger>
  <TooltipContent side="top">Helpful hint</TooltipContent>
</Tooltip>

Available Components

For detailed API and props of each component, see components-reference.md.

Component Import path Key props
Button components/button variant: primary, secondary, destructive, warning, success, ghost. size: xs, sm, md, lg, icon-2xs, icon-xs, icon-sm, icon-md
Input components/input size: xs, sm, md. debounce: ms. Built on Base UI Input
Select components/select items, value, onValueChange, size, triggerVariant: ghost/secondary, multiple
Checkbox components/checkbox size: xs, sm, md. Built on Base UI Checkbox
Switch components/switch size: xs, sm, md. Built on Base UI Switch
Radio components/radio RadioGroup + Radio + RadioLabel. Built on Base UI Radio
Tabs components/tabs Tabs, TabsList, TabsTrigger, TabsContent
Dialog components/dialog Dialog, DialogTrigger, DialogContent, DialogTitle, DialogDescription, DialogClose, DialogHeader, DialogFooter
Popover components/popover Popover, PopoverTrigger, PopoverContent, PopoverTitle, PopoverDescription, PopoverClose, PopoverFooter
Tooltip components/tooltip Tooltip, TooltipTrigger, TooltipContent, TooltipProvider
Menu components/menu Menu, MenuTrigger, MenuContent, MenuItem, MenuSeparator, MenuSubmenu, MenuSubmenuTrigger, MenuSubmenuContent
Collapsible components/collapsible Collapsible, CollapsibleTrigger (size: default/condensed), CollapsibleContent
Progress components/progress Progress, ProgressTrack (variant: normal/warning, busy, slim), ProgressLabel, ProgressValue
Skeleton components/skeleton variant: rectangle, circle, text. size: xs–full. animate: boolean
Form components/form Form, FormFieldset, FormField, FormFieldLabel, FormFieldTitle, FormFieldDescription, FormFieldError, FormFieldSeparator
Resizable components/resizable ResizablePanelGroup, ResizablePanel, ResizableHandle. Built on react-resizable-panels
OverlayScrollbar components/overlay-scrollbar Custom scrollbar wrapper
Toaster components/toaster Toast notification system
Breadcrumb components/breadcrumb Breadcrumb navigation
Combobox components/combobox Combobox/autocomplete input
InputOtp components/input-otp OTP code input
SearchableSelect components/searchable-select Searchable dropdown select
SplitText components/split-text Text splitting utility
PreviewCard components/preview-card Card with preview content
LogoText components/logo-text Stagewise logo text

Quick Decision Guide

Picking a background:

  • Top-level page → bg-app-background
  • Card/panel → bg-background
  • Nested element → escalate: bg-surface-1bg-surface-2bg-surface-3

Picking text color:

  • Primary content → text-foreground
  • Secondary info → text-muted-foreground
  • Placeholder/disabled → text-subtle-foreground
  • Links/accents → text-primary-foreground

Borders & states (on elements with bg-*):

  • Border: border border-derived or border border-derived-subtle
  • Hover: hover:bg-hover-derived
  • Active: active:bg-active-derived

Icons: Use lucide-react or nucleo-ui-fill-18 (project-specific icon set).

Storybook

Preview components and color definitions:

pnpm --filter stagewise storybook

Version History

  • 45a1544 Current 2026-07-24 21:12

Same Skill Collection

.agents/skills/add-llm-model/SKILL.md
.agents/skills/caveman/SKILL.md
.agents/skills/create-skill/SKILL.md
.agents/skills/history-compression/SKILL.md
.agents/skills/karton-best-practices/SKILL.md
.agents/skills/vercel-react-best-practices/SKILL.md
apps/browser/bundled/plugins/figma/SKILL.md
apps/browser/bundled/plugins/github/SKILL.md
apps/browser/bundled/plugins/javascript-sandbox/SKILL.md
apps/browser/bundled/plugins/mini-apps/SKILL.md
apps/browser/bundled/plugins/posthog/SKILL.md
apps/browser/bundled/plugins/remotion/SKILL.md
apps/browser/bundled/plugins/supabase/SKILL.md
apps/browser/bundled/plugins/vercel/SKILL.md
apps/browser/bundled/skills/debug/SKILL.md
apps/browser/bundled/skills/learn-skill/SKILL.md
apps/browser/bundled/skills/plan/SKILL.md
apps/browser/bundled/skills/preview/SKILL.md
apps/browser/bundled/skills/watch/SKILL.md
.agents/skills/copywriting/SKILL.md
.agents/skills/prompt-optimization/SKILL.md
apps/browser/bundled/skills/implement/SKILL.md

Metadata

Files
0
Version
18ac8a2
Hash
a3674646
Indexed
2026-07-24 21:12

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 12:27
浙ICP备14020137号-1 $Гость$