| name | ui-ux-design |
| description | Reviews and implements UI/UX following project design systems. Triggers: design review, UI improvement, styling, accessibility, dark mode, responsive, layout, component design. Covers: visual consistency, design system compliance, accessibility, responsive design, and dark mode. Takes optional argument: /ui-ux-design <target-file or instruction>
|
UI/UX Design
ãããžã§ã¯ãã®ãã¶ã€ã³ã·ã¹ãã ã«æºæ ããUI/UXèšèšã»ã¬ãã¥ãŒã»å®è£
ãè¡ãã¹ãã«ã
CLAUDE.md ã®æ¹éãå³å®ããããšããããžã§ã¯ãåºæã®ãã¶ã€ã³èŠçŽã¯ docs/development-patterns.md ã®ããã¶ã€ã³ã·ã¹ãã ãã»ã¯ã·ã§ã³ãåç
§ã
åææ¡ä»¶
| åç
§ãã¡ã€ã« | çšé | ã¹ã¿ãæã®ãã©ãŒã«ãã㯠|
|---|
docs/development-patterns.md | ãã¶ã€ã³ã·ã¹ãã ã»UIèŠçŽ | project-config.md §7 ãçŽæ¥åç
§ |
åºæ¬å§¿å¢
- ãããžã§ã¯ãã§å®çŸ©ããããã¶ã€ã³ã·ã¹ãã ã«å¿ å®ã«åŸã
- ãã¶ã€ã³ã·ã¹ãã ã®URLã
docs/development-patterns.md ã«èšèŒãããŠããå Žåããã®ã¬ã€ãã©ã€ã³ãåç
§ã»æºæ ãã
- 仿§ãææ§ãªå Žåã¯ã¢ãã¯ã¢ãããéžæè¢ã瀺ããŠç¢ºèªããïŒæšæž¬ã§é²ããªãïŒ
- éå°ãªè£
食ã»ã¢ãã¡ãŒã·ã§ã³ãé¿ãã䜿ãããããæåªå
ãã
- ã¢ã¯ã»ã·ããªãã£ïŒa11yïŒãåžžã«èæ
®ãã
äœ¿ãæ¹
/ui-ux-design <察象ãã¡ã€ã« or UIæç€º>
åŒæ°ã¯çç¥å¯èœãçç¥ããå Žåã¯ãŠãŒã¶ãŒã«å¯Ÿè©±çã«ç¢ºèªããã
ãã¡ã€ã«ãã¹ãæå®ããå Žåã¯ãã®å
容ãèªã¿åããã¬ãã¥ãŒ/å®è£
å¯Ÿè±¡ãææ¡ããã
äŸ
/ui-ux-design ããã·ã¥ããŒãã®ã¬ã€ã¢ãŠããæ¹åãã
/ui-ux-design src/features/dashboard/pages/DashboardPage.tsx
/ui-ux-design output/tasks/TASK_ui_redesign.md
åºåå
- ã¬ãã¥ãŒã¢ãŒã: äŒè©±å
ã§ã¬ããŒããæç€ºïŒ
output/reports/review/ ã«ãåºåå¯èœïŒ
- å®è£
ã¢ãŒã:
src/ é
äžã®ã³ã³ããŒãã³ããçŽæ¥å€æŽ
ä»ã¹ãã«ãšã®é£æº
| åå·¥çš | æ¬ã¹ãã« | åŸå·¥çš |
|---|
/plan /architecture | /ui-ux-design | /code-review /e2e-testing |
ã¢ãŒã
ã¢ãŒãèªåå€å®
以äžã®åºæºã§ã¬ãã¥ãŒã¢ãŒããšå®è£
ã¢ãŒããèªåå€å®ãã:
| æ¡ä»¶ | éžæã¢ãŒã |
|---|
| ã¿ã¹ã¯å
容ã«ãã¬ãã¥ãŒãã確èªãããã§ãã¯ããç£æ»ããè©äŸ¡ããå«ã | ã¬ãã¥ãŒã¢ãŒã |
| ããŒã å
ã§ã¬ãã¥ã¢ãŒãšããŠå²ãåœãŠãããŠãã | ã¬ãã¥ãŒã¢ãŒã |
ã¿ã¹ã¯ãã¡ã€ã«ã« role: review ãæèšãããŠãã | ã¬ãã¥ãŒã¢ãŒã |
| ã¿ã¹ã¯å
容ã«ãå®è£
ããäœæããä¿®æ£ãã远å ããæ¹åãã倿Žããå«ã | å®è£
ã¢ãŒã |
| ããŒã å
ã§éçºè
ãšããŠå²ãåœãŠãããŠãã | å®è£
ã¢ãŒã |
ã¿ã¹ã¯ãã¡ã€ã«ã« role: implement ãæèšãããŠãã | å®è£
ã¢ãŒã |
| äžèšãããã«ã該åœããªãå Žå | ãŠãŒã¶ãŒã«ç¢ºèªãã |
ãã¶ã€ã³ã¬ãã¥ãŒã¢ãŒãïŒèªã¿åãå°çšïŒ
ããŒã ã®ã¬ãã¥ã¢ãŒãšããŠäœ¿çšããå ŽåããœãŒã¹ã³ãŒãã¯å€æŽããªãã
- èŠèŠçäžè²«æ§ãã§ã㯠â ãã¶ã€ã³ã·ã¹ãã ãšã®ä¹é¢ãææ
- ã¢ã¯ã»ã·ããªãã£ç£æ» â ã¢ã¯ã»ã·ããªãã£åºæºïŒ
project-config.md ã»ã¯ã·ã§ã³7ïŒæºæ ã®ç¢ºèª
- ã¬ã¹ãã³ã·ãç¢ºèª â ãã¬ãŒã¯ãã€ã³ãå¥ã®è¡šç€ºç¢ºèª
- ããŒã¯ã¢ãŒãç¢ºèª â ã©ã€ã/ããŒã¯äž¡æ¹ã§ã®èŠèªæ§
- ã¬ããŒãåºå â äžèšãã©ãŒãããã§å ±å
å®è£
ã¢ãŒã
UIã®å®è£
ã»ä¿®æ£ãè¡ãå Žåã
- ãã¶ã€ã³ã·ã¹ãã ç¢ºèª â
docs/development-patterns.md ã®ãã¶ã€ã³ã·ã¹ãã URLãåç
§
- ã³ã³ããŒãã³ãéžå® â ãããžã§ã¯ãã®æ¢åUIã©ã€ãã©ãªããé©åãªãã®ãéžæ
- å®è£
â ã»ãã³ãã£ãã¯ã«ã©ãŒã»ããŒã¯ã³ã䜿çšãããŒãã³ãŒãçŠæ¢
- ããŒã¯ã¢ãŒãå¯Ÿå¿ â ã©ã€ã/ããŒã¯äž¡æ¹ã§åäœç¢ºèª
- æ€èšŒ â ãã«ãã»lintééã確èª
ã¬ãã¥ãŒèгç¹
1. ãã¶ã€ã³ã·ã¹ãã æºæ
- ãããžã§ã¯ãã§æå®ããããã¶ã€ã³ã·ã¹ãã ã®ã¬ã€ãã©ã€ã³ã«æ²¿ã£ãŠããã
- ã«ã©ãŒãã¬ããã»ã¿ã€ãã°ã©ãã£ã»ã¹ããŒã·ã³ã°ãäžè²«ããŠããã
- ã³ã³ããŒãã³ãã®äœ¿ãæ¹ããã¶ã€ã³ã·ã¹ãã ã®æšå¥šãã¿ãŒã³ã«åã£ãŠããã
2. ã«ã©ãŒã»ããŒã
- ã»ãã³ãã£ãã¯ã«ã©ãŒïŒCSS倿°ã»ãã¶ã€ã³ããŒã¯ã³ïŒã䜿çšããŠããã
- ããŒãã³ãŒããããè²å€ããªãã
- ããŒã¯ã¢ãŒãã§ååãªã³ã³ãã©ã¹ãæ¯ïŒWCAG AA: 4.5:1以äžïŒã確ä¿ãããŠããã
- ãã©ãŒã«ã¹ç¶æ
ã»ãããŒç¶æ
ã®ã¹ã¿ã€ã«ãå®çŸ©ãããŠããã
3. ã¿ã€ãã°ã©ãã£
- ãã©ã³ããµã€ãºã»ãŠã§ã€ãããã¶ã€ã³ã·ã¹ãã ã®ã¹ã±ãŒã«ã«æ²¿ã£ãŠããã
- èŠåºãéå±€ïŒh1ãh6ïŒãè«ççã
- è¡éã»æåéãèªã¿ãããã
4. ã¬ã€ã¢ãŠãã»ã¹ããŒã·ã³ã°
- ãã¶ã€ã³ã·ã¹ãã ã®ã¹ããŒã·ã³ã°ã¹ã±ãŒã«ã䜿çšããŠããã
- ã°ãªããã»ãã¬ãã¯ã¹ã®äœ¿ãæ¹ãé©åã
- äœçœãèŠèŠçéå±€ãé©åã«è¡šçŸããŠããã
5. ã¢ã¯ã»ã·ããªãã£ïŒa11yïŒ
- ã»ãã³ãã£ãã¯HTMLã䜿çšããŠãããïŒ
button, nav, main çïŒ
- ARIA屿§ãé©åãïŒéå°ã§ãäžè¶³ã§ããªãïŒ
- ããŒããŒãããã²ãŒã·ã§ã³ãå¯èœã
- ã¹ã¯ãªãŒã³ãªãŒããŒã§æå³ãéããã
- ãã©ãŒã«ã¹ã€ã³ãžã±ãŒã¿ãèŠèªã§ããã
6. ã¬ã¹ãã³ã·ããã¶ã€ã³
- ãã¬ãŒã¯ãã€ã³ããé©åã«èšå®ãããŠããã
- ã¢ãã€ã«ããã¹ã¯ãããã§åŽ©ããªãã
- ã¿ããã¿ãŒã²ãããé©åãªãµã€ãºãïŒ44x44pxä»¥äžæšå¥šïŒ
7. ã€ã³ã¿ã©ã¯ã·ã§ã³
- ããŒãã£ã³ã°ç¶æ
ãé©åã«ãã£ãŒãããã¯ãããŠããã
- ãšã©ãŒç¶æ
ãèŠèŠçã«æç¢ºã
- é·ç§»ã»ã¢ãã¡ãŒã·ã§ã³ãèªç¶ãïŒéå°ã§ãªããïŒ
- ç©ºç¶æ
ïŒEmpty StateïŒã®ãã¶ã€ã³ãããã
åºåå¥çŽ
ã¬ãã¥ãŒã¢ãŒãåºå仿§
| ã»ã¯ã·ã§ã³ | å¿
é | å¶çŽ |
|---|
| æŠèŠ | â
| 4é
ç®ïŒå¯Ÿè±¡ãã¡ã€ã«æ°, DSæºæ , ããŒã¯ã¢ãŒã, a11yïŒãã¹ãŠå¿
é |
| ææäºé
| â
| MUSTâSHOULDâCONSIDER ã®é ã0ä»¶ã§ãèŠåºãã¯æ®ã |
| è¯ãç¹ | â
| æäœ1ä»¶ |
| ç·åå€å® | â
| åæå€ãã1ã€éžæ |
å®è£
ã¢ãŒãåºå仿§
| ãã£ãŒã«ã | å | å¿
é | å¶çŽ |
|---|
| 倿Žãã¡ã€ã«äžèЧ | ç®æ¡æžã | â
| ãã¡ã€ã«ãã¹ãšå€æŽæŠèŠ |
| ããŒã¯ã¢ãŒã確èªçµæ | OK / NG | â
| NGæã¯å
·äœçãªåé¡ãä»èš |
| ãã«ãçµæ | pass / fail | â
| |
éèŠåºŠå®çŸ©
| ã¬ãã« | å€å®åºæº | äŸ |
|---|
| MUST | DSéåãa11y WCAG AAäžé©åãããŒã¯ã¢ãŒãéå¯Ÿå¿ | ããŒãã³ãŒãè²å€ããã©ãŒã«ã¹äžå¯ãã³ã³ãã©ã¹ãæ¯äžè¶³ |
| SHOULD | DSæšå¥šãã¿ãŒã³ãšã®ä¹é¢ãã¬ã¹ãã³ã·ãæ¹å | ã¹ããŒã·ã³ã°äžçµ±äžãã¿ããã¿ãŒã²ããäžè¶³ |
| CONSIDER | UXæ¹åææ¡ãã€ã³ã¿ã©ã¯ã·ã§ã³åŒ·å | ç©ºç¶æ
ãã¶ã€ã³ãããŒãã£ã³ã°è¡šç€º |
ç·åå€å®ã®åæå€
| å€å® | æ¡ä»¶ |
|---|
| æ¿èª | MUSTææã0ä»¶ |
| æ¡ä»¶ä»ãæ¿èªïŒMUSTä¿®æ£åŸïŒ | MUSTææã1件以äžãã€ä¿®æ£å¯èœ |
| èŠä¿®æ£ | ãã¶ã€ã³ã·ã¹ãã æºæ ã«å€§å¹
ãªèŠçŽããå¿
èŠ |
ææèšè¿°ãã©ãŒããã
- [ ] `ãã¡ã€ã«ãã¹:è¡çªå·` ææå
容ã**DSæ ¹æ **: 該åœã¬ã€ãã©ã€ã³ã**ä¿®æ£æ¡**: å
·äœçãªä¿®æ£ã
èªåœå¶çŽ
| çšèª | å®çŸ© |
|---|
| DS | ãã¶ã€ã³ã·ã¹ãã ïŒdocs/development-patterns.md ã§å®çŸ©ïŒ |
| ã»ãã³ãã£ãã¯ã«ã©ãŒ | CSS倿°ããŒã¹ã®è²å®çŸ©ïŒ--foreground, --background çïŒ |
| ããŒã¯ã³ | ãã¶ã€ã³ã·ã¹ãã ã§å®çŸ©ãããå€ïŒè²ãã¹ããŒã·ã³ã°ãã¿ã€ãã°ã©ãã£ïŒ |
| a11y | ã¢ã¯ã»ã·ããªãã£ïŒWCAG 2.1 AAæºæ ãåºæºïŒ |
| ã³ã³ãã©ã¹ãæ¯ | WCAGå®çŸ©ã®èŒåºŠæ¯ãããã¹ã: 4.5:1以äžã倧ããã¹ã: 3:1ä»¥äž |
ã¬ããŒããã©ãŒãããïŒã¬ãã¥ãŒã¢ãŒãïŒ
# UI/UXã¬ãã¥ãŒ: [å¯Ÿè±¡ã®æŠèŠ]
## æŠèŠ
- 察象ãã¡ã€ã«æ°: X
- ãã¶ã€ã³ã·ã¹ãã æºæ : OK / NG
- ããŒã¯ã¢ãŒã察å¿: OK / NG
- ã¢ã¯ã»ã·ããªãã£: OK / NG
## ææäºé
### MUSTïŒå¿
é ä¿®æ£ïŒ
- [ ] `ãã¡ã€ã«:è¡` ææå
容ã**DSæ ¹æ **: ã¬ã€ãã©ã€ã³ã**ä¿®æ£æ¡**: ä¿®æ£æ¹æ³ã
### SHOULDïŒæšå¥šä¿®æ£ïŒ
- [ ] `ãã¡ã€ã«:è¡` ææå
容ã**çç±**: æ ¹æ ã**ä¿®æ£æ¡**: ä¿®æ£æ¹æ³ã
### CONSIDERïŒæ€èšïŒ
- [ ] `ãã¡ã€ã«:è¡` ææå
容ã**æ¹åæ¹å**: ææ¡ã
## è¯ãç¹
- [ãã¶ã€ã³é¢ã§åªããŠããç¹]
## ç·åå€å®
- **æ¿èª** / **æ¡ä»¶ä»ãæ¿èªïŒMUSTä¿®æ£åŸïŒ** / **èŠä¿®æ£**
å®è£
ã¬ã€ãã©ã€ã³
ã«ã©ãŒã®æ±ã
className="text-foreground bg-background border-border"
className="text-primary bg-primary/10"
className="bg-gray-100 dark:bg-gray-800"
style={{ color: '#333333' }}
className="text-[#333333]"
ã¹ããŒã·ã³ã°
className="p-4 gap-3 space-y-2"
style={{ padding: '13px', gap: '7px' }}
ã³ã³ããŒãã³ãéžå®
ãããžã§ã¯ãã®æ¢åUIã©ã€ãã©ãªãæå€§é掻çšããã
æ°èŠã³ã³ããŒãã³ã远å åã«ãæ¢åã®ãã®ã§ä»£æ¿ã§ããªãã確èªããã
ãã¶ã€ã³ã·ã¹ãã ã®åç
§æ¹æ³
ãã®ã¹ãã«ã¯ docs/development-patterns.md ã®ããã¶ã€ã³ã·ã¹ãã ãã»ã¯ã·ã§ã³ãåç
§ããã
ãããžã§ã¯ãããšã«ä»¥äžã®æ
å ±ãèšèŒããã:
- ãã¶ã€ã³ã·ã¹ãã ã®å
¬åŒURL
- UIã³ã³ããŒãã³ãã©ã€ãã©ãª
- ã«ã©ãŒãã¬ããã»ããŒã¯ã³ã®å®çŸ©å Žæ
- ã¢ã€ã³ã³ã©ã€ãã©ãª
æ°ãããããžã§ã¯ãã«é©çšããéã¯ãdocs/development-patterns.md ã«ãã¶ã€ã³ã·ã¹ãã ã®URLãèšèŒããããšã
çŠæ¢äºé
- ãã¶ã€ã³ã·ã¹ãã ã«å®çŸ©ãããŠããªãã«ã¹ã¿ã ã«ã©ãŒã®ç¬èªè¿œå
- ããŒãã³ãŒããããè²å€ïŒHEX/RGBçŽæå®ïŒ
- ã¢ã¯ã»ã·ããªãã£ãç¡èŠãããã¶ã€ã³
- ããŒã¯ã¢ãŒãæªå¯Ÿå¿ã®UI倿Ž
- 仿§æžã«ãªãUIèŠçŽ ã®è¿œå
--no-verify ã«ããããã¯è¿å