@kood/claude-code 0.7.6 → 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/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/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
|
@@ -1,1089 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: global-uiux-design
|
|
3
|
-
description: Implement modern, accessible UI/UX design for global audiences. Apply industry-standard patterns from Material Design, Apple HIG, Fluent, and other leading design systems.
|
|
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
|
-
# Global UI/UX Design
|
|
14
|
-
|
|
15
|
-
<context>
|
|
16
|
-
|
|
17
|
-
**Purpose:** Implement modern, accessible UI/UX design for global audiences. Apply industry-standard patterns from Material Design, Apple HIG, Fluent, and other leading design systems.
|
|
18
|
-
|
|
19
|
-
**Trigger:** Frontend UI/UX implementation, React/Vue component design, responsive web/app development, international product design
|
|
20
|
-
|
|
21
|
-
**Key Features:**
|
|
22
|
-
- WCAG 2.2 AA accessibility compliance
|
|
23
|
-
- Cross-platform consistency
|
|
24
|
-
- Mobile-first responsive design
|
|
25
|
-
- Industry-standard design patterns
|
|
26
|
-
|
|
27
|
-
</context>
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
<parallel_agent_execution>
|
|
32
|
-
|
|
33
|
-
### ⚠️ Agent Teams 우선 원칙
|
|
34
|
-
|
|
35
|
-
> **복잡한 병렬 작업 시 Agent Teams를 기본으로 사용**
|
|
36
|
-
> - Agent Teams 가용 → TeamCreate → 팀원 spawn → 병렬 협업
|
|
37
|
-
> - Agent Teams 미가용 → Task 병렬 호출 (폴백)
|
|
38
|
-
|
|
39
|
-
**Agent Teams 모드 (기본)**:
|
|
40
|
-
```typescript
|
|
41
|
-
TeamCreate({ team_name: "global-uiux-team", description: "Global UI/UX 디자인" })
|
|
42
|
-
Task(subagent_type="designer", team_name="global-uiux-team", name="designer", ...)
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**수명주기 관리:**
|
|
46
|
-
- 팀원 태스크 완료 → 즉시 `shutdown_request` 전송
|
|
47
|
-
- 종료 후 `TaskList`로 다음 태스크 확인
|
|
48
|
-
- 모든 작업 완료 → `TeamDelete`로 팀 해산
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## 병렬 에이전트 실행 (Global UX 특화)
|
|
53
|
-
|
|
54
|
-
### 핵심 원칙
|
|
55
|
-
|
|
56
|
-
**Goal:** 독립적인 Global UX 작업을 동시에 처리하여 대기 시간 최소화, 다국어/반응형/접근성 병렬 구현.
|
|
57
|
-
|
|
58
|
-
**Performance:** 순차 실행 → 병렬 실행으로 5-15배 성능 향상.
|
|
59
|
-
|
|
60
|
-
| 원칙 | 실행 방법 | Global UX 적용 |
|
|
61
|
-
|------|----------|----------------|
|
|
62
|
-
| **PARALLEL** | 단일 메시지에서 여러 Tool 동시 호출 | 다국어 레이아웃 동시 구현 |
|
|
63
|
-
| **DELEGATE** | 전문 에이전트에게 즉시 위임 | designer (UI), code-reviewer (접근성) |
|
|
64
|
-
| **SMART MODEL** | 복잡도별 모델 선택 | haiku (탐색), sonnet (구현), opus (디자인) |
|
|
65
|
-
|
|
66
|
-
**핵심 룰:**
|
|
67
|
-
```typescript
|
|
68
|
-
// ❌ 순차 실행 (느림)
|
|
69
|
-
Task(...) // 모바일 레이아웃 60초
|
|
70
|
-
Task(...) // 데스크톱 레이아웃 60초
|
|
71
|
-
Task(...) // 태블릿 레이아웃 60초
|
|
72
|
-
// 총 180초
|
|
73
|
-
|
|
74
|
-
// ✅ 병렬 실행 (빠름)
|
|
75
|
-
Task(...) // 모바일
|
|
76
|
-
Task(...) // 데스크톱 → 단일 메시지에서 동시 호출
|
|
77
|
-
Task(...) // 태블릿
|
|
78
|
-
// 총 60초 (가장 긴 작업 기준)
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
### Model Routing (Global UX 특화)
|
|
84
|
-
|
|
85
|
-
| 작업 유형 | 모델 | 에이전트 | 예시 |
|
|
86
|
-
|----------|------|---------|------|
|
|
87
|
-
| **디자인 시스템 탐색** | haiku | explore | Material 3/Apple HIG 패턴 분석 |
|
|
88
|
-
| **UI 구현** | sonnet | designer | 컴포넌트, 레이아웃, 반응형 |
|
|
89
|
-
| **복잡한 디자인** | opus | designer | 공간 UI, 크로스 플랫폼 일관성 |
|
|
90
|
-
| **접근성 검증** | opus | code-reviewer | WCAG 2.2, ARIA, 키보드 네비게이션 |
|
|
91
|
-
| **성능 검토** | opus | code-reviewer | 60fps 애니메이션, 번들 최적화 |
|
|
92
|
-
| **문서 작성** | haiku | document-writer | 디자인 가이드, 컴포넌트 문서 |
|
|
93
|
-
|
|
94
|
-
**모델 선택 기준:**
|
|
95
|
-
```typescript
|
|
96
|
-
// 간단한 탐색 → haiku
|
|
97
|
-
Task(subagent_type="explore", model="haiku",
|
|
98
|
-
prompt="프로젝트 기존 다국어 지원 구조 분석")
|
|
99
|
-
|
|
100
|
-
// 일반 구현 → sonnet
|
|
101
|
-
Task(subagent_type="designer", model="sonnet",
|
|
102
|
-
prompt="모바일 레이아웃 구현 (Material 3)")
|
|
103
|
-
|
|
104
|
-
// 복잡한 디자인 → opus
|
|
105
|
-
Task(subagent_type="designer", model="opus",
|
|
106
|
-
prompt="4개 언어 동시 지원하는 통합 디자인 시스템 설계")
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
### 패턴 1: 다국어 디자인 병렬 처리
|
|
112
|
-
|
|
113
|
-
**목표:** EN/ES/ZH/AR 레이아웃을 동시에 구현하여 시간 단축, RTL/LTR 일관성 확보.
|
|
114
|
-
|
|
115
|
-
```typescript
|
|
116
|
-
// ✅ 4개 언어 레이아웃 동시 구현
|
|
117
|
-
Task(subagent_type="designer", model="sonnet",
|
|
118
|
-
prompt=`영어(EN) 레이아웃 구현
|
|
119
|
-
- LTR 기본
|
|
120
|
-
- 짧은 단어 (compact)
|
|
121
|
-
- Material 3 스타일
|
|
122
|
-
- components/en/Header.tsx`)
|
|
123
|
-
|
|
124
|
-
Task(subagent_type="designer", model="sonnet",
|
|
125
|
-
prompt=`스페인어(ES) 레이아웃 구현
|
|
126
|
-
- LTR, 영어보다 20% 긴 텍스트
|
|
127
|
-
- 동적 너비 조정
|
|
128
|
-
- components/es/Header.tsx`)
|
|
129
|
-
|
|
130
|
-
Task(subagent_type="designer", model="sonnet",
|
|
131
|
-
prompt=`중국어(ZH) 레이아웃 구현
|
|
132
|
-
- 세로쓰기 옵션
|
|
133
|
-
- CJK 폰트 (Noto Sans CJK)
|
|
134
|
-
- 컴팩트 레이아웃
|
|
135
|
-
- components/zh/Header.tsx`)
|
|
136
|
-
|
|
137
|
-
Task(subagent_type="designer", model="sonnet",
|
|
138
|
-
prompt=`아랍어(AR) 레이아웃 구현
|
|
139
|
-
- RTL (direction: rtl)
|
|
140
|
-
- 미러링 (아이콘, 레이아웃)
|
|
141
|
-
- 아랍어 폰트 (Noto Sans Arabic)
|
|
142
|
-
- components/ar/Header.tsx`)
|
|
143
|
-
|
|
144
|
-
// 병렬 폰트 시스템
|
|
145
|
-
Task(subagent_type="implementation-executor", model="sonnet",
|
|
146
|
-
prompt=`다국어 폰트 로딩 시스템 구현
|
|
147
|
-
- Next.js Font Optimization
|
|
148
|
-
- 언어별 폰트 스택
|
|
149
|
-
- 폴백 처리`)
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
**예상 시간:**
|
|
153
|
-
- 순차 실행: 240초 (60초 × 4)
|
|
154
|
-
- 병렬 실행: 60초 (가장 긴 작업)
|
|
155
|
-
- 개선: 4배 향상
|
|
156
|
-
|
|
157
|
-
**RTL 처리 체크리스트:**
|
|
158
|
-
- [ ] `direction: rtl` CSS 적용
|
|
159
|
-
- [ ] 아이콘 미러링 (화살표, 햄버거 메뉴)
|
|
160
|
-
- [ ] Flexbox/Grid 자동 반전 (justify-content)
|
|
161
|
-
- [ ] margin/padding 논리 속성 (margin-inline-start)
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
### 패턴 2: 반응형 Breakpoint 병렬 구현
|
|
166
|
-
|
|
167
|
-
**목표:** Mobile/Tablet/Desktop/4K 레이아웃을 동시에 구현.
|
|
168
|
-
|
|
169
|
-
```typescript
|
|
170
|
-
// ✅ 4개 Breakpoint 동시 구현
|
|
171
|
-
Task(subagent_type="designer", model="sonnet",
|
|
172
|
-
prompt=`Mobile 레이아웃 (< 640px)
|
|
173
|
-
- 단일 컬럼
|
|
174
|
-
- 하단 탭 바
|
|
175
|
-
- Safe Area 고려
|
|
176
|
-
- 44px 터치 타겟
|
|
177
|
-
- components/mobile/Dashboard.tsx`)
|
|
178
|
-
|
|
179
|
-
Task(subagent_type="designer", model="sonnet",
|
|
180
|
-
prompt=`Tablet 레이아웃 (640-1024px)
|
|
181
|
-
- 2컬럼 그리드
|
|
182
|
-
- 사이드바 토글
|
|
183
|
-
- 제스처 지원 (스와이프)
|
|
184
|
-
- components/tablet/Dashboard.tsx`)
|
|
185
|
-
|
|
186
|
-
Task(subagent_type="designer", model="sonnet",
|
|
187
|
-
prompt=`Desktop 레이아웃 (1024-1920px)
|
|
188
|
-
- 3컬럼 그리드
|
|
189
|
-
- 고정 사이드바
|
|
190
|
-
- 호버 인터랙션
|
|
191
|
-
- components/desktop/Dashboard.tsx`)
|
|
192
|
-
|
|
193
|
-
Task(subagent_type="designer", model="sonnet",
|
|
194
|
-
prompt=`4K/Ultra-Wide 레이아웃 (> 1920px)
|
|
195
|
-
- 4컬럼 그리드
|
|
196
|
-
- max-w-screen-2xl 컨테이너
|
|
197
|
-
- 여백 최적화
|
|
198
|
-
- 고해상도 이미지
|
|
199
|
-
- components/4k/Dashboard.tsx`)
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
**통합 전략:**
|
|
203
|
-
```typescript
|
|
204
|
-
// 단일 컴포넌트로 통합
|
|
205
|
-
Task(subagent_type="implementation-executor", model="sonnet",
|
|
206
|
-
prompt=`반응형 Dashboard 컴포넌트 통합
|
|
207
|
-
- Breakpoint별 동적 import
|
|
208
|
-
- Tailwind responsive classes
|
|
209
|
-
- 성능 최적화 (code splitting)`)
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
---
|
|
213
|
-
|
|
214
|
-
### 패턴 3: A/B 테스트 변형 병렬 생성
|
|
215
|
-
|
|
216
|
-
**목표:** 디자인 변형을 동시에 구현하여 실험 속도 향상.
|
|
217
|
-
|
|
218
|
-
```typescript
|
|
219
|
-
// ✅ A/B 테스트 3개 변형 동시 구현
|
|
220
|
-
Task(subagent_type="designer", model="sonnet",
|
|
221
|
-
prompt=`Variant A: 미니멀 디자인
|
|
222
|
-
- 단색 배경
|
|
223
|
-
- 작은 버튼 (h-10)
|
|
224
|
-
- 텍스트 중심
|
|
225
|
-
- components/ab-test/VariantA.tsx`)
|
|
226
|
-
|
|
227
|
-
Task(subagent_type="designer", model="sonnet",
|
|
228
|
-
prompt=`Variant B: 대담한 디자인
|
|
229
|
-
- 그라디언트 배경
|
|
230
|
-
- 큰 버튼 (h-14)
|
|
231
|
-
- 애니메이션 강조
|
|
232
|
-
- components/ab-test/VariantB.tsx`)
|
|
233
|
-
|
|
234
|
-
Task(subagent_type="designer", model="sonnet",
|
|
235
|
-
prompt=`Variant C: 하이브리드
|
|
236
|
-
- A와 B의 중간
|
|
237
|
-
- 조건부 애니메이션
|
|
238
|
-
- 어댑티브 크기
|
|
239
|
-
- components/ab-test/VariantC.tsx`)
|
|
240
|
-
|
|
241
|
-
// 병렬 성능 테스트
|
|
242
|
-
Task(subagent_type="code-reviewer", model="opus",
|
|
243
|
-
prompt=`3개 변형 성능 비교
|
|
244
|
-
- 번들 크기
|
|
245
|
-
- First Contentful Paint
|
|
246
|
-
- Interaction to Next Paint
|
|
247
|
-
- 최적 변형 추천`)
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
**A/B 테스트 인프라:**
|
|
251
|
-
```typescript
|
|
252
|
-
Task(subagent_type="implementation-executor", model="sonnet",
|
|
253
|
-
prompt=`A/B 테스트 라우팅 시스템
|
|
254
|
-
- 사용자 그룹 분배 (33/33/33)
|
|
255
|
-
- 쿠키 기반 고정
|
|
256
|
-
- 분석 이벤트 전송`)
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
### 패턴 4: 접근성 검증 병렬
|
|
262
|
-
|
|
263
|
-
**목표:** WCAG/ARIA/키보드 네비게이션을 동시에 검증하여 접근성 품질 보장.
|
|
264
|
-
|
|
265
|
-
```typescript
|
|
266
|
-
// ✅ 3가지 접근성 검증 동시 실행
|
|
267
|
-
Task(subagent_type="code-reviewer", model="opus",
|
|
268
|
-
prompt=`WCAG 2.2 AA 준수 검증
|
|
269
|
-
- 색상 대비 (4.5:1 일반, 3:1 큰 텍스트)
|
|
270
|
-
- 포커스 표시 (2px 아웃라인)
|
|
271
|
-
- 텍스트 크기 조정 (200%)
|
|
272
|
-
- 모든 interactive 요소 검토`)
|
|
273
|
-
|
|
274
|
-
Task(subagent_type="code-reviewer", model="opus",
|
|
275
|
-
prompt=`ARIA 속성 검증
|
|
276
|
-
- role, aria-label, aria-labelledby
|
|
277
|
-
- aria-expanded, aria-controls (동적 UI)
|
|
278
|
-
- aria-live (실시간 업데이트)
|
|
279
|
-
- landmark 역할 (navigation, main, aside)`)
|
|
280
|
-
|
|
281
|
-
Task(subagent_type="code-reviewer", model="opus",
|
|
282
|
-
prompt=`키보드 네비게이션 검증
|
|
283
|
-
- Tab 순서 (tabindex)
|
|
284
|
-
- Enter/Space (버튼 활성화)
|
|
285
|
-
- Esc (모달 닫기)
|
|
286
|
-
- 화살표 키 (드롭다운, 슬라이더)
|
|
287
|
-
- 포커스 트랩 (모달 내부)`)
|
|
288
|
-
|
|
289
|
-
// 스크린 리더 테스트
|
|
290
|
-
Task(subagent_type="code-reviewer", model="opus",
|
|
291
|
-
prompt=`스크린 리더 호환성
|
|
292
|
-
- VoiceOver (Safari)
|
|
293
|
-
- NVDA (Firefox)
|
|
294
|
-
- JAWS (Chrome)
|
|
295
|
-
- 의미적 HTML 구조 검증`)
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
**자동 수정 패턴:**
|
|
299
|
-
```typescript
|
|
300
|
-
// 검증 후 자동 수정
|
|
301
|
-
Task(subagent_type="lint-fixer", model="sonnet",
|
|
302
|
-
prompt=`접근성 이슈 자동 수정
|
|
303
|
-
- 대비 부족 색상 조정
|
|
304
|
-
- 누락된 alt 추가
|
|
305
|
-
- aria-label 보완
|
|
306
|
-
- tabindex 최적화`)
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
---
|
|
310
|
-
|
|
311
|
-
### 패턴 5: 디자인 시스템 컴포넌트 병렬 구현
|
|
312
|
-
|
|
313
|
-
**목표:** 여러 컴포넌트를 동시에 구현하여 디자인 시스템 구축 가속화.
|
|
314
|
-
|
|
315
|
-
```typescript
|
|
316
|
-
// ✅ 10개 컴포넌트 동시 구현
|
|
317
|
-
Task(subagent_type="designer", model="sonnet",
|
|
318
|
-
prompt="Button 컴포넌트 (Primary, Secondary, Ghost)")
|
|
319
|
-
|
|
320
|
-
Task(subagent_type="designer", model="sonnet",
|
|
321
|
-
prompt="Input 컴포넌트 (Text, Email, Password, Search)")
|
|
322
|
-
|
|
323
|
-
Task(subagent_type="designer", model="sonnet",
|
|
324
|
-
prompt="Card 컴포넌트 (Default, Interactive, Elevated)")
|
|
325
|
-
|
|
326
|
-
Task(subagent_type="designer", model="sonnet",
|
|
327
|
-
prompt="Modal 컴포넌트 (Dialog, Drawer, Bottom Sheet)")
|
|
328
|
-
|
|
329
|
-
Task(subagent_type="designer", model="sonnet",
|
|
330
|
-
prompt="Toast/Notification 컴포넌트")
|
|
331
|
-
|
|
332
|
-
Task(subagent_type="designer", model="sonnet",
|
|
333
|
-
prompt="Dropdown/Select 컴포넌트")
|
|
334
|
-
|
|
335
|
-
Task(subagent_type="designer", model="sonnet",
|
|
336
|
-
prompt="Tabs 컴포넌트 (Underline, Segment Control)")
|
|
337
|
-
|
|
338
|
-
Task(subagent_type="designer", model="sonnet",
|
|
339
|
-
prompt="Avatar 컴포넌트 (User, Group, Fallback)")
|
|
340
|
-
|
|
341
|
-
Task(subagent_type="designer", model="sonnet",
|
|
342
|
-
prompt="Badge/Chip 컴포넌트 (Status, Label, Removable)")
|
|
343
|
-
|
|
344
|
-
Task(subagent_type="designer", model="sonnet",
|
|
345
|
-
prompt="Skeleton Loader 컴포넌트")
|
|
346
|
-
|
|
347
|
-
// 병렬 문서 작성
|
|
348
|
-
Task(subagent_type="document-writer", model="haiku",
|
|
349
|
-
prompt=`Storybook 문서 생성
|
|
350
|
-
- 10개 컴포넌트 스토리
|
|
351
|
-
- Props 테이블
|
|
352
|
-
- 사용 예시`)
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
**예상 시간:**
|
|
356
|
-
- 순차 실행: 600초 (60초 × 10)
|
|
357
|
-
- 병렬 실행: 60초
|
|
358
|
-
- 개선: 10배 향상
|
|
359
|
-
|
|
360
|
-
---
|
|
361
|
-
|
|
362
|
-
### 실전 시나리오
|
|
363
|
-
|
|
364
|
-
#### 시나리오 1: 글로벌 이커머스 플랫폼
|
|
365
|
-
|
|
366
|
-
**요구사항:** 10개 언어, 5개 통화, 3개 플랫폼 (Web/iOS/Android)
|
|
367
|
-
|
|
368
|
-
```typescript
|
|
369
|
-
// Phase 1: 병렬 탐색
|
|
370
|
-
Task(subagent_type="explore", model="haiku",
|
|
371
|
-
prompt="Shopify Polaris 디자인 패턴 분석")
|
|
372
|
-
Task(subagent_type="explore", model="haiku",
|
|
373
|
-
prompt="Amazon/Alibaba 다국어 UI 구조 분석")
|
|
374
|
-
Task(subagent_type="explore", model="haiku",
|
|
375
|
-
prompt="결제 UI 접근성 모범 사례 (Stripe, PayPal)")
|
|
376
|
-
|
|
377
|
-
// Phase 2: 다국어 레이아웃 병렬 구현
|
|
378
|
-
Task(subagent_type="designer", model="sonnet",
|
|
379
|
-
prompt="영어/독일어/프랑스어 상품 페이지 (LTR)")
|
|
380
|
-
Task(subagent_type="designer", model="sonnet",
|
|
381
|
-
prompt="아랍어/히브리어 상품 페이지 (RTL)")
|
|
382
|
-
Task(subagent_type="designer", model="sonnet",
|
|
383
|
-
prompt="중국어/일본어/한국어 상품 페이지 (CJK)")
|
|
384
|
-
Task(subagent_type="designer", model="sonnet",
|
|
385
|
-
prompt="통화별 가격 포매팅 컴포넌트 ($, €, ¥, ₩)")
|
|
386
|
-
|
|
387
|
-
// Phase 3: 반응형 병렬
|
|
388
|
-
Task(subagent_type="designer", model="sonnet",
|
|
389
|
-
prompt="모바일 체크아웃 (1-step)")
|
|
390
|
-
Task(subagent_type="designer", model="sonnet",
|
|
391
|
-
prompt="데스크톱 체크아웃 (Multi-step)")
|
|
392
|
-
|
|
393
|
-
// Phase 4: 접근성 검증
|
|
394
|
-
Task(subagent_type="code-reviewer", model="opus",
|
|
395
|
-
prompt="결제 폼 접근성 (WCAG 2.2 AA, 스크린 리더)")
|
|
396
|
-
```
|
|
397
|
-
|
|
398
|
-
**예상 시간:**
|
|
399
|
-
- 순차: 540초 (60초 × 9)
|
|
400
|
-
- 병렬: 60초
|
|
401
|
-
- 개선: 9배 향상
|
|
402
|
-
|
|
403
|
-
---
|
|
404
|
-
|
|
405
|
-
#### 시나리오 2: 다국어 SaaS 대시보드
|
|
406
|
-
|
|
407
|
-
**요구사항:** 4개 언어, 실시간 데이터, 어댑티브 차트
|
|
408
|
-
|
|
409
|
-
```typescript
|
|
410
|
-
// Phase 1: 디자인 시스템
|
|
411
|
-
Task(subagent_type="designer", model="opus",
|
|
412
|
-
prompt="SaaS 디자인 토큰 시스템 (Carbon Design 기반)")
|
|
413
|
-
|
|
414
|
-
// Phase 2: 병렬 구현
|
|
415
|
-
Task(subagent_type="designer", model="sonnet",
|
|
416
|
-
prompt="대시보드 레이아웃 (4개 언어 동시 지원)")
|
|
417
|
-
Task(subagent_type="designer", model="sonnet",
|
|
418
|
-
prompt="데이터 테이블 (정렬, 필터, 페이지네이션)")
|
|
419
|
-
Task(subagent_type="designer", model="sonnet",
|
|
420
|
-
prompt="차트 컴포넌트 (Recharts, 반응형)")
|
|
421
|
-
Task(subagent_type="implementation-executor", model="sonnet",
|
|
422
|
-
prompt="실시간 WebSocket 연동")
|
|
423
|
-
|
|
424
|
-
// Phase 3: 접근성
|
|
425
|
-
Task(subagent_type="code-reviewer", model="opus",
|
|
426
|
-
prompt="차트 접근성 (aria-label, 데이터 테이블 대체)")
|
|
427
|
-
Task(subagent_type="code-reviewer", model="opus",
|
|
428
|
-
prompt="키보드 네비게이션 (테이블, 필터)")
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
---
|
|
432
|
-
|
|
433
|
-
#### 시나리오 3: 모바일 우선 소셜 앱
|
|
434
|
-
|
|
435
|
-
**요구사항:** iOS/Android 네이티브 느낌, 60fps 애니메이션
|
|
436
|
-
|
|
437
|
-
```typescript
|
|
438
|
-
// Phase 1: 플랫폼별 탐색
|
|
439
|
-
Task(subagent_type="explore", model="haiku",
|
|
440
|
-
prompt="iOS Human Interface Guidelines 최신 패턴")
|
|
441
|
-
Task(subagent_type="explore", model="haiku",
|
|
442
|
-
prompt="Material 3 모바일 컴포넌트")
|
|
443
|
-
|
|
444
|
-
// Phase 2: 병렬 구현
|
|
445
|
-
Task(subagent_type="designer", model="sonnet",
|
|
446
|
-
prompt="iOS 스타일 피드 (SF Symbols, 네이티브 제스처)")
|
|
447
|
-
Task(subagent_type="designer", model="sonnet",
|
|
448
|
-
prompt="Android 스타일 피드 (Material 3, FAB)")
|
|
449
|
-
Task(subagent_type="designer", model="sonnet",
|
|
450
|
-
prompt="공통 스토리 컴포넌트 (Instagram 스타일)")
|
|
451
|
-
Task(subagent_type="implementation-executor", model="sonnet",
|
|
452
|
-
prompt="60fps 애니메이션 (Framer Motion)")
|
|
453
|
-
|
|
454
|
-
// Phase 3: 성능 검증
|
|
455
|
-
Task(subagent_type="code-reviewer", model="opus",
|
|
456
|
-
prompt="성능 검토 (FPS, 메모리, 배터리)")
|
|
457
|
-
```
|
|
458
|
-
|
|
459
|
-
---
|
|
460
|
-
|
|
461
|
-
#### 시나리오 4: 엔터프라이즈 디자인 시스템 구축
|
|
462
|
-
|
|
463
|
-
**요구사항:** 100+ 컴포넌트, Figma 동기화, 접근성 AAA
|
|
464
|
-
|
|
465
|
-
```typescript
|
|
466
|
-
// Phase 1: 탐색
|
|
467
|
-
Task(subagent_type="explore", model="haiku",
|
|
468
|
-
prompt="IBM Carbon, Salesforce Lightning 분석")
|
|
469
|
-
Task(subagent_type="explore", model="haiku",
|
|
470
|
-
prompt="Figma Design Tokens 플러그인 조사")
|
|
471
|
-
|
|
472
|
-
// Phase 2: 토큰 시스템
|
|
473
|
-
Task(subagent_type="designer", model="opus",
|
|
474
|
-
prompt="디자인 토큰 시스템 (색상, 타이포, 간격, 그림자)")
|
|
475
|
-
|
|
476
|
-
// Phase 3: 컴포넌트 병렬 구현 (20개씩 배치)
|
|
477
|
-
// Batch 1
|
|
478
|
-
Task(subagent_type="designer", model="sonnet",
|
|
479
|
-
prompt="Form 컴포넌트 (Input, Select, Checkbox, Radio, Switch)")
|
|
480
|
-
// Batch 2
|
|
481
|
-
Task(subagent_type="designer", model="sonnet",
|
|
482
|
-
prompt="Navigation 컴포넌트 (Navbar, Sidebar, Tabs, Breadcrumb)")
|
|
483
|
-
// Batch 3
|
|
484
|
-
Task(subagent_type="designer", model="sonnet",
|
|
485
|
-
prompt="Feedback 컴포넌트 (Toast, Modal, Alert, Progress)")
|
|
486
|
-
// Batch 4
|
|
487
|
-
Task(subagent_type="designer", model="sonnet",
|
|
488
|
-
prompt="Data Display 컴포넌트 (Table, Card, List, Badge)")
|
|
489
|
-
|
|
490
|
-
// Phase 4: 접근성 AAA
|
|
491
|
-
Task(subagent_type="code-reviewer", model="opus",
|
|
492
|
-
prompt="WCAG 2.2 AAA 검증 (7:1 대비, 모든 인터랙션)")
|
|
493
|
-
|
|
494
|
-
// Phase 5: 문서
|
|
495
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
496
|
-
prompt="Storybook + 디자인 가이드라인 생성")
|
|
497
|
-
```
|
|
498
|
-
|
|
499
|
-
**예상 시간:**
|
|
500
|
-
- 순차: 1200초 (20분)
|
|
501
|
-
- 병렬: 240초 (4분)
|
|
502
|
-
- 개선: 5배 향상
|
|
503
|
-
|
|
504
|
-
---
|
|
505
|
-
|
|
506
|
-
### 체크리스트
|
|
507
|
-
|
|
508
|
-
#### 병렬 실행 전 확인
|
|
509
|
-
|
|
510
|
-
- [ ] 독립적인 작업인가? (의존성 없음)
|
|
511
|
-
- [ ] 같은 파일을 동시 수정하지 않는가?
|
|
512
|
-
- [ ] 컨텍스트 분리 가능한가?
|
|
513
|
-
|
|
514
|
-
#### Global UX 특화 확인
|
|
515
|
-
|
|
516
|
-
- [ ] 다국어 작업 → 언어별 병렬 실행
|
|
517
|
-
- [ ] 반응형 작업 → Breakpoint별 병렬 실행
|
|
518
|
-
- [ ] A/B 테스트 → 변형별 병렬 실행
|
|
519
|
-
- [ ] 접근성 검증 → WCAG/ARIA/키보드 병렬
|
|
520
|
-
- [ ] 디자인 시스템 → 컴포넌트별 병렬 실행
|
|
521
|
-
|
|
522
|
-
#### 모델 선택 확인
|
|
523
|
-
|
|
524
|
-
- [ ] 탐색 작업 → haiku
|
|
525
|
-
- [ ] 일반 구현 → sonnet
|
|
526
|
-
- [ ] 복잡한 디자인 → opus
|
|
527
|
-
- [ ] 접근성 검증 → opus
|
|
528
|
-
- [ ] 문서 작성 → haiku
|
|
529
|
-
|
|
530
|
-
#### 성능 최적화
|
|
531
|
-
|
|
532
|
-
- [ ] 3-10개 작업 동시 실행
|
|
533
|
-
- [ ] 병렬 실행 시간 예상 (순차 대비 5-15배 향상)
|
|
534
|
-
- [ ] 컨텍스트 크기 모니터링
|
|
535
|
-
- [ ] 실패 시 재시도 전략 (3회 제한)
|
|
536
|
-
|
|
537
|
-
#### 완료 후 검증
|
|
538
|
-
|
|
539
|
-
- [ ] 모든 언어 레이아웃 정상 작동
|
|
540
|
-
- [ ] 모든 Breakpoint 반응형 동작
|
|
541
|
-
- [ ] 접근성 WCAG 2.2 AA 통과
|
|
542
|
-
- [ ] 성능 목표 달성 (60fps, LCP < 2.5s)
|
|
543
|
-
|
|
544
|
-
**적극적으로 병렬 실행 활용. 순차 실행은 의존성이 명확할 때만.**
|
|
545
|
-
|
|
546
|
-
</parallel_agent_execution>
|
|
547
|
-
|
|
548
|
-
---
|
|
549
|
-
|
|
550
|
-
<core_principles>
|
|
551
|
-
|
|
552
|
-
## Design Philosophy
|
|
553
|
-
|
|
554
|
-
| Principle | Application |
|
|
555
|
-
|-----------|-------------|
|
|
556
|
-
| **Clarity** | Interface should not compete with content. Use subtle hierarchy and whitespace. |
|
|
557
|
-
| **Consistency** | Follow platform conventions. iOS apps feel like iOS, web apps follow web standards. |
|
|
558
|
-
| **Accessibility** | Design for everyone. WCAG 2.2 AA minimum, aim for AAA where possible. |
|
|
559
|
-
| **Performance** | Fast, responsive interactions. 60fps animations, instant feedback. |
|
|
560
|
-
|
|
561
|
-
**Details:** [references/design-philosophy.md](references/design-philosophy.md)
|
|
562
|
-
|
|
563
|
-
</core_principles>
|
|
564
|
-
|
|
565
|
-
---
|
|
566
|
-
|
|
567
|
-
<layout_patterns>
|
|
568
|
-
|
|
569
|
-
## Layout
|
|
570
|
-
|
|
571
|
-
### Container Widths
|
|
572
|
-
|
|
573
|
-
```tsx
|
|
574
|
-
{/* Dashboard - 1280px */}
|
|
575
|
-
<div className="max-w-screen-xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
576
|
-
|
|
577
|
-
{/* Content - 768px */}
|
|
578
|
-
<div className="max-w-3xl mx-auto px-4 sm:px-6">
|
|
579
|
-
|
|
580
|
-
{/* Forms - 560px */}
|
|
581
|
-
<div className="max-w-xl mx-auto px-4">
|
|
582
|
-
```
|
|
583
|
-
|
|
584
|
-
### Spacing Scale
|
|
585
|
-
|
|
586
|
-
```tsx
|
|
587
|
-
{/* 8px base grid */}
|
|
588
|
-
<div className="space-y-8"> {/* 32px */}
|
|
589
|
-
<section className="space-y-4"> {/* 16px */}
|
|
590
|
-
<div className="p-6"> {/* 24px */}
|
|
591
|
-
```
|
|
592
|
-
|
|
593
|
-
**Mobile tap targets:** Minimum 44x44px (iOS) or 48x48px (Material)
|
|
594
|
-
|
|
595
|
-
</layout_patterns>
|
|
596
|
-
|
|
597
|
-
---
|
|
598
|
-
|
|
599
|
-
<component_patterns>
|
|
600
|
-
|
|
601
|
-
## Components
|
|
602
|
-
|
|
603
|
-
### Buttons
|
|
604
|
-
|
|
605
|
-
```tsx
|
|
606
|
-
{/* Primary - Material 3 style */}
|
|
607
|
-
<button className="h-10 px-6 rounded-full bg-primary-600 hover:bg-primary-700 text-white font-medium shadow-sm transition-all">
|
|
608
|
-
Save changes
|
|
609
|
-
</button>
|
|
610
|
-
|
|
611
|
-
{/* Secondary - iOS style */}
|
|
612
|
-
<button className="h-10 px-6 rounded-lg bg-gray-100 hover:bg-gray-200 text-gray-900 font-semibold transition-colors">
|
|
613
|
-
Cancel
|
|
614
|
-
</button>
|
|
615
|
-
|
|
616
|
-
{/* Ghost */}
|
|
617
|
-
<button className="h-10 px-4 rounded-lg hover:bg-gray-100 font-medium transition-colors">
|
|
618
|
-
Learn more
|
|
619
|
-
</button>
|
|
620
|
-
```
|
|
621
|
-
|
|
622
|
-
**Sizes:** Small h-8 px-3 | Medium h-10 px-6 | Large h-12 px-8
|
|
623
|
-
|
|
624
|
-
### Cards
|
|
625
|
-
|
|
626
|
-
```tsx
|
|
627
|
-
<div className="p-6 rounded-2xl border border-gray-200 bg-white shadow-sm hover:shadow-md transition-shadow">
|
|
628
|
-
{/* Header */}
|
|
629
|
-
<div className="flex items-center justify-between mb-4">
|
|
630
|
-
<h3 className="text-lg font-semibold">Card Title</h3>
|
|
631
|
-
<button className="p-2 rounded-lg hover:bg-gray-100">
|
|
632
|
-
<svg className="w-5 h-5 text-gray-500" />
|
|
633
|
-
</button>
|
|
634
|
-
</div>
|
|
635
|
-
|
|
636
|
-
{/* Body */}
|
|
637
|
-
<div className="space-y-3">
|
|
638
|
-
<p className="text-sm text-gray-600 leading-relaxed">Content goes here</p>
|
|
639
|
-
</div>
|
|
640
|
-
|
|
641
|
-
{/* Footer */}
|
|
642
|
-
<div className="flex items-center justify-between mt-4 pt-4 border-t">
|
|
643
|
-
<span className="text-sm text-gray-500">2 hours ago</span>
|
|
644
|
-
<button className="text-sm text-primary-600 font-medium">Details</button>
|
|
645
|
-
</div>
|
|
646
|
-
</div>
|
|
647
|
-
```
|
|
648
|
-
|
|
649
|
-
### List Items
|
|
650
|
-
|
|
651
|
-
```tsx
|
|
652
|
-
<div className="flex items-center gap-4 p-4 hover:bg-gray-50 rounded-lg transition-colors cursor-pointer">
|
|
653
|
-
{/* Avatar/Icon */}
|
|
654
|
-
<div className="w-12 h-12 rounded-full bg-primary-100 flex items-center justify-center flex-shrink-0">
|
|
655
|
-
<svg className="w-6 h-6 text-primary-600" />
|
|
656
|
-
</div>
|
|
657
|
-
|
|
658
|
-
{/* Content */}
|
|
659
|
-
<div className="flex-1 min-w-0">
|
|
660
|
-
<div className="font-semibold text-sm truncate">Item Title</div>
|
|
661
|
-
<div className="text-sm text-gray-600 truncate">Description text</div>
|
|
662
|
-
</div>
|
|
663
|
-
|
|
664
|
-
{/* Meta */}
|
|
665
|
-
<div className="flex items-center gap-2 flex-shrink-0">
|
|
666
|
-
<span className="text-sm font-medium text-gray-900">$99</span>
|
|
667
|
-
<svg className="w-5 h-5 text-gray-400" />
|
|
668
|
-
</div>
|
|
669
|
-
</div>
|
|
670
|
-
```
|
|
671
|
-
|
|
672
|
-
### Input Fields
|
|
673
|
-
|
|
674
|
-
```tsx
|
|
675
|
-
<div className="space-y-2">
|
|
676
|
-
<label className="block text-sm font-medium text-gray-900">
|
|
677
|
-
Email address <span className="text-red-500">*</span>
|
|
678
|
-
</label>
|
|
679
|
-
<input
|
|
680
|
-
type="email"
|
|
681
|
-
className="w-full h-11 px-4 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-shadow"
|
|
682
|
-
placeholder="name@example.com"
|
|
683
|
-
/>
|
|
684
|
-
<p className="text-sm text-gray-500">We'll never share your email.</p>
|
|
685
|
-
</div>
|
|
686
|
-
```
|
|
687
|
-
|
|
688
|
-
### Modals
|
|
689
|
-
|
|
690
|
-
```tsx
|
|
691
|
-
<div className="fixed inset-0 bg-black/50 flex items-center justify-center p-4 z-50 backdrop-blur-sm">
|
|
692
|
-
<div className="bg-white rounded-2xl max-w-lg w-full max-h-[90vh] overflow-auto shadow-xl">
|
|
693
|
-
<div className="flex items-center justify-between p-6 border-b">
|
|
694
|
-
<h2 className="text-xl font-semibold">Modal Title</h2>
|
|
695
|
-
<button className="w-10 h-10 flex items-center justify-center rounded-lg hover:bg-gray-100 transition-colors">
|
|
696
|
-
<svg className="w-5 h-5" />
|
|
697
|
-
</button>
|
|
698
|
-
</div>
|
|
699
|
-
<div className="p-6">
|
|
700
|
-
<p className="text-sm text-gray-700 leading-relaxed">Modal content</p>
|
|
701
|
-
</div>
|
|
702
|
-
<div className="flex gap-3 justify-end p-6 border-t">
|
|
703
|
-
<button className="h-10 px-6 rounded-lg border border-gray-300 hover:bg-gray-50">
|
|
704
|
-
Cancel
|
|
705
|
-
</button>
|
|
706
|
-
<button className="h-10 px-6 rounded-lg bg-primary-600 text-white hover:bg-primary-700">
|
|
707
|
-
Confirm
|
|
708
|
-
</button>
|
|
709
|
-
</div>
|
|
710
|
-
</div>
|
|
711
|
-
</div>
|
|
712
|
-
```
|
|
713
|
-
|
|
714
|
-
### Tabs
|
|
715
|
-
|
|
716
|
-
```tsx
|
|
717
|
-
{/* Underline style - iOS/Material */}
|
|
718
|
-
<div className="border-b border-gray-200">
|
|
719
|
-
<div className="flex gap-8">
|
|
720
|
-
<button className="py-3 text-sm font-medium text-primary-600 border-b-2 border-primary-600">
|
|
721
|
-
All
|
|
722
|
-
</button>
|
|
723
|
-
<button className="py-3 text-sm font-medium text-gray-600 hover:text-gray-900">
|
|
724
|
-
Active
|
|
725
|
-
</button>
|
|
726
|
-
</div>
|
|
727
|
-
</div>
|
|
728
|
-
|
|
729
|
-
{/* Segment control - iOS style */}
|
|
730
|
-
<div className="inline-flex p-1 bg-gray-100 rounded-lg gap-1">
|
|
731
|
-
<button className="px-4 py-2 rounded-md bg-white shadow-sm text-sm font-medium">
|
|
732
|
-
All
|
|
733
|
-
</button>
|
|
734
|
-
<button className="px-4 py-2 rounded-md text-sm font-medium text-gray-600">
|
|
735
|
-
Active
|
|
736
|
-
</button>
|
|
737
|
-
</div>
|
|
738
|
-
```
|
|
739
|
-
|
|
740
|
-
</component_patterns>
|
|
741
|
-
|
|
742
|
-
---
|
|
743
|
-
|
|
744
|
-
<color_system>
|
|
745
|
-
|
|
746
|
-
## Color System
|
|
747
|
-
|
|
748
|
-
| Color | Usage | Ratio |
|
|
749
|
-
|-------|-------|-------|
|
|
750
|
-
| **Primary** | CTA buttons, links, active states | 10% |
|
|
751
|
-
| **Neutral** | Text, borders, backgrounds | 60% |
|
|
752
|
-
| **Secondary** | Filters, chips, supporting actions | 30% |
|
|
753
|
-
| **Semantic** | Success/Error/Warning/Info | As needed |
|
|
754
|
-
|
|
755
|
-
```tsx
|
|
756
|
-
{/* 60-30-10 rule */}
|
|
757
|
-
<button className="bg-primary-600 hover:bg-primary-700 text-white">Primary action</button>
|
|
758
|
-
<button className="bg-secondary-100 text-secondary-900 hover:bg-secondary-200">Secondary</button>
|
|
759
|
-
```
|
|
760
|
-
|
|
761
|
-
**WCAG 2.2 AA:** Normal text 4.5:1 | Large text 3:1 | Interactive controls 3:1
|
|
762
|
-
|
|
763
|
-
**Details:** [references/color-system.md](references/color-system.md)
|
|
764
|
-
|
|
765
|
-
</color_system>
|
|
766
|
-
|
|
767
|
-
---
|
|
768
|
-
|
|
769
|
-
<icon_system>
|
|
770
|
-
|
|
771
|
-
## Icons
|
|
772
|
-
|
|
773
|
-
| Size | Usage | Touch Target |
|
|
774
|
-
|------|-------|--------------|
|
|
775
|
-
| 16px, 20px | Inline with text | - |
|
|
776
|
-
| 24px | Standard system icons | 44-48px |
|
|
777
|
-
| 32-48px | Feature icons | Use as-is |
|
|
778
|
-
|
|
779
|
-
```tsx
|
|
780
|
-
{/* Sufficient touch target */}
|
|
781
|
-
<button className="w-12 h-12 flex items-center justify-center rounded-lg hover:bg-gray-100">
|
|
782
|
-
<svg className="w-6 h-6" />
|
|
783
|
-
</button>
|
|
784
|
-
|
|
785
|
-
{/* States: Outline (inactive) | Filled (active) */}
|
|
786
|
-
<svg className="w-6 h-6 stroke-current text-gray-600" fill="none" strokeWidth={2} />
|
|
787
|
-
<svg className="w-6 h-6 fill-current text-primary-600" />
|
|
788
|
-
```
|
|
789
|
-
|
|
790
|
-
**Icon libraries:** Heroicons, Lucide, Material Symbols, SF Symbols
|
|
791
|
-
|
|
792
|
-
**Details:** [references/icon-guide.md](references/icon-guide.md)
|
|
793
|
-
|
|
794
|
-
</icon_system>
|
|
795
|
-
|
|
796
|
-
---
|
|
797
|
-
|
|
798
|
-
<typography>
|
|
799
|
-
|
|
800
|
-
## Typography
|
|
801
|
-
|
|
802
|
-
```tsx
|
|
803
|
-
{/* Display - Landing pages */}
|
|
804
|
-
<h1 className="text-5xl sm:text-6xl font-bold tracking-tight leading-tight">
|
|
805
|
-
Welcome to our platform
|
|
806
|
-
</h1>
|
|
807
|
-
|
|
808
|
-
{/* Page title */}
|
|
809
|
-
<h1 className="text-3xl font-bold tracking-tight">Dashboard</h1>
|
|
810
|
-
|
|
811
|
-
{/* Section title */}
|
|
812
|
-
<h2 className="text-xl font-semibold tracking-tight">Recent Activity</h2>
|
|
813
|
-
|
|
814
|
-
{/* Body text */}
|
|
815
|
-
<p className="text-base leading-relaxed text-gray-700">
|
|
816
|
-
Body content with comfortable reading line-height
|
|
817
|
-
</p>
|
|
818
|
-
|
|
819
|
-
{/* Caption */}
|
|
820
|
-
<span className="text-sm text-gray-500">2 hours ago</span>
|
|
821
|
-
```
|
|
822
|
-
|
|
823
|
-
**Font stack:**
|
|
824
|
-
```css
|
|
825
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
|
|
826
|
-
```
|
|
827
|
-
|
|
828
|
-
**Details:** [references/typography.md](references/typography.md)
|
|
829
|
-
|
|
830
|
-
</typography>
|
|
831
|
-
|
|
832
|
-
---
|
|
833
|
-
|
|
834
|
-
<responsive_patterns>
|
|
835
|
-
|
|
836
|
-
## Responsive Design
|
|
837
|
-
|
|
838
|
-
### Grid Layouts
|
|
839
|
-
|
|
840
|
-
```tsx
|
|
841
|
-
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 sm:gap-6">
|
|
842
|
-
{items.map(item => <Card key={item.id} {...item} />)}
|
|
843
|
-
</div>
|
|
844
|
-
```
|
|
845
|
-
|
|
846
|
-
### Navigation
|
|
847
|
-
|
|
848
|
-
```tsx
|
|
849
|
-
{/* Desktop: Sidebar */}
|
|
850
|
-
<aside className="hidden lg:block w-64 border-r" />
|
|
851
|
-
|
|
852
|
-
{/* Mobile: Bottom tab bar */}
|
|
853
|
-
<nav className="lg:hidden fixed bottom-0 inset-x-0 h-16 border-t bg-white safe-area-inset-bottom" />
|
|
854
|
-
```
|
|
855
|
-
|
|
856
|
-
### Breakpoints (Tailwind defaults)
|
|
857
|
-
|
|
858
|
-
| Breakpoint | Width |
|
|
859
|
-
|------------|-------|
|
|
860
|
-
| sm | 640px |
|
|
861
|
-
| md | 768px |
|
|
862
|
-
| lg | 1024px |
|
|
863
|
-
| xl | 1280px |
|
|
864
|
-
| 2xl | 1536px |
|
|
865
|
-
|
|
866
|
-
**Details:** [references/responsive-patterns.md](references/responsive-patterns.md)
|
|
867
|
-
|
|
868
|
-
</responsive_patterns>
|
|
869
|
-
|
|
870
|
-
---
|
|
871
|
-
|
|
872
|
-
<design_systems>
|
|
873
|
-
|
|
874
|
-
## Leading Design Systems
|
|
875
|
-
|
|
876
|
-
| System | Organization | Characteristics |
|
|
877
|
-
|--------|--------------|-----------------|
|
|
878
|
-
| **[Material Design 3](https://m3.material.io/)** | Google | Dynamic color, expressive motion, adaptive components |
|
|
879
|
-
| **[Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/)** | Apple | Clarity, deference, depth. Liquid Glass aesthetic (2026) |
|
|
880
|
-
| **[Fluent 2](https://fluent2.microsoft.design/)** | Microsoft | Token-based, cross-platform, Figma-native |
|
|
881
|
-
| **[Carbon](https://carbondesignsystem.com/)** | IBM | Enterprise-grade, accessibility-first, open source |
|
|
882
|
-
| **[Ant Design](https://ant.design/)** | Ant Group | Enterprise UI, comprehensive components, i18n |
|
|
883
|
-
| **[Polaris](https://polaris.shopify.com/)** | Shopify | E-commerce optimized, web components (2026) |
|
|
884
|
-
| **[Lightning](https://www.lightningdesignsystem.com/)** | Salesforce | SLDS 2 with agentic design patterns |
|
|
885
|
-
| **[Spectrum 2](https://spectrum.adobe.com/)** | Adobe | Creative tools focus, cross-app consistency |
|
|
886
|
-
| **[Atlassian DS](https://atlassian.design/)** | Atlassian | Collaboration tools, strict 4px grid |
|
|
887
|
-
| **[Chakra UI](https://chakra-ui.com/)** | Community | Accessible, modular, style props |
|
|
888
|
-
|
|
889
|
-
**When to reference:**
|
|
890
|
-
- B2B/Enterprise → Carbon, Ant Design, Lightning
|
|
891
|
-
- Consumer apps → Material 3, Apple HIG
|
|
892
|
-
- Creative tools → Spectrum 2
|
|
893
|
-
- E-commerce → Polaris
|
|
894
|
-
- Developer tools → Atlassian
|
|
895
|
-
|
|
896
|
-
**Details:** [references/design-systems.md](references/design-systems.md)
|
|
897
|
-
|
|
898
|
-
</design_systems>
|
|
899
|
-
|
|
900
|
-
---
|
|
901
|
-
|
|
902
|
-
<accessibility_and_states>
|
|
903
|
-
|
|
904
|
-
## Accessibility & States
|
|
905
|
-
|
|
906
|
-
### WCAG 2.2 AA Requirements
|
|
907
|
-
|
|
908
|
-
- **Contrast:** 4.5:1 normal text, 3:1 large text (18pt+)
|
|
909
|
-
- **Keyboard:** All interactive elements accessible via keyboard
|
|
910
|
-
- **Screen readers:** Semantic HTML, ARIA labels where needed
|
|
911
|
-
- **Focus visible:** Clear focus indicators (2px outline minimum)
|
|
912
|
-
- **No color alone:** Never convey information with color only
|
|
913
|
-
|
|
914
|
-
### State Patterns
|
|
915
|
-
|
|
916
|
-
```tsx
|
|
917
|
-
{/* Loading skeleton */}
|
|
918
|
-
<div className="animate-pulse space-y-3">
|
|
919
|
-
<div className="h-4 bg-gray-200 rounded w-3/4" />
|
|
920
|
-
<div className="h-4 bg-gray-200 rounded w-1/2" />
|
|
921
|
-
</div>
|
|
922
|
-
|
|
923
|
-
{/* Error state */}
|
|
924
|
-
<div className="flex items-center gap-2 text-red-600 text-sm">
|
|
925
|
-
<svg className="w-5 h-5" />
|
|
926
|
-
<span>An error occurred. Please try again.</span>
|
|
927
|
-
</div>
|
|
928
|
-
|
|
929
|
-
{/* Empty state */}
|
|
930
|
-
<div className="py-16 text-center">
|
|
931
|
-
<div className="w-20 h-20 mx-auto mb-4 rounded-full bg-gray-100 flex items-center justify-center">
|
|
932
|
-
<svg className="w-10 h-10 text-gray-400" />
|
|
933
|
-
</div>
|
|
934
|
-
<h3 className="text-lg font-semibold mb-2">No items yet</h3>
|
|
935
|
-
<p className="text-sm text-gray-600 mb-4">Get started by creating your first item</p>
|
|
936
|
-
<button className="h-10 px-6 rounded-lg bg-primary-600 text-white">
|
|
937
|
-
Create item
|
|
938
|
-
</button>
|
|
939
|
-
</div>
|
|
940
|
-
|
|
941
|
-
{/* Success toast */}
|
|
942
|
-
<div className="flex items-center gap-3 px-4 py-3 rounded-lg bg-green-50 border border-green-200">
|
|
943
|
-
<svg className="w-5 h-5 text-green-600" />
|
|
944
|
-
<span className="text-sm font-medium text-green-900">Changes saved successfully</span>
|
|
945
|
-
</div>
|
|
946
|
-
```
|
|
947
|
-
|
|
948
|
-
**Details:**
|
|
949
|
-
- [references/accessibility.md](references/accessibility.md)
|
|
950
|
-
- [references/micro-interactions.md](references/micro-interactions.md)
|
|
951
|
-
- [references/state-patterns.md](references/state-patterns.md)
|
|
952
|
-
|
|
953
|
-
</accessibility_and_states>
|
|
954
|
-
|
|
955
|
-
---
|
|
956
|
-
|
|
957
|
-
<references>
|
|
958
|
-
|
|
959
|
-
## Detailed Documentation
|
|
960
|
-
|
|
961
|
-
| Document | Content |
|
|
962
|
-
|----------|---------|
|
|
963
|
-
| [design-philosophy.md](references/design-philosophy.md) | Core principles, anti-patterns |
|
|
964
|
-
| [color-system.md](references/color-system.md) | Palette generation, semantic colors, dark mode |
|
|
965
|
-
| [icon-guide.md](references/icon-guide.md) | Icon libraries, sizing, accessibility |
|
|
966
|
-
| [typography.md](references/typography.md) | Scale, font stacks, i18n considerations |
|
|
967
|
-
| [design-systems.md](references/design-systems.md) | Deep dive into Material, HIG, Fluent, etc. |
|
|
968
|
-
| [responsive-patterns.md](references/responsive-patterns.md) | Breakpoints, layouts, mobile-first |
|
|
969
|
-
| [accessibility.md](references/accessibility.md) | WCAG 2.2, ARIA, testing tools |
|
|
970
|
-
| [micro-interactions.md](references/micro-interactions.md) | Hover, focus, transitions, animations |
|
|
971
|
-
| [state-patterns.md](references/state-patterns.md) | Loading, error, empty, success states |
|
|
972
|
-
| [checklist.md](references/checklist.md) | Pre-deployment UI/UX audit |
|
|
973
|
-
|
|
974
|
-
### External Resources
|
|
975
|
-
|
|
976
|
-
| Resource | URL | Focus |
|
|
977
|
-
|----------|-----|-------|
|
|
978
|
-
| Material Design 3 | https://m3.material.io/ | Google's design system |
|
|
979
|
-
| Apple HIG | https://developer.apple.com/design/human-interface-guidelines/ | iOS/macOS guidelines |
|
|
980
|
-
| Fluent 2 | https://fluent2.microsoft.design/ | Microsoft design system |
|
|
981
|
-
| IBM Carbon | https://carbondesignsystem.com/ | Enterprise design system |
|
|
982
|
-
| Nielsen Norman Group | https://www.nngroup.com/ | UX research & guidelines |
|
|
983
|
-
| WCAG 2.2 | https://www.w3.org/WAI/standards-guidelines/wcag/ | Accessibility standard |
|
|
984
|
-
| Laws of UX | https://lawsofux.com/ | Psychology-based design principles |
|
|
985
|
-
| Ant Design | https://ant.design/ | Enterprise component library |
|
|
986
|
-
| Atlassian DS | https://atlassian.design/ | Collaboration tool patterns |
|
|
987
|
-
| Shopify Polaris | https://polaris.shopify.com/ | E-commerce design system |
|
|
988
|
-
| Salesforce Lightning | https://www.lightningdesignsystem.com/ | SLDS 2 (agentic design) |
|
|
989
|
-
| Adobe Spectrum | https://spectrum.adobe.com/ | Creative tool design |
|
|
990
|
-
| Chakra UI | https://chakra-ui.com/ | Accessible component library |
|
|
991
|
-
| Smashing Magazine | https://www.smashingmagazine.com/ | UX best practices |
|
|
992
|
-
|
|
993
|
-
</references>
|
|
994
|
-
|
|
995
|
-
---
|
|
996
|
-
|
|
997
|
-
<prompt_examples>
|
|
998
|
-
|
|
999
|
-
## Prompt Examples
|
|
1000
|
-
|
|
1001
|
-
### Dashboard
|
|
1002
|
-
|
|
1003
|
-
```
|
|
1004
|
-
Create a dashboard page.
|
|
1005
|
-
|
|
1006
|
-
Layout:
|
|
1007
|
-
- Desktop: Left sidebar (256px) + main content (max-w-7xl)
|
|
1008
|
-
- Mobile: Bottom tab bar
|
|
1009
|
-
- Responsive padding (px-4 sm:px-6 lg:px-8)
|
|
1010
|
-
|
|
1011
|
-
Components:
|
|
1012
|
-
- Header with greeting + date
|
|
1013
|
-
- 4 stat cards (grid-cols-1 sm:grid-cols-2 lg:grid-cols-4)
|
|
1014
|
-
- Recent activity list
|
|
1015
|
-
- Quick action buttons
|
|
1016
|
-
|
|
1017
|
-
Style:
|
|
1018
|
-
- Material Design 3 aesthetic
|
|
1019
|
-
- Cards: rounded-2xl, subtle shadow
|
|
1020
|
-
- Primary color: blue-600
|
|
1021
|
-
- Numbers: font-bold text-3xl
|
|
1022
|
-
```
|
|
1023
|
-
|
|
1024
|
-
### Settings Screen
|
|
1025
|
-
|
|
1026
|
-
```
|
|
1027
|
-
Create a settings page.
|
|
1028
|
-
|
|
1029
|
-
Layout:
|
|
1030
|
-
- max-w-2xl mx-auto
|
|
1031
|
-
- Sections with space-y-8
|
|
1032
|
-
|
|
1033
|
-
Components:
|
|
1034
|
-
- Profile: Avatar + name + email
|
|
1035
|
-
- Notifications: Toggle switches (h-11 touch target)
|
|
1036
|
-
- Account: Password change, sign out
|
|
1037
|
-
- Danger zone: Delete account (red)
|
|
1038
|
-
|
|
1039
|
-
Style:
|
|
1040
|
-
- Each row: flex justify-between items-center
|
|
1041
|
-
- Label: text-sm font-medium
|
|
1042
|
-
- Section headers: text-xs text-gray-500 uppercase tracking-wide
|
|
1043
|
-
```
|
|
1044
|
-
|
|
1045
|
-
### Data Table
|
|
1046
|
-
|
|
1047
|
-
```
|
|
1048
|
-
Create a users table.
|
|
1049
|
-
|
|
1050
|
-
Layout:
|
|
1051
|
-
- Desktop: Traditional table
|
|
1052
|
-
- Mobile: Card list
|
|
1053
|
-
|
|
1054
|
-
Components:
|
|
1055
|
-
- Header: Search bar + filters + add button
|
|
1056
|
-
- Columns: Avatar, name, email, joined date, status
|
|
1057
|
-
- Pagination
|
|
1058
|
-
|
|
1059
|
-
Style:
|
|
1060
|
-
- Table header: bg-gray-50
|
|
1061
|
-
- Row hover: hover:bg-gray-50
|
|
1062
|
-
- No vertical borders
|
|
1063
|
-
- Actions: Three-dot menu
|
|
1064
|
-
- Sticky header on scroll
|
|
1065
|
-
```
|
|
1066
|
-
|
|
1067
|
-
### Form
|
|
1068
|
-
|
|
1069
|
-
```
|
|
1070
|
-
Create a multi-step form.
|
|
1071
|
-
|
|
1072
|
-
Layout:
|
|
1073
|
-
- max-w-xl mx-auto
|
|
1074
|
-
- Progress indicator at top
|
|
1075
|
-
- Step transitions with slide animation
|
|
1076
|
-
|
|
1077
|
-
Components:
|
|
1078
|
-
- Step 1: Personal info (name, email, phone)
|
|
1079
|
-
- Step 2: Address
|
|
1080
|
-
- Step 3: Review + submit
|
|
1081
|
-
|
|
1082
|
-
Style:
|
|
1083
|
-
- Labels: text-sm font-medium mb-2
|
|
1084
|
-
- Inputs: h-11 rounded-lg border focus:ring-2
|
|
1085
|
-
- Validation: Inline errors below fields
|
|
1086
|
-
- Buttons: Back (secondary) + Continue (primary)
|
|
1087
|
-
```
|
|
1088
|
-
|
|
1089
|
-
</prompt_examples>
|