rungchan2

design-system-generator

0
0
# Install this skill:
npx skills add rungchan2/frontend-skills --skill "design-system-generator"

Install specific skill from multi-skill repository

# Description

Design System 문서 작성 가이드. 일관된 UI/UX를 위한 디자인 규칙과 컴포넌트를 정의한다. 사용자가 "디자인 시스템 만들어줘", "UI 가이드라인 정리해줘", "컬러/타이포그래피 정의해줘", "컴포넌트 스타일 가이드 만들어줘" 등을 요청할 때 사용한다.

# SKILL.md


name: design-system-generator
description: Design System 문서 작성 가이드. 일관된 UI/UX를 위한 디자인 규칙과 컴포넌트를 정의한다. 사용자가 "디자인 시스템 만들어줘", "UI 가이드라인 정리해줘", "컬러/타이포그래피 정의해줘", "컴포넌트 스타일 가이드 만들어줘" 등을 요청할 때 사용한다.


Design System Generator

일관된 UI/UX를 위한 디자인 시스템 문서 생성 가이드.

워크플로우

1. 인터뷰 → 2. 팔레트 생성 → 3. 문서 생성 → 4. 검토/보완

컬러 팔레트 생성

Primary 색상 하나로 전체 컬러 시스템을 자동 생성한다.

스크립트 사용

# 기본 (마크다운 출력)
python scripts/generate_palette.py "#3B82F6"

# Tailwind 설정 형식
python scripts/generate_palette.py "#3B82F6" --format tailwind

# CSS 변수 형식
python scripts/generate_palette.py "#3B82F6" --format css

# 시맨틱 컬러 포함
python scripts/generate_palette.py "#3B82F6" --with-semantic

# Secondary 색상 지정 (미지정시 보색 자동 생성)
python scripts/generate_palette.py "#3B82F6" --secondary "#F97316"

출력 예시

## Primary Colors
| Shade | HEX |
|-------|-----|
| 50 | #F0F7FF |
| 100 | #E0EFFF |
| 500 | #3B82F6 |  ← 기준 색상
| 900 | #1E3A5F |

Secondary (보색): #F6B83B
유사색: #3BF682, #823BF6

레퍼런스 파일

파일 용도 언제 참조
references/brand-recommendations.md 브랜드 키워드별 컬러/폰트/스타일 추천 브랜드 성격 파악 후

인터뷰 질문

순차적으로 질문하여 정보 수집. 한 번에 2-3개씩 질문.

필수 질문

브랜드
- "브랜드 가이드라인이 있나요?"
- "브랜드 성격 키워드 3개는? (예: 신뢰, 혁신, 친근, 럭셔리, 에너지)"

UI/UX
- "참고하고 싶은 서비스 UI는?"
- "타겟 디바이스 비율은? (모바일/데스크톱)"
- "다크모드 지원이 필요한가요?"

선택 질문 (필요시)

  • "사용할 폰트가 정해져 있나요?"
  • "Primary 색상이 정해져 있나요?"
  • "아이콘 라이브러리 선호도는?"

Design System 템플릿

# Design System: [서비스명]

## 1. 브랜드 아이덴티티

- **브랜드명**:
- **브랜드 성격**:
- **톤앤매너**:

## 2. 컬러 시스템

### Primary
| Shade | HEX | 용도 |
|-------|-----|------|
| 50 | | 배경 |
| 100 | | 호버 |
| 200 | | |
| 300 | | |
| 400 | | |
| 500 | | 기본 |
| 600 | | 호버 (다크) |
| 700 | | |
| 800 | | |
| 900 | | 텍스트 |

### Secondary
| Shade | HEX | 용도 |
|-------|-----|------|
| 500 | | 기본 |

### Semantic
| 이름 | Light | Main | Dark | 용도 |
|------|-------|------|------|------|
| success | #DCFCE7 | #22C55E | #16A34A | 성공, 완료 |
| warning | #FEF3C7 | #F59E0B | #D97706 | 경고, 주의 |
| error | #FEE2E2 | #EF4444 | #DC2626 | 오류, 실패 |
| info | #DBEAFE | #3B82F6 | #2563EB | 정보, 안내 |

### Neutral (Gray Scale)
| Shade | HEX |
|-------|-----|
| 50 | #F9FAFB |
| 100 | #F3F4F6 |
| 200 | #E5E7EB |
| 300 | #D1D5DB |
| 400 | #9CA3AF |
| 500 | #6B7280 |
| 600 | #4B5563 |
| 700 | #374151 |
| 800 | #1F2937 |
| 900 | #111827 |

### 배경
- **default**: #FFFFFF
- **paper**: #F9FAFB
- **elevated**: #FFFFFF

### 다크모드
- 지원 여부: Yes/No

## 3. 타이포그래피

### 폰트 패밀리
- **한글**: Pretendard
- **영문**: Inter
- **Monospace**: Fira Code

### 사이즈 스케일
| 이름 | Size | Line Height |
|------|------|-------------|
| xs | 12px | 16px |
| sm | 14px | 20px |
| base | 16px | 24px |
| lg | 18px | 28px |
| xl | 20px | 28px |
| 2xl | 24px | 32px |
| 3xl | 30px | 36px |
| 4xl | 36px | 40px |

### 헤딩 스타일
| 레벨 | Size | Weight | Line Height |
|------|------|--------|-------------|
| h1 | 36px | 700 | 40px |
| h2 | 30px | 600 | 36px |
| h3 | 24px | 600 | 32px |
| h4 | 20px | 600 | 28px |

## 4. 스페이싱 및 레이아웃

### 기본 단위
- **Base**: 4px

### 스페이싱 스케일
| 이름 | 값 |
|------|-----|
| 0 | 0px |
| 1 | 4px |
| 2 | 8px |
| 3 | 12px |
| 4 | 16px |
| 6 | 24px |
| 8 | 32px |
| 12 | 48px |
| 16 | 64px |

### Breakpoints
| 이름 | 값 | 설명 |
|------|-----|------|
| sm | 640px | 모바일 |
| md | 768px | 태블릿 |
| lg | 1024px | 데스크톱 |
| xl | 1280px | 와이드 |
| 2xl | 1536px | 울트라와이드 |

### 컨테이너
- **최대 너비**: 1280px
- **패딩**: 모바일 16px, 태블릿 24px, 데스크톱 32px

## 5. 컴포넌트 스타일

### Border Radius
| 이름 | 값 | 용도 |
|------|-----|------|
| none | 0px | 날카로운 |
| sm | 4px | 인풋, 작은 요소 |
| md | 8px | 카드, 버튼 |
| lg | 12px | 모달, 큰 카드 |
| xl | 16px | 컨테이너 |
| full | 9999px | 아바타, 뱃지 |

### 그림자
| 이름 | 값 | 용도 |
|------|-----|------|
| sm | 0 1px 2px rgba(0,0,0,0.05) | 미묘한 |
| base | 0 1px 3px rgba(0,0,0,0.1) | 기본 |
| md | 0 4px 6px rgba(0,0,0,0.1) | 카드 |
| lg | 0 10px 15px rgba(0,0,0,0.1) | 드롭다운 |
| xl | 0 20px 25px rgba(0,0,0,0.1) | 모달 |

### 버튼
- **사이즈**: sm (32px), md (40px), lg (48px)
- **변형**: solid, outline, ghost
- **상태**: default, hover, active, disabled

### 인풋
- **사이즈**: sm (32px), md (40px), lg (48px)
- **변형**: outline, filled
- **상태**: default, focus, error, disabled

## 6. 애니메이션

### 지속시간
| 이름 | 값 | 용도 |
|------|-----|------|
| fast | 150ms | 호버, 토글 |
| normal | 300ms | 페이드, 슬라이드 |
| slow | 500ms | 페이지 전환 |

### 이징
| 이름 | 값 |
|------|-----|
| default | cubic-bezier(0.4, 0, 0.2, 1) |
| enter | cubic-bezier(0, 0, 0.2, 1) |
| exit | cubic-bezier(0.4, 0, 1, 1) |

## 7. 아이콘 및 이미지

### 아이콘
- **라이브러리**: Lucide React
- **기본 사이즈**: 24px
- **Stroke Width**: 2px

### 이미지
| 이름 | Ratio | 용도 |
|------|-------|------|
| square | 1:1 | 아바타, 썸네일 |
| landscape | 16:9 | 히어로, 배너 |
| portrait | 3:4 | 카드 |
| thumbnail | 4:3 | 리스트 |

- **Placeholder**: blur
- **Lazy Loading**: Yes

사용 예시

사용자: "디자인 시스템 만들어줘"

Claude: Design System 문서를 작성하겠습니다. 먼저 몇 가지 질문을 드릴게요.

1. 브랜드 가이드라인이 있나요?
2. 브랜드 성격 키워드 3개를 알려주세요. (예: 신뢰, 혁신, 친근)
사용자: "가이드라인 없어. 모던하고 깔끔하고 전문적인 느낌."

Claude: 좋습니다. "모던, 깔끔, 전문적" 키워드 기반으로
references/brand-recommendations.md를 참고하여 추천드릴게요.

추천 컬러: 블루 계열 (#3B82F6) 또는 퍼플 계열 (#7C3AED)
추천 폰트: Pretendard + Inter

Primary 색상을 정해주시면 팔레트를 생성해드릴게요.
사용자: "#6366F1로 해줘"

Claude: [스크립트 실행]
python scripts/generate_palette.py "#6366F1" --with-semantic --format markdown

생성된 팔레트로 디자인 시스템 문서를 작성하겠습니다.

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.