Token导航 LogoToken导航TokenDH.com
前端设计只读github未标认证来源可访问许可证需确认审计通过

design-system-foundation设计系统基础

Agent Skill

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

总安装

247

周安装

10

GitHub Stars

24

下载量

78
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:design-system-foundation(设计系统基础)
来源仓库:https://github.com/apexscaleai/claude-ui-design-system
仓库路径:skills/design-system-foundation
安装命令:
npx skills add https://github.com/apexscaleai/claude-ui-design-system --skill design-system-foundation
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/apexscaleai/claude-ui-design-system --skill design-system-foundation

简介

用于为新建 React Native 或 Next.js 项目建立完整设计系统基础架构。

  • 适合绿色场项目启动阶段,提供令牌系统、文件夹结构和基础组件模板。
  • 使用时需明确技术栈和平台类型,输出包含主题切换和无障碍支持的标准配置。
  • 不适合重构现有项目,应优先选用更专用的技能替代本工具。
  • design-system-foundation 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Design System Foundation

Overview

Establishes complete design system foundation for greenfield projects, including token system, folder structure, and base component architecture.

When to Use

  • Starting new React Native app
  • Starting new Next.js project
  • Establishing design system for new product
  • Setting up component library from scratch
  • Need design tokens and theme system

When NOT to Use

  • Refactoring existing projects (use ui-refactoring-workflow instead)
  • Adding single component (use component-library-scaffolder instead)
  • Just documentation (use design-documentation-generator instead)

Foundation Setup Process

Phase 1: Design Token Creation

Creates complete token system with:

  • Colors: Semantic color system (brand, UI, feedback)
  • Typography: Font families, sizes, weights, line heights
  • Spacing: Consistent spacing scale
  • Shadows: Elevation system
  • Border Radius: Rounding scale
  • Animation: Timing and easing functions

Example Token Structure:

// tokens/colors.ts
export const colors = {
  // Brand colors
  brand: {
    primary: '#0066FF',
    secondary: '#00D9FF',
    accent: '#FF3366',
  },

  // UI colors
  ui: {
    background: {
      primary: '#FFFFFF',
      secondary: '#F8F9FA',
      tertiary: '#E9ECEF',
    },
    border: {
      light: '#DEE2E6',
      medium: '#CED4DA',
      dark: '#ADB5BD',
    },
    text: {
      primary: '#212529',
      secondary: '#495057',
      tertiary: '#6C757D',
      inverse: '#FFFFFF',
    }
  },

  // Feedback colors
  feedback: {
    success: '#28A745',
    warning: '#FFC107',
    error: '#DC3545',
    info: '#17A2B8',
  }
}

// tokens/spacing.ts
export const spacing = {
  0: 0,
  1: 4,
  2: 8,
  3: 12,
  4: 16,
  5: 20,
  6: 24,
  8: 32,
  10: 40,
  12: 48,
  16: 64,
  20: 80,
  24: 96,
}

// tokens/typography.ts
export const typography = {
  fontFamily: {
    sans: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto',
    mono: 'JetBrains Mono, Menlo, Monaco, "Courier New"',
  },
  fontSize: {
    xs: 12,
    sm: 14,
    base: 16,
    lg: 18,
    xl: 20,
    '2xl': 24,
    '3xl': 30,
    '4xl': 36,
    '5xl': 48,
  },
  fontWeight: {
    light: '300',
    normal: '400',
    medium: '500',
    semibold: '600',
    bold: '700',
    black: '900',
  },
  lineHeight: {
    tight: 1.25,
    normal: 1.5,
    relaxed: 1.75,
  }
}

// tokens/shadows.ts
export const shadows = {
  sm: {
    shadowColor: '#000',
    shadowOffset: { width: 0, height: 1 },
    shadowOpacity: 0.05,
    shadowRadius: 2,
    elevation: 1,
  },
  md: {
    shadowColor: '#000',
    shadowOffset: { width: 0, height: 4 },
    shadowOpacity: 0.07,
    shadowRadius: 6,
    elevation: 3,
  },
  lg: {
    shadowColor: '#000',
    shadowOffset: { width: 0, height: 10 },
    shadowOpacity: 0.1,
    shadowRadius: 15,
    elevation: 6,
  },
}

// tokens/radius.ts
export const radius = {
  sm: 4,
  md: 8,
  lg: 12,
  xl: 16,
  full: 9999,
}

Phase 2: Project Structure

Creates organized folder structure following atomic design:

