@kood/claude-code 0.7.5 → 0.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +33 -31
- package/package.json +1 -1
- package/templates/.claude/agents/codex.md +333 -0
- package/templates/.claude/skills/codex/SKILL.md +563 -0
- package/templates/.claude/skills/design/SKILL.md +199 -0
- package/templates/.claude/skills/design/references/accessibility.md +106 -0
- package/templates/.claude/skills/design/references/checklist.md +41 -0
- package/templates/.claude/skills/design/references/core-principles.md +66 -0
- package/templates/.claude/skills/design/references/global-uiux.md +216 -0
- package/templates/.claude/skills/design/references/korea-uiux.md +227 -0
- package/templates/.claude/skills/design/references/patterns.md +250 -0
- package/templates/.claude/skills/design/references/responsive.md +248 -0
- package/templates/.claude/skills/design/references/safe-area.md +202 -0
- package/templates/.claude/skills/design/references/systems.md +116 -0
- package/templates/.claude/skills/design/references/trends.md +75 -0
- package/templates/.claude/skills/teams/SKILL.md +575 -0
- package/templates/.claude/skills/teams/references/fallback-strategy.md +288 -0
- package/templates/.claude/skills/teams/references/patterns.md +499 -0
- package/templates/.claude/skills/global-uiux-design/AGENTS.md +0 -320
- package/templates/.claude/skills/global-uiux-design/SKILL.md +0 -1089
- package/templates/.claude/skills/global-uiux-design/references/accessibility.md +0 -401
- package/templates/.claude/skills/global-uiux-design/references/color-system.md +0 -275
- package/templates/.claude/skills/global-uiux-design/references/design-philosophy.md +0 -206
- package/templates/.claude/skills/global-uiux-design/references/design-systems.md +0 -446
- package/templates/.claude/skills/korea-uiux-design/AGENTS.md +0 -310
- package/templates/.claude/skills/korea-uiux-design/SKILL.md +0 -980
- package/templates/.claude/skills/korea-uiux-design/references/accessibility.md +0 -298
- package/templates/.claude/skills/korea-uiux-design/references/checklist.md +0 -107
- package/templates/.claude/skills/korea-uiux-design/references/color-system.md +0 -156
- package/templates/.claude/skills/korea-uiux-design/references/design-philosophy.md +0 -25
- package/templates/.claude/skills/korea-uiux-design/references/icon-guide.md +0 -180
- package/templates/.claude/skills/korea-uiux-design/references/micro-interactions.md +0 -259
- package/templates/.claude/skills/korea-uiux-design/references/responsive-patterns.md +0 -115
- package/templates/.claude/skills/korea-uiux-design/references/service-patterns.md +0 -206
- package/templates/.claude/skills/korea-uiux-design/references/state-patterns.md +0 -320
- package/templates/.claude/skills/korea-uiux-design/references/typography.md +0 -70
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design
|
|
3
|
+
description: UI/UX 디자인 전문 스킬. 사용자 중심 디자인, 접근성, 반응형 레이아웃, 디자인 시스템 구축. Nielsen 휴리스틱 및 WCAG 2.2 기반.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
ui-only: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
@../../instructions/agent-patterns/read-parallelization.md
|
|
9
|
+
@../../instructions/agent-patterns/agent-teams-usage.md
|
|
10
|
+
@../../instructions/validation/forbidden-patterns.md
|
|
11
|
+
@../../instructions/validation/required-behaviors.md
|
|
12
|
+
|
|
13
|
+
# Design Skill - UI/UX 전문 스킬
|
|
14
|
+
|
|
15
|
+
<context>
|
|
16
|
+
|
|
17
|
+
**Purpose:** 사용자 중심의 UI/UX 디자인 구현. 접근성, 반응형 디자인, 디자인 시스템 구축.
|
|
18
|
+
|
|
19
|
+
**Trigger:** UI/UX 디자인 구현, 랜딩 페이지 제작, 대시보드 개발, 모바일 앱 디자인, 폼 디자인
|
|
20
|
+
|
|
21
|
+
**Key Features:**
|
|
22
|
+
- Nielsen 10가지 휴리스틱 기반 UX
|
|
23
|
+
- WCAG 2.2 AA 접근성 준수
|
|
24
|
+
- 반응형 디자인 (Mobile-First)
|
|
25
|
+
- 디자인 심리학 적용 (인지부하 최소화, Fitts/Hick/Miller 법칙)
|
|
26
|
+
- 2024-2026 트렌드 반영 (AI 통합, 마이크로인터랙션, 다크모드)
|
|
27
|
+
|
|
28
|
+
</context>
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
<quick_reference>
|
|
33
|
+
|
|
34
|
+
## 빠른 참조
|
|
35
|
+
|
|
36
|
+
### Core UX 원칙 (Nielsen)
|
|
37
|
+
|
|
38
|
+
| 원칙 | 적용 |
|
|
39
|
+
|------|------|
|
|
40
|
+
| **시스템 상태 가시성** | Loading, Progress, 피드백 |
|
|
41
|
+
| **일관성** | 패턴 재사용, 플랫폼 규칙 준수 |
|
|
42
|
+
| **오류 예방** | 확인 다이얼로그, 입력 제약 |
|
|
43
|
+
| **인지부하 최소화** | 7±2 항목, 단순 메뉴 |
|
|
44
|
+
|
|
45
|
+
### 접근성 (WCAG 2.2 AA)
|
|
46
|
+
|
|
47
|
+
| 요구사항 | 기준 |
|
|
48
|
+
|---------|------|
|
|
49
|
+
| **색상 대비** | 4.5:1 (일반), 3:1 (큰 텍스트) |
|
|
50
|
+
| **터치 타겟** | 44x44px 최소 |
|
|
51
|
+
| **키보드** | Tab, Enter, Esc 지원 |
|
|
52
|
+
| **ARIA** | role, label, live 속성 |
|
|
53
|
+
|
|
54
|
+
### 레이아웃 패턴
|
|
55
|
+
|
|
56
|
+
| 패턴 | 용도 |
|
|
57
|
+
|------|------|
|
|
58
|
+
| **F-패턴** | 콘텐츠 중심 (블로그, 기사) |
|
|
59
|
+
| **Z-패턴** | 랜딩 페이지 (히어로 → CTA) |
|
|
60
|
+
| **12열 그리드** | 반응형 레이아웃 |
|
|
61
|
+
|
|
62
|
+
</quick_reference>
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
<parallel_agent_execution>
|
|
67
|
+
|
|
68
|
+
### ⚠️ Agent Teams 우선 원칙
|
|
69
|
+
|
|
70
|
+
> **복잡한 병렬 작업 시 Agent Teams를 기본으로 사용**
|
|
71
|
+
> - Agent Teams 가용 → TeamCreate → 팀원 spawn → 병렬 협업
|
|
72
|
+
> - Agent Teams 미가용 → Task 병렬 호출 (폴백)
|
|
73
|
+
|
|
74
|
+
**Agent Teams 모드 (기본)**:
|
|
75
|
+
```typescript
|
|
76
|
+
TeamCreate({ team_name: "design-team", description: "UI/UX 디자인 프로젝트" })
|
|
77
|
+
Task(subagent_type="designer", team_name="design-team", name="designer", ...)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**수명주기 관리:**
|
|
81
|
+
- 팀원 태스크 완료 → 즉시 `shutdown_request` 전송
|
|
82
|
+
- 종료 후 `TaskList`로 다음 태스크 확인
|
|
83
|
+
- 모든 작업 완료 → `TeamDelete`로 팀 해산
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 병렬 에이전트 실행
|
|
88
|
+
|
|
89
|
+
### 핵심 원칙
|
|
90
|
+
|
|
91
|
+
| 원칙 | 실행 방법 | 디자인 적용 |
|
|
92
|
+
|------|----------|------------|
|
|
93
|
+
| **PARALLEL** | 단일 메시지에서 여러 Tool 동시 호출 | 여러 페이지 동시 디자인 |
|
|
94
|
+
| **DELEGATE** | 전문 에이전트에게 즉시 위임 | designer (UI), code-reviewer (접근성) |
|
|
95
|
+
| **SMART MODEL** | 복잡도별 모델 선택 | haiku (탐색), sonnet (구현), opus (디자인 시스템) |
|
|
96
|
+
|
|
97
|
+
### 패턴 1: 랜딩 페이지 섹션 병렬 디자인
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
// ✅ 5개 섹션 동시 구현
|
|
101
|
+
Task(subagent_type="designer", model="sonnet",
|
|
102
|
+
prompt="히어로 섹션: 헤드라인 + CTA + 이미지")
|
|
103
|
+
Task(subagent_type="designer", model="sonnet",
|
|
104
|
+
prompt="소셜 프루프 섹션: 로고, 추천사, 통계")
|
|
105
|
+
Task(subagent_type="designer", model="sonnet",
|
|
106
|
+
prompt="기능 섹션: 3열 그리드, 아이콘, 설명")
|
|
107
|
+
Task(subagent_type="designer", model="sonnet",
|
|
108
|
+
prompt="가격 테이블: 3개 티어, 비교 기능")
|
|
109
|
+
Task(subagent_type="designer", model="sonnet",
|
|
110
|
+
prompt="CTA 섹션: 최종 전환 유도")
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**예상 시간:** 순차 300초 → 병렬 60초 (5배 향상)
|
|
114
|
+
|
|
115
|
+
### 패턴 2: 반응형 Breakpoint 병렬
|
|
116
|
+
|
|
117
|
+
```typescript
|
|
118
|
+
// ✅ Mobile/Tablet/Desktop 동시 구현
|
|
119
|
+
Task(subagent_type="designer", model="sonnet",
|
|
120
|
+
prompt="Mobile (320-767px): 세로 스택, 44px 터치 타겟")
|
|
121
|
+
Task(subagent_type="designer", model="sonnet",
|
|
122
|
+
prompt="Tablet (768-1023px): 2열 그리드")
|
|
123
|
+
Task(subagent_type="designer", model="sonnet",
|
|
124
|
+
prompt="Desktop (1024px+): 3열 그리드, 호버 효과")
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 패턴 3: 접근성 검증 병렬
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
// ✅ WCAG/ARIA/키보드 동시 검증
|
|
131
|
+
Task(subagent_type="code-reviewer", model="opus",
|
|
132
|
+
prompt="WCAG 2.2 AA: 색상 대비, 포커스, 텍스트 크기")
|
|
133
|
+
Task(subagent_type="code-reviewer", model="opus",
|
|
134
|
+
prompt="ARIA 속성: role, label, live")
|
|
135
|
+
Task(subagent_type="code-reviewer", model="opus",
|
|
136
|
+
prompt="키보드 네비게이션: Tab, Enter, Esc")
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
</parallel_agent_execution>
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
<detailed_references>
|
|
144
|
+
|
|
145
|
+
## 상세 참고 문서
|
|
146
|
+
|
|
147
|
+
각 주제별 상세 가이드는 references 폴더를 참조하세요.
|
|
148
|
+
|
|
149
|
+
| 파일 | 내용 |
|
|
150
|
+
|------|------|
|
|
151
|
+
| **core-principles.md** | Nielsen 휴리스틱, Don Norman 원칙, Gestalt 원칙, 디자인 심리학 |
|
|
152
|
+
| **accessibility.md** | POUR 원칙, 색상 대비, 키보드, ARIA, 스크린 리더 |
|
|
153
|
+
| **patterns.md** | 랜딩 페이지, 대시보드, 폼, 모바일 앱 패턴 |
|
|
154
|
+
| **systems.md** | 타이포그래피, 컬러, 그리드, 반응형 디자인 |
|
|
155
|
+
| **responsive.md** | Container Queries, Fluid CSS, Modern CSS, 반응형 이미지 |
|
|
156
|
+
| **korea-uiux.md** | 한국형 UI/UX: 토스/카카오/배민/당근 디자인 시스템, 타이포(Pretendard), 결제 UX |
|
|
157
|
+
| **global-uiux.md** | 글로벌 UI/UX: Material 3, Apple HIG (Liquid Glass), Fluent 2, Carbon, SLDS |
|
|
158
|
+
| **safe-area.md** | Safe Area: iOS/Android Insets, Dynamic Island, Foldable, React Native, CSS env() |
|
|
159
|
+
| **checklist.md** | DO/DON'T 항목 |
|
|
160
|
+
| **trends.md** | 2024-2026 디자인 트렌드 |
|
|
161
|
+
|
|
162
|
+
**사용 방법:**
|
|
163
|
+
```bash
|
|
164
|
+
# 디자인 원칙 확인
|
|
165
|
+
Read references/core-principles.md
|
|
166
|
+
|
|
167
|
+
# 접근성 가이드 확인
|
|
168
|
+
Read references/accessibility.md
|
|
169
|
+
|
|
170
|
+
# 랜딩 페이지 패턴 확인
|
|
171
|
+
Read references/patterns.md
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
</detailed_references>
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
<references>
|
|
179
|
+
|
|
180
|
+
## 외부 참고 자료
|
|
181
|
+
|
|
182
|
+
| 분류 | 자료 |
|
|
183
|
+
|------|------|
|
|
184
|
+
| **UX 원칙** | Nielsen Norman Group, Don Norman "The Design of Everyday Things" |
|
|
185
|
+
| **접근성** | WCAG 2.2, W3C WAI, WebAIM |
|
|
186
|
+
| **글로벌 디자인 시스템** | Material Design 3 (Expressive), Apple HIG (Liquid Glass), Fluent 2, Carbon, SLDS |
|
|
187
|
+
| **한국 디자인 시스템** | 토스 TDS, 카카오 Krane, 쿠팡 RDS, 배민, 당근 |
|
|
188
|
+
| **심리학** | Laws of UX, Gestalt 원칙, 인지부하 이론 |
|
|
189
|
+
| **트렌드** | Awwwards, Dribbble, Behance, Smashing Magazine |
|
|
190
|
+
|
|
191
|
+
### 외부 링크
|
|
192
|
+
|
|
193
|
+
- [Nielsen 10 Usability Heuristics](https://www.nngroup.com/articles/ten-usability-heuristics/)
|
|
194
|
+
- [WCAG 2.2 Guidelines](https://www.w3.org/WAI/standards-guidelines/wcag/)
|
|
195
|
+
- [Material Design 3](https://m3.material.io/)
|
|
196
|
+
- [Apple Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/)
|
|
197
|
+
- [Laws of UX](https://lawsofux.com/)
|
|
198
|
+
|
|
199
|
+
</references>
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Accessibility (WCAG 2.2 AA)
|
|
2
|
+
|
|
3
|
+
<pour_principles>
|
|
4
|
+
|
|
5
|
+
## POUR 원칙
|
|
6
|
+
|
|
7
|
+
| 원칙 | 설명 | 구현 |
|
|
8
|
+
|------|------|------|
|
|
9
|
+
| **Perceivable** | 인지 가능 | 대체 텍스트, 자막, 색상 대비 |
|
|
10
|
+
| **Operable** | 조작 가능 | 키보드, 충분한 시간 |
|
|
11
|
+
| **Understandable** | 이해 가능 | 명확한 언어, 일관된 UI |
|
|
12
|
+
| **Robust** | 견고성 | 시맨틱 HTML, ARIA |
|
|
13
|
+
|
|
14
|
+
</pour_principles>
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
<color_contrast>
|
|
19
|
+
|
|
20
|
+
## 색상 대비 (WCAG 2.2)
|
|
21
|
+
|
|
22
|
+
| 유형 | 최소 비율 | 예시 |
|
|
23
|
+
|------|----------|------|
|
|
24
|
+
| **일반 텍스트** | 4.5:1 | 14px body text |
|
|
25
|
+
| **큰 텍스트** | 3:1 | 18pt+ 또는 14pt bold+ |
|
|
26
|
+
| **Interactive 요소** | 3:1 | 버튼, 아이콘 |
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
// ✅ 충분한 대비
|
|
30
|
+
<button className="bg-blue-600 text-white">Save</button>
|
|
31
|
+
|
|
32
|
+
// ❌ 불충분한 대비
|
|
33
|
+
<button className="bg-gray-100 text-gray-300">Save</button>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
</color_contrast>
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
<keyboard_navigation>
|
|
41
|
+
|
|
42
|
+
## 키보드 네비게이션
|
|
43
|
+
|
|
44
|
+
| 키 | 동작 | 적용 |
|
|
45
|
+
|---|------|------|
|
|
46
|
+
| **Tab** | 다음 요소 | tabindex 순서 |
|
|
47
|
+
| **Enter/Space** | 활성화 | 버튼, 링크 |
|
|
48
|
+
| **Esc** | 취소/닫기 | 모달, 드롭다운 |
|
|
49
|
+
| **↑↓** | 선택 이동 | 드롭다운, 슬라이더 |
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
// ✅ 키보드 접근 가능
|
|
53
|
+
<button
|
|
54
|
+
tabIndex={0}
|
|
55
|
+
onKeyDown={(e) => {
|
|
56
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
57
|
+
handleClick()
|
|
58
|
+
}
|
|
59
|
+
}}
|
|
60
|
+
>
|
|
61
|
+
Click me
|
|
62
|
+
</button>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
</keyboard_navigation>
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
<aria_attributes>
|
|
70
|
+
|
|
71
|
+
## ARIA 속성
|
|
72
|
+
|
|
73
|
+
| 속성 | 용도 | 예시 |
|
|
74
|
+
|------|------|------|
|
|
75
|
+
| **role** | 역할 명시 | `role="navigation"` |
|
|
76
|
+
| **aria-label** | 레이블 제공 | `aria-label="Close menu"` |
|
|
77
|
+
| **aria-labelledby** | 레이블 ID 참조 | `aria-labelledby="title-id"` |
|
|
78
|
+
| **aria-expanded** | 확장 상태 | `aria-expanded={isOpen}` |
|
|
79
|
+
| **aria-live** | 동적 업데이트 | `aria-live="polite"` |
|
|
80
|
+
|
|
81
|
+
```tsx
|
|
82
|
+
// ✅ ARIA 속성 사용
|
|
83
|
+
<button
|
|
84
|
+
aria-label="Close menu"
|
|
85
|
+
aria-expanded={isOpen}
|
|
86
|
+
aria-controls="menu-id"
|
|
87
|
+
>
|
|
88
|
+
<svg className="w-6 h-6" aria-hidden="true" />
|
|
89
|
+
</button>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
</aria_attributes>
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
<screen_readers>
|
|
97
|
+
|
|
98
|
+
## 스크린 리더 테스트
|
|
99
|
+
|
|
100
|
+
| 도구 | 플랫폼 | 용도 |
|
|
101
|
+
|------|--------|------|
|
|
102
|
+
| **VoiceOver** | macOS/iOS | Safari |
|
|
103
|
+
| **NVDA** | Windows | Firefox |
|
|
104
|
+
| **JAWS** | Windows | Chrome |
|
|
105
|
+
|
|
106
|
+
</screen_readers>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Design Checklist
|
|
2
|
+
|
|
3
|
+
<do>
|
|
4
|
+
|
|
5
|
+
## DO
|
|
6
|
+
|
|
7
|
+
| 항목 | 설명 |
|
|
8
|
+
|------|------|
|
|
9
|
+
| **사용자 중심** | Nielsen 휴리스틱, Don Norman 원칙 적용 |
|
|
10
|
+
| **접근성 우선** | WCAG 2.2 AA, 키보드/스크린 리더 지원 |
|
|
11
|
+
| **일관성** | 디자인 시스템, 패턴 재사용 |
|
|
12
|
+
| **반응형** | Mobile-First, 모든 Breakpoint 테스트 |
|
|
13
|
+
| **피드백** | Loading, Success, Error 상태 명확히 |
|
|
14
|
+
| **여백** | 8px 그리드, 충분한 breathing room |
|
|
15
|
+
| **대비** | 4.5:1 (일반), 3:1 (큰 텍스트) |
|
|
16
|
+
| **터치 타겟** | 44x44px 최소 (모바일) |
|
|
17
|
+
| **오류 예방** | 확인 다이얼로그, 입력 제약 |
|
|
18
|
+
| **테스트** | 실제 사용자, A/B 테스트 |
|
|
19
|
+
|
|
20
|
+
</do>
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
<dont>
|
|
25
|
+
|
|
26
|
+
## DON'T
|
|
27
|
+
|
|
28
|
+
| 항목 | 이유 |
|
|
29
|
+
|------|------|
|
|
30
|
+
| **색상만으로 정보 전달** | 색맹 사용자 고려 |
|
|
31
|
+
| **너무 많은 선택지** | Hick의 법칙 (7±2) |
|
|
32
|
+
| **작은 터치 타겟** | 손가락으로 클릭 어려움 |
|
|
33
|
+
| **자동 재생 미디어** | 접근성, 사용자 경험 저해 |
|
|
34
|
+
| **일관성 없는 패턴** | 학습 비용 증가 |
|
|
35
|
+
| **모호한 에러 메시지** | "오류 발생" 대신 구체적 설명 |
|
|
36
|
+
| **과도한 애니메이션** | 멀미, 성능 저하 |
|
|
37
|
+
| **플레이스홀더를 레이블로** | 입력 시 사라짐 |
|
|
38
|
+
| **지나친 혁신** | 표준 패턴 무시 |
|
|
39
|
+
| **접근성 무시** | 법적 문제, 사용자 배제 |
|
|
40
|
+
|
|
41
|
+
</dont>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Core Design Principles
|
|
2
|
+
|
|
3
|
+
<nielsen_heuristics>
|
|
4
|
+
|
|
5
|
+
## Nielsen의 10가지 휴리스틱
|
|
6
|
+
|
|
7
|
+
| 원칙 | 설명 | 구현 |
|
|
8
|
+
|------|------|------|
|
|
9
|
+
| **1. 시스템 상태 가시성** | 진행 상황 실시간 표시 | Loading spinner, Progress bar |
|
|
10
|
+
| **2. 시스템-현실 일치** | 사용자 언어 사용 | 전문 용어 회피, 친숙한 아이콘 |
|
|
11
|
+
| **3. 사용자 제어** | Undo/Redo 지원 | 취소 버튼, 되돌리기 기능 |
|
|
12
|
+
| **4. 일관성** | 패턴 재사용 | 디자인 시스템, 공통 컴포넌트 |
|
|
13
|
+
| **5. 오류 예방** | 실수 방지 장치 | 확인 다이얼로그, 입력 제약 |
|
|
14
|
+
| **6. 인지부하 최소화** | 기억 대신 인식 | 자동완성, 최근 항목 표시 |
|
|
15
|
+
| **7. 유연성** | 초보자 & 전문가 지원 | 단축키, 고급 기능 숨김 |
|
|
16
|
+
| **8. 미니멀리즘** | 불필요한 정보 제거 | 핵심 내용만, 여백 활용 |
|
|
17
|
+
| **9. 오류 복구** | 명확한 에러 메시지 | 원인 + 해결 방법 제시 |
|
|
18
|
+
| **10. 도움말** | 쉽게 접근 가능 | 툴팁, 가이드 투어 |
|
|
19
|
+
|
|
20
|
+
</nielsen_heuristics>
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
<don_norman>
|
|
25
|
+
|
|
26
|
+
## Don Norman의 인간 중심 디자인
|
|
27
|
+
|
|
28
|
+
| 원칙 | 적용 |
|
|
29
|
+
|------|------|
|
|
30
|
+
| **Affordance** | 버튼은 누를 수 있게, 링크는 클릭 가능하게 |
|
|
31
|
+
| **Signifier** | 호버 시 커서 변경, 색상/아이콘으로 힌트 |
|
|
32
|
+
| **Feedback** | 클릭 → 애니메이션, 성공 → 토스트 |
|
|
33
|
+
| **Mapping** | 좌우 배치 → 자연스러운 연결 |
|
|
34
|
+
| **Constraint** | 날짜 선택기, 숫자만 입력 가능 |
|
|
35
|
+
|
|
36
|
+
</don_norman>
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
<gestalt>
|
|
41
|
+
|
|
42
|
+
## Gestalt 원칙
|
|
43
|
+
|
|
44
|
+
| 원칙 | 설명 | 예시 |
|
|
45
|
+
|------|------|------|
|
|
46
|
+
| **근접성 (Proximity)** | 가까이 있는 요소는 관련됨 | 폼 필드 그룹화 |
|
|
47
|
+
| **유사성 (Similarity)** | 비슷한 요소는 같은 기능 | 같은 색상 버튼 |
|
|
48
|
+
| **연속성 (Continuity)** | 시선 흐름 유도 | F-패턴 레이아웃 |
|
|
49
|
+
| **폐쇄성 (Closure)** | 불완전해도 전체 인식 | 로고, 아이콘 |
|
|
50
|
+
|
|
51
|
+
</gestalt>
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
<psychology>
|
|
56
|
+
|
|
57
|
+
## 디자인 심리학
|
|
58
|
+
|
|
59
|
+
| 법칙 | 내용 | 적용 |
|
|
60
|
+
|------|------|------|
|
|
61
|
+
| **Fitts의 법칙** | 큰 타겟 = 빠른 클릭 | CTA 버튼 크게 |
|
|
62
|
+
| **Hick의 법칙** | 선택지 많으면 결정 느림 | 메뉴 항목 7개 이하 |
|
|
63
|
+
| **Miller의 법칙** | 단기 기억 7±2 항목 | 단계 3-5개로 제한 |
|
|
64
|
+
| **인지부하 이론** | 정보량 최소화 | 한 화면에 1가지 목표 |
|
|
65
|
+
|
|
66
|
+
</psychology>
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# 글로벌 UI/UX 디자인 패턴 레퍼런스
|
|
2
|
+
|
|
3
|
+
> 글로벌(미국/서양) UI/UX 디자인의 핵심 철학, 주요 디자인 시스템, 최신 트렌드
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. 글로벌 디자인 철학
|
|
8
|
+
|
|
9
|
+
### 1.1 미니멀리즘 (Minimalism)
|
|
10
|
+
|
|
11
|
+
**핵심 원칙 - "Less is More":**
|
|
12
|
+
- 깔끔한 레이아웃, 충분한 여백, 제한된 컬러 팔레트
|
|
13
|
+
- 명확한 타이포그래피와 직관적인 네비게이션
|
|
14
|
+
- **Progressive Disclosure**: 핵심 기능만 먼저 노출
|
|
15
|
+
|
|
16
|
+
**2025 트렌드 - Minimalism 3.0 (Emotional Minimalism):**
|
|
17
|
+
- 부드러운 색상 전환, 미세한 텍스처, 표현적 타이포그래피
|
|
18
|
+
- 미니멀하면서도 감성적인 인터페이스 추구
|
|
19
|
+
|
|
20
|
+
### 1.2 화이트스페이스 활용
|
|
21
|
+
|
|
22
|
+
- 시각적 휴식을 제공하여 가독성 개선
|
|
23
|
+
- 콘텐츠 간 명확한 구분 생성
|
|
24
|
+
- 고급스럽고 전문적인 인상 전달
|
|
25
|
+
|
|
26
|
+
### 1.3 타이포그래피 계층
|
|
27
|
+
|
|
28
|
+
- **Display → Headline → Title → Body → Label** 순의 명확한 체계
|
|
29
|
+
- 볼드 타이포그래피로 시각 요소 대체
|
|
30
|
+
- 폰트 웨이트 변화로 정보 계층 표현
|
|
31
|
+
|
|
32
|
+
### 1.4 서양 vs 아시아 디자인 비교
|
|
33
|
+
|
|
34
|
+
| 특성 | 서양 (미국/유럽) | 아시아 (한국/중국/일본) |
|
|
35
|
+
|------|-----------------|---------------------|
|
|
36
|
+
| **정보 밀도** | 낮음 - 여백 중시 | 높음 - 콘텐츠 밀집 |
|
|
37
|
+
| **앱 철학** | 단일 기능 특화 | 슈퍼앱 (다기능 통합) |
|
|
38
|
+
| **네비게이션** | 심플, 단계적 | 복합적, 탭 다수 |
|
|
39
|
+
| **색상** | 절제된 팔레트 | 다채로운 색상 활용 |
|
|
40
|
+
| **문화 반영** | 개인주의 | 집단주의 - 커뮤니티/공유 |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 2. 주요 디자인 시스템
|
|
45
|
+
|
|
46
|
+
### 2.1 Google Material Design 3 (M3 Expressive)
|
|
47
|
+
|
|
48
|
+
**최신 버전:** Material 3 Expressive (2025년 5월)
|
|
49
|
+
|
|
50
|
+
#### Dynamic Color
|
|
51
|
+
- 단일 소스 컬러에서 전체 팔레트 알고리즘 생성
|
|
52
|
+
- Primary, Secondary, Tertiary + Error/Warning 상태 컬러
|
|
53
|
+
|
|
54
|
+
#### 타이포그래피
|
|
55
|
+
- **5단계**: Display, Headline, Title, Body, Label
|
|
56
|
+
- 각 단계별 Large/Medium/Small 사이즈
|
|
57
|
+
- Variable Fonts 지원
|
|
58
|
+
|
|
59
|
+
#### Shape 시스템
|
|
60
|
+
- 5단계 둥근 정도: Extra-Small → Extra-Large
|
|
61
|
+
- M3 Expressive에서 **35개 새 Shape** 추가
|
|
62
|
+
- Shape Morphing 애니메이션
|
|
63
|
+
|
|
64
|
+
#### Motion
|
|
65
|
+
- Physics System: 물리 기반 모션
|
|
66
|
+
- Fluid Motion: 유동적 애니메이션
|
|
67
|
+
|
|
68
|
+
### 2.2 Apple Human Interface Guidelines (Liquid Glass)
|
|
69
|
+
|
|
70
|
+
**최신:** Liquid Glass (2025년 6월 WWDC)
|
|
71
|
+
|
|
72
|
+
**4대 핵심 원칙:**
|
|
73
|
+
1. **Clarity** - 쉬운 이해
|
|
74
|
+
2. **Deference** - 콘텐츠에 초점
|
|
75
|
+
3. **Depth** - 시각적 레이어로 계층 전달
|
|
76
|
+
4. **Consistency** - 플랫폼 간 일관성
|
|
77
|
+
|
|
78
|
+
**Liquid Glass 특징:**
|
|
79
|
+
- 투명도와 깊이: 유리의 광학적 특성 시뮬레이션
|
|
80
|
+
- 3 레이어 구조: Foreground / Mid-ground / Background
|
|
81
|
+
- 콘텐츠 우선: UI가 우아하게 후퇴
|
|
82
|
+
|
|
83
|
+
### 2.3 Microsoft Fluent 2
|
|
84
|
+
|
|
85
|
+
**4대 디자인 원칙:**
|
|
86
|
+
1. **Natural on Every Platform** - 플랫폼에 맞는 자연스러운 경험
|
|
87
|
+
2. **Built for Focus** - 산만함 최소화, 생산적 몰입
|
|
88
|
+
3. **One for All, All for One** - 포용적 디자인
|
|
89
|
+
4. **Unmistakably Microsoft** - 브랜드 정체성
|
|
90
|
+
|
|
91
|
+
**기술:** WCAG 2.1 준수, Fluent UI React 컴포넌트
|
|
92
|
+
|
|
93
|
+
### 2.4 IBM Carbon Design System
|
|
94
|
+
|
|
95
|
+
**3대 원칙:**
|
|
96
|
+
1. **Consistency** - 예측 가능성 → 신뢰
|
|
97
|
+
2. **Human-Centered** - 인간으로서 먼저 이해
|
|
98
|
+
3. **Essential** - 모든 요소에 목적, 절제된 디자인
|
|
99
|
+
|
|
100
|
+
### 2.5 Salesforce Lightning (SLDS 2)
|
|
101
|
+
|
|
102
|
+
- **Design Tokens**: 재사용 가능한 디자인 변수
|
|
103
|
+
- **CSS Custom Properties**: 구조와 비주얼 분리
|
|
104
|
+
- **UX 패턴**: Welcome Mat, Setup Assistant, Empty States
|
|
105
|
+
|
|
106
|
+
### 2.6 Atlassian Design System
|
|
107
|
+
|
|
108
|
+
**핵심 가치:**
|
|
109
|
+
- **Foundational**: 공통 문제 먼저 해결
|
|
110
|
+
- **Harmonious**: 빌딩 블록이 함께 작동
|
|
111
|
+
- **Empowering**: 복잡한 경험 구성 가능
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 3. 플랫폼별 가이드라인
|
|
116
|
+
|
|
117
|
+
### 3.1 Mobile App
|
|
118
|
+
|
|
119
|
+
| 항목 | iOS (Apple HIG) | Android (Material 3) |
|
|
120
|
+
|------|-----------------|---------------------|
|
|
121
|
+
| **네비게이션** | Tab Bar (하단) | Navigation Rail/Bar |
|
|
122
|
+
| **제스처** | Edge Swipe Back | Predictive Back |
|
|
123
|
+
| **디자인 언어** | Liquid Glass | M3 Expressive |
|
|
124
|
+
| **타이포** | SF Pro | Roboto / Google Sans |
|
|
125
|
+
| **터치 타겟** | 최소 44x44pt | 최소 48x48dp |
|
|
126
|
+
|
|
127
|
+
### 3.2 Web / Desktop
|
|
128
|
+
|
|
129
|
+
- 반응형 레이아웃 (Mobile-First)
|
|
130
|
+
- 키보드 네비게이션 완벽 지원
|
|
131
|
+
- 마우스 호버 상태 디자인
|
|
132
|
+
- 최소 클릭 타겟 24x24px
|
|
133
|
+
|
|
134
|
+
**브레이크포인트:**
|
|
135
|
+
```
|
|
136
|
+
Mobile: 360-480px | Tablet: 768px | Desktop: 1024-1440px+
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 3.3 SaaS / Enterprise
|
|
140
|
+
|
|
141
|
+
- **Progressive Disclosure**: 핵심 도구 우선
|
|
142
|
+
- **Smart Defaults**: AI 기반 예측 레이아웃
|
|
143
|
+
- 대량 데이터 테이블/차트 처리
|
|
144
|
+
- 역할 기반 접근 제어 (RBAC) UI
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## 4. 최신 트렌드 (2024-2026)
|
|
149
|
+
|
|
150
|
+
### 4.1 AI 통합 UI
|
|
151
|
+
|
|
152
|
+
- **AI 기반 개인화**: 클릭 패턴, 사용 이력 분석
|
|
153
|
+
- **Generative UI**: AI가 동적 인터페이스 생성
|
|
154
|
+
- **대화형 디자인**: 화면 + 음성 명령 동시 지원
|
|
155
|
+
|
|
156
|
+
### 4.2 다크 모드
|
|
157
|
+
|
|
158
|
+
- 순수 검정 대신 소프트 블랙 (#121212)
|
|
159
|
+
- 채도 높은 색상 주의 (진동 현상)
|
|
160
|
+
- 라이트/다크 독립 테스트 필수
|
|
161
|
+
- **WCAG**: 일반 4.5:1, 큰 텍스트 3:1
|
|
162
|
+
|
|
163
|
+
### 4.3 모션 & 마이크로인터랙션
|
|
164
|
+
|
|
165
|
+
**4요소:**
|
|
166
|
+
1. **Trigger**: 사용자/시스템 액션
|
|
167
|
+
2. **Rules**: 발생 동작
|
|
168
|
+
3. **Feedback**: 시각적/청각적 피드백
|
|
169
|
+
4. **Loops & Modes**: 반복과 모드 변환
|
|
170
|
+
|
|
171
|
+
### 4.4 접근성 우선 (WCAG 2.2)
|
|
172
|
+
|
|
173
|
+
| 기준 | 레벨 | 내용 |
|
|
174
|
+
|------|------|------|
|
|
175
|
+
| **텍스트 대비** | AA | 일반 4.5:1, 큰 텍스트 3:1 |
|
|
176
|
+
| **Focus Appearance** | AA | 최소 2px, 3:1 대비 |
|
|
177
|
+
| **Target Size** | AA | 최소 24x24 CSS px |
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 5. 디자인 토큰 공통 구조
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
tokens/
|
|
185
|
+
├── color/ (primary, secondary, surface, error)
|
|
186
|
+
├── typography/ (font-family, size, weight, line-height)
|
|
187
|
+
├── spacing/ (4px 단위: 4, 8, 12, 16, 24, 32, 48, 64)
|
|
188
|
+
├── shape/ (border-radius, elevation)
|
|
189
|
+
├── motion/ (duration, easing, physics)
|
|
190
|
+
└── breakpoint/ (compact, medium, expanded)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## 6. 디자인 시스템 선택 가이드
|
|
196
|
+
|
|
197
|
+
| 용도 | 추천 시스템 | 이유 |
|
|
198
|
+
|------|-----------|------|
|
|
199
|
+
| **Android 앱** | Material Design 3 | 네이티브 통합, Dynamic Color |
|
|
200
|
+
| **iOS 앱** | Apple HIG | 플랫폼 일관성 |
|
|
201
|
+
| **Microsoft 생태계** | Fluent 2 | Office/Azure 통합 |
|
|
202
|
+
| **Enterprise B2B** | Carbon / SLDS | 대규모 데이터 특화 |
|
|
203
|
+
| **협업 도구** | Atlassian DS | 팀 생산성 패턴 |
|
|
204
|
+
| **크로스 플랫폼 웹** | Material Design 3 | 가장 넓은 가이드라인 |
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## 참고 자료
|
|
209
|
+
|
|
210
|
+
- [Material Design 3](https://m3.material.io/)
|
|
211
|
+
- [Apple Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/)
|
|
212
|
+
- [Microsoft Fluent 2](https://fluent2.microsoft.design/)
|
|
213
|
+
- [IBM Carbon](https://carbondesignsystem.com/)
|
|
214
|
+
- [Salesforce Lightning](https://www.lightningdesignsystem.com/)
|
|
215
|
+
- [Atlassian Design](https://atlassian.design/)
|
|
216
|
+
- [WCAG 2.2](https://www.w3.org/TR/WCAG22/)
|