skills/peach-gen-design/SKILL.md
디자인 시스템 컨설팅 + Vue 3 컴포넌트 코드 생성 스킬. "디자인 상담", "UI 트렌드", "색상 추천", "디자인 시스템" 키워드로 트리거. 도메인 파악 → 제안 → 피드백 → 코드 생성 순으로 진행. ※ 이 스킬은 일반적 디자인 컨설팅 참고용. 프로젝트별 디자인 시스템 본체는 각 ui-proto 프로젝트 내부에 두는 것이 표준이다 (2026-04-27 결정).
npx skillsauth add peachsolution/peach-harness peach-gen-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
이 스킬은 일반적 디자인 컨설팅 참고용으로 유지된다.
프로젝트별 디자인 시스템 본체는 다음 위치에 두는 것이 표준이다:
| 위치 | 역할 |
|------|------|
| peach-ui-proto-{도메인}/docs/디자인시스템/ | 프로젝트별 디자인 시스템 본체 (색상·타이포·컴포넌트 사용 규칙) |
| peach-ui-proto-{도메인}/src/assets/theme.css | 실제 CSS 변수 정의 |
| peach-ui-proto-{도메인}/AGENTS.md | 프로젝트별 디자인 규칙 요약 |
이 스킬은 다음 상황에서만 호출한다:
대상 프로젝트의 디자인 시스템 본체를 갱신하려면 해당 ui-proto 저장소에서 직접 작업하라.
당신은 UI/UX 디자인 시스템 전문가입니다.
theme.css, 디자인 시스템 문서)theme.css 기준으로 제시사용자에게 질문하여 맥락 파악:
## 디자인 컨설팅 시작
어떤 화면/기능을 디자인하려고 하시나요?
### 파악할 정보
1. **화면 유형**: 목록, 대시보드, 폼, 상세 페이지 등
2. **주요 사용자**: 관리자, 운영자, 일반 사용자
3. **핵심 기능**: 데이터 조회, 입력, 분석 등
4. **특별 요구사항**: 다크모드, 모바일 대응, 접근성 등
자유롭게 설명해주세요.
도메인에 맞는 디자인 요소 제안:
| 요소 | 제안 시 참조 | |------|-------------| | 색상 | color-trends.md | | 타이포그래피 | typography.md | | 레이아웃 | layout.md | | 애니메이션 | animation.md | | 다크모드 | dark-mode.md | | 접근성 | accessibility.md |
컴포넌트별 제안:
사용자 피드백을 받고 제안 수정:
제안에 대해 어떻게 생각하시나요?
- 마음에 드는 부분
- 수정이 필요한 부분
- 추가로 고려할 사항
자유롭게 의견 주세요.
합의될 때까지 2-3단계 반복
합의된 디자인을 실제 코드로 구현:
참조: tailwind-nuxtui.md
대상 프로젝트에
_common/components/가 존재하면 래퍼 컴포넌트를 우선 사용합니다.
# 확인 방법
ls front/src/modules/_common/components/
| NuxtUI | _common 래퍼 (있는 경우 우선) |
|--------|------------------------------|
| <UInput> | <p-input-box> |
| <USelect> | <p-nuxt-select> |
| <UFormField> | <p-form-field> |
| <UFileInput> | <p-file-upload> |
_common/components/ 없으면 → NuxtUI 직접 사용 (기존 방식 유지)
# 검증
cd front && bunx vue-tsc --noEmit
cd front && bun run lint:fix
cd front && bun run build
각 제안은 아래 형식으로 제공:
### [요소명] 제안
**근거**: [theme.css 또는 디자인 시스템 참조]
**제안 내용**:
- 구체적인 값/스펙
**코드 예시**:
```vue
<!-- 실제 구현 코드 -->
대안:
---
## 닥터팔레트 디자인 원칙
### 핵심 컬러
| 용도 | 색상 | Hex |
|------|------|-----|
| Primary | 브랜드 블루 | `#287dff` |
| Primary Hover | - | `#005deb` |
| Secondary | Teal/Emerald | `#10b981` |
| Text | 기본 텍스트 | `#212121` |
| Border | 테두리 | `#e5e5e5` |
| Background | 페이지 배경 | `#f9fafb` |
### 레이아웃
| 요소 | 값 |
|------|-----|
| 사이드바 너비 | 220px |
| 헤더 높이 | 64px |
| 기본 간격 | 16px (4의 배수) |
| 카드 패딩 | 16px |
### 타이포그래피
| 용도 | 크기 | Weight |
|------|------|--------|
| 페이지 제목 | 24px | Bold |
| 섹션 제목 | 20px | Semibold |
| 카드 제목 | 16px | Semibold |
| 본문 | 14px | Regular |
| 캡션 | 12px | Regular |
### 권장 패턴
- NuxtUI 컴포넌트 우선 사용
- 4px 배수 간격 (`gap-4`, `p-4`)
- 그림자: `shadow-sm`, `shadow` (최대)
- 둥근 모서리: `rounded-md` (6px), `rounded-lg` (8px)
### 금지 패턴 (AI Slop 방지)
| 유형 | 금지 예시 | 이유 |
|------|----------|------|
| 그라데이션 | `bg-gradient-to-*` | AI 전형적 패턴 |
| 과도한 그림자 | `shadow-xl`, `shadow-2xl` | 백오피스와 부적합 |
| 애니메이션 남용 | `animate-pulse`, `animate-bounce` | 업무용 UI 불필요 |
| 확대 효과 | `hover:scale-*` | 과잉 인터랙션 |
---
## 조건부 참조 가이드
> **토큰 절약**: 필요한 참조만 읽으세요
| 상황 | 참조 파일 |
|------|----------|
| 색상 논의 | color-trends.md |
| 폰트 논의 | typography.md |
| 레이아웃 논의 | layout.md |
| 버튼 스타일 | components/button.md |
| 카드 스타일 | components/card.md |
| 폼/인풋 스타일 | components/form.md |
| 테이블 스타일 | components/table.md |
| 모달 스타일 | components/modal.md |
| 네비게이션 | components/navigation.md |
| 배지/태그 | components/badge.md |
| 드롭다운/팝오버 | components/dropdown.md |
| 리스트 아이템 | components/list.md |
| 접근성 검토 | accessibility.md |
| 코드 생성 | tailwind-nuxtui.md |
---
## 완료 조건
┌─────────────────────────────────┐ │ 완료 체크리스트 │ │ □ 도메인/요구사항 파악 완료 │ │ □ 디자인 요소별 합의 완료 │ │ □ 코드 생성 (요청 시) │ │ □ vue-tsc + lint + build 통과 │ └─────────────────────────────────┘
---
## 참조
- **기준 파일**: `front/src/assets/styles/theme.css`
- **디자인 문서**: 대상 프로젝트의 디자인 시스템 문서
- **트렌드 가이드**: `references/` 폴더
- **프로젝트 가이드 코드**: `front/src/modules/test-data/`
- **NuxtUI 문서**: Context7 MCP 활용
tools
기능 브랜치용 git worktree 라이프사이클을 관리하는 스킬. 생성(create) / 상태 진단(status) / PR 준비(finish) / 병합 후 정리(closeout) / 정리(cleanup) 모드를 자동 판단한다. "워크트리 만들어줘", "worktree 생성", "워크트리 정리", "워크트리 삭제", "기능 브랜치 워크트리", "워크트리 상태", "마무리", "PR 생성", "PR 머지 후 정리", "feature worktree" 키워드로 트리거. PR 전 base 비교와 안전한 동기화 필요 여부를 진단한다. 개발 완료 후 finish/closeout 모드에서는 한 번의 통합 체크포인트로 push/PR/merge/cleanup을 안전하게 진행한다.
development
Karpathy LLM Wiki 패턴 기반 지식 관리 스킬. 코드 프로젝트와 옵시디언 노트 모두 지원. Raw Source(코드·문서)를 읽어 docs/wiki/에 누적형 지식베이스를 구축·유지한다. "wiki", "위키", "ingest", "인제스트", "wiki 점검", "wiki lint", "wiki 업데이트", "문서화해줘", "아키텍처 설명해줘", "어떻게 동작해?" 키워드로 트리거. qmd 검색 도구와 연동하여 토큰 절약 + 높은 검색 정확도 제공.
development
Backend 없이 Mock 데이터 기반 프로토타입 UI를 생성·검증하는 기획 구체화 산출물 스킬. Vue 3 + TypeScript + NuxtUI v4. 별도 ui-proto 저장소(예: peach-ui-proto-backoffice)의 src/modules-task 폴더에 태스크별 화면을 누적한다. "프로토타입 만들어줘", "Mock 화면", "proto UI", "기획 화면 빠르게", "ui-proto 작업", "기획자 검토용 화면", "태스크 폴더 추가", "팀 ui-proto" 키워드로 트리거. 기획자가 직접 작업하는 화면 기획 + 현업 검토용 산출물 스킬이며, 개발용 Spec은 후속 peach-gen-spec이 생성한다. 실제 API 연동이 필요하면 peach-gen-ui를 사용한다.
development
Spec 필수 + ui-proto 보조 기준으로 E2E 환경 세팅 + 단위 시나리오 자동 분할 + 통합 suite 생성 + 실행 + 부합 검증을 한 번에 처리하는 통합 팀 스킬. "e2e 검증해줘", "통합 검증", "전체 흐름 테스트", "팀 e2e", "스펙대로 동작하는지 확인", "ui-proto와 다른지 확인", "최종 검증", "릴리스 전 검증" 키워드로 트리거. peach-e2e-setup + peach-e2e-scenario + peach-e2e-suite 3개 스킬의 패턴을 공유하고, 검증 기준은 본 프로젝트 Spec을 필수 기준으로 삼고, ui-proto는 화면/흐름 보조 기준으로 사용한다. peach-team-dev와 함께 하나의 개발-검증 납품 흐름을 이루되, 구현 컨텍스트와 검증 컨텍스트는 분리한다. 팀 실행 방식은 E2E 범위와 런타임 도구 가용성을 분석해 single-agent / role-queue / agent-team 중 선택한다. 단순 코드 동작 검증을 넘어, 기획 의도와 부합하는지 자동 검증하는 게 핵심 차별점.