src/
├── theme/
│   ├── tokens/
│   │   ├── colors.ts
│   │   ├── spacing.ts
│   │   ├── typography.ts
│   │   ├── shadows.ts
│   │   ├── radius.ts
│   │   ├── animation.ts
│   │   └── index.ts
│   ├── ThemeProvider.tsx
│   ├── useTheme.ts
│   └── createTheme.ts
│
├── components/
│   ├── atoms/           # Basic building blocks
│   │   ├── Button/
│   │   ├── Input/
│   │   ├── Text/
│   │   └── ...
│   ├── molecules/       # Simple combinations
│   │   ├── FormField/
│   │   ├── Card/
│   │   └── ...
│   ├── organisms/       # Complex components
│   │   ├── Header/
│   │   ├── Form/
│   │   └── ...
│   └── templates/       # Page layouts
│       ├── PageTemplate/
│       └── ...
│
├── design-system/
│   └── [Component folders with README.md]
│
└── docs/
    ├── DESIGN_SYSTEM.md
    ├── COMPONENT_GUIDELINES.md
    ├── STYLE_GUIDE.md
    ├── ACCESSIBILITY.md
    └── DESIGN_TOKENS.md

Phase 3: Theme System Setup

For React Native:

// theme/ThemeProvider.tsx
import React, { createContext, useContext } from 'react'
import { tokens } from './tokens'

interface Theme {
  colors: typeof tokens.colors
  spacing: typeof tokens.spacing
  typography: typeof tokens.typography
  shadows: typeof tokens.shadows
  radius: typeof tokens.radius
}

const ThemeContext = createContext<Theme | undefined>(undefined)

export const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
  const theme: Theme = {
    colors: tokens.colors,
    spacing: tokens.spacing,
    typography: tokens.typography,
    shadows: tokens.shadows,
    radius: tokens.radius,
  }

  return <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>
}

export const useTheme = () => {
  const context = useContext(ThemeContext)
  if (!context) {
    throw new Error('useTheme must be used within ThemeProvider')
  }
  return context
}

For Next.js with Tailwind:

// tailwind.config.ts
import type { Config } from 'tailwindcss'
import { tokens } from './src/theme/tokens'

const config: Config = {
  content: ['./src/**/*.{js,ts,jsx,tsx}'],
  theme: {
    extend: {
      colors: {
        brand: tokens.colors.brand,
        ui: tokens.colors.ui,
        feedback: tokens.colors.feedback,
      },
      spacing: tokens.spacing,
      fontSize: tokens.typography.fontSize,
      fontWeight: tokens.typography.fontWeight,
      borderRadius: tokens.radius,
    },
  },
}

export default config

Phase 4: Documentation Generation

Automatically generates:

  1. DESIGN_SYSTEM.md

- Design philosophy - Token system overview - Component architecture - Usage guidelines

  1. COMPONENT_GUIDELINES.md

- How to create components - Naming conventions - File structure - Testing requirements

  1. STYLE_GUIDE.md

- Visual design principles - Color usage - Typography guidelines - Spacing system

  1. ACCESSIBILITY.md

- WCAG standards - Testing checklist - Common patterns - Best practices

  1. DESIGN_TOKENS.md

- Complete token reference - Usage examples - Migration guide

Phase 5: Preset Application

User selects design preset to apply:

  • minimalist-modern
  • bold-brutalist
  • soft-neumorphic
  • glass-aesthetic
  • timeless-classic
  • bleeding-edge-experimental

All tokens automatically configured to match selected preset.

Integration with Other Skills

  • After foundation setup, use component-library-scaffolder to create base components
  • For documentation updates, use design-documentation-generator
  • For preset selection, use design-preset-system

Quality Checklist

Before completing, verify:

  • ✓ All token files created
  • ✓ Folder structure established
  • ✓ Theme provider configured
  • ✓ Documentation generated
  • ✓ Design preset applied
  • ✓ TypeScript types defined
  • ✓ Example components work with tokens

Common Patterns

Using Tokens in Components

React Native:

import { useTheme } from '@/theme'

const MyComponent = () => {
  const theme = useTheme()

  return (
    <View style={{
      backgroundColor: theme.colors.ui.background.primary,
      padding: theme.spacing[4],
      borderRadius: theme.radius.md,
      ...theme.shadows.md,
    }}>
      <Text style={{
        fontSize: theme.typography.fontSize.lg,
        fontWeight: theme.typography.fontWeight.semibold,
        color: theme.colors.ui.text.primary,
      }}>
        Hello World
      </Text>
    </View>
  )
}

Next.js with Tailwind:

const MyComponent = () => {
  return (
    <div className="bg-ui-background-primary p-4 rounded-md shadow-md">
      <h2 className="text-lg font-semibold text-ui-text-primary">
        Hello World
      </h2>
    </div>
  )
}

Real-World Impact

Teams using this foundation report:

  • 70% faster component development
  • 90% reduction in style inconsistencies
  • Complete design token coverage
  • Easy design preset switching
  • Better developer experience

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.45%
按下载量换算28

Claude

32.53%
按下载量换算25

Cursor

19.47%
按下载量换算15

Gemini CLI

8.89%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills