feat(zio-harness): v1.2.0 — designer 에이전트 추가 (4→5인 파이프라인) + 팀 이미지 일치화

- 파이프라인: analyst → designer(UI 작업 시) → agent → bot
- references/designer.md 신설: UI/UX 스펙(01_design_spec.md)·디자인 토큰·
  선(line) SVG 아이콘 직접 제작 + 스티치(Stitch) 의뢰 design.md 생성
  (Stitch MCP 연결 시 직접 요청·검수, 미연결 시 의뢰서 산출)
- SKILL.md 배선: 팀 구성·spawn·태스크 의존성(t1~t4)·통신 프로토콜
  (bot→designer 시각 QA 반려)·작업 유형 Design 추가·UI 없는 작업 3인 규칙
- zioinfo_team.png: Designer(디자인) 노드 추가 — 지휘→분석→디자인→개발→검증
  5인 순환 다이어그램 (실제 플러그인 동작과 일치)
- plugin.json·marketplace.json v1.2.0, 카탈로그/PROJECT_MAP/CLAUDE.md 동기화
- 검증: claude plugin details zio-harness@ythong → v1.2.0 오류 0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
DESKTOP-TKLFCPR\ython 2026-07-17 10:00:29 +09:00
parent 09073279de
commit 1876e3a18a
8 changed files with 141 additions and 26 deletions

View File

@ -15,8 +15,8 @@
{
"name": "zio-harness",
"source": "./plugins/zio-harness",
"description": "React + Spring Boot + Mobile App 풀스택 개발 하네스. orchestrator·analyst·bot·agent 에이전트 팀이 기능 개발·테스트·배포를 파이프라인으로 처리. PROJECT_MAP.md로 폴더 구조를 세션 간 기억. 설치만으로 graphify 지식 그래프가 소스를 자동 분석(SessionStart 훅)하고, KINTEX 도메인 md 지식 베이스를 내장.",
"version": "1.1.0"
"description": "React + Spring Boot + Mobile App 풀스택 개발 하네스. orchestrator·analyst·designer·agent·bot 에이전트 팀이 기능 개발·디자인(선 SVG 아이콘·디자인 토큰·Stitch 의뢰 design.md)·테스트·배포를 파이프라인으로 처리. PROJECT_MAP.md로 폴더 구조를 세션 간 기억. 설치만으로 graphify 지식 그래프가 소스를 자동 분석(SessionStart 훅)하고, KINTEX 도메인 md 지식 베이스를 내장.",
"version": "1.2.0"
},
{
"name": "proposal-builder",

View File

@ -12,6 +12,7 @@
| 2026-06-17 | zio-harness 초기 구성 | 전체 | React+SpringBoot+Mobile 풀스택 하네스 신규 생성 |
| 2026-06-17 | zio-harness 독립 플러그인 분리 (`plugins/zio-harness/`, v1.0.1) | 마켓플레이스·폴더 구조 | 단독 설치 지원, harness 플러그인과 스킬 소유권 분리 |
| 2026-06-17 | Agent Teams API 사용법 정정 (SKILL.md Phase 23 + 오케스트레이터 템플릿) | zio-harness·harness | `TeamCreate(members[])`/`TaskCreate(tasks[])`가 실제 실험 API와 불일치 → 빈 팀+Agent spawn / 개별 TaskCreate+TaskUpdate로 수정 |
| 2026-07-17 | **v1.2.0 — designer 에이전트 추가(4→5인 파이프라인)**: analyst→designer(UI 작업 시)→agent→bot. `references/designer.md` 신설 — UI/UX 스펙(01_design_spec.md)·디자인 토큰·선 SVG 아이콘 + **스티치(Stitch) 의뢰 design.md 생성·MCP 연결 시 직접 요청**. zioinfo_team.png(5인 다이어그램)와 실제 동작 일치화 | plugins/zio-harness | "팀 이미지에 Designer 빠짐 → 실제 플러그인도 그렇게 동작하게" + "디자이너 md에 스티치 MCP design.md 생성 추가" 요청 |
---

View File

@ -83,6 +83,7 @@ zio-harness 풀스택 개발 에이전트 팀. 4종 에이전트가 파이프라
|------|------|
| `SKILL.md` | 오케스트레이터 진입점. 팀 구성·워크플로우·에러 핸들링·테스트 시나리오 포함 |
| `references/folder-map.md` | **PROJECT_MAP.md 생성·유지 시스템**. 폴더 구조 메모리 핵심 가이드 |
| `references/designer.md` | Designer 에이전트 — UI/UX 스펙·디자인 토큰·선 SVG 아이콘·Stitch 의뢰 design.md 생성(MCP 요청) |
| `references/react.md` | React 18 + TypeScript + TanStack Query + Zustand 패턴 |
| `references/spring-boot.md` | Spring Boot 3.x 레이어 아키텍처 + JPA + JWT + Flyway |
| `references/mobile.md` | React Native + Expo + React Navigation + AsyncStorage |

View File

@ -12,7 +12,7 @@
| 플러그인 | 버전 | 설명 |
|----------|------|------|
| **harness** | 1.3.1 | 에이전트 팀 & 스킬 아키텍트. 도메인/프로젝트에 맞는 하네스를 구성하고 전문 에이전트·스킬을 생성하는 메타 스킬. |
| **zio-harness** | 1.0.1 | React + Spring Boot + Mobile App 풀스택 개발 하네스. orchestrator·analyst·bot·agent 팀이 개발·테스트·배포를 파이프라인으로 처리. |
| **zio-harness** | 1.2.0 | React + Spring Boot + Mobile App 풀스택 개발 하네스. orchestrator·analyst·designer·agent·bot 5인 팀이 분석→디자인(선 SVG 아이콘·토큰·Stitch 의뢰 design.md)→개발→검증을 파이프라인으로 처리. |
| **proposal-builder** | 1.0.0 | RFP 문서 + PowerPoint 디자인 템플릿 → 제안서 자동 완성. 전문가 7인 팀이 분석→전략→기술/아키텍처→본문→비주얼→PPTX→검증. SI 구축·SM 유지보수 제안 주력. |
| **zioinfo** | 1.1.0 | PM·PMO 하네스. 전문가 8인 팀(planner·risk·reporter·auditor·governance·portfolio·ai-commissioner·qa)이 계획(WBS/M/M)→리스크/변경→진척보고(EVM)→감리 대응(모의감리·지적조치)→PMO 표준/게이트→포트폴리오→외부 AI 의뢰서(스티치 design.md·젠스파크·graphify 지식그래프)→정합성 검증. 수주 후 수행 단계 주력(제안은 proposal-builder). |

View File

@ -1,7 +1,7 @@
{
"name": "zio-harness",
"description": "React + Spring Boot + Mobile App 풀스택 개발 하네스. orchestrator·analyst·bot·agent 에이전트 팀이 기능 개발·테스트·배포를 파이프라인으로 처리. PROJECT_MAP.md로 폴더 구조를 세션 간 기억. 설치만으로 graphify 지식 그래프가 소스를 자동 분석(SessionStart 훅)하고, KINTEX 도메인 md 지식 베이스를 내장.",
"version": "1.1.0",
"description": "React + Spring Boot + Mobile App 풀스택 개발 하네스. orchestrator·analyst·designer·agent·bot 에이전트 팀이 기능 개발·디자인(선 SVG 아이콘·디자인 토큰·Stitch 의뢰 design.md)·테스트·배포를 파이프라인으로 처리. PROJECT_MAP.md로 폴더 구조를 세션 간 기억. 설치만으로 graphify 지식 그래프가 소스를 자동 분석(SessionStart 훅)하고, KINTEX 도메인 md 지식 베이스를 내장.",
"version": "1.2.0",
"author": {
"name": "ythong",
"url": "https://git.zioinfo.co.kr/ythong"

View File

@ -1,6 +1,6 @@
---
name: zio-harness
description: "React + Spring Boot + Mobile App 풀스택 개발 하네스. (1) 'zio 실행', 'zio-harness 시작', '풀스택 개발 시작' 요청 시, (2) React 컴포넌트/화면 개발, Spring Boot API 개발, 모바일 앱 개발 요청 시, (3) '프로젝트 분석', '폴더 구조 파악', 'PROJECT_MAP 업데이트' 요청 시, (4) Playwright E2E 테스트, 데이터베이스 MCP 작업 요청 시, (5) 기능 추가, 버그 수정, 리팩터링, 코드 리뷰 요청 시, (6) 오케스트레이터·분석가·봇·에이전트 팀 구성 요청 시 반드시 이 스킬을 사용하라. 다시 실행, 재실행, 업데이트, 보완 요청도 포함."
description: "React + Spring Boot + Mobile App 풀스택 개발 하네스. (1) 'zio 실행', 'zio-harness 시작', '풀스택 개발 시작' 요청 시, (2) React 컴포넌트/화면 개발, Spring Boot API 개발, 모바일 앱 개발 요청 시, (3) '프로젝트 분석', '폴더 구조 파악', 'PROJECT_MAP 업데이트' 요청 시, (4) Playwright E2E 테스트, 데이터베이스 MCP 작업 요청 시, (5) 기능 추가, 버그 수정, 리팩터링, 코드 리뷰 요청 시, (6) UI 디자인, 화면 시안, 디자인 시스템/토큰, 선(line) SVG 아이콘 제작 요청 시, (7) 오케스트레이터·분석가·디자이너·봇·에이전트 팀 구성 요청 시 반드시 이 스킬을 사용하라. 다시 실행, 재실행, 업데이트, 보완 요청도 포함."
---
# zio-harness — Full-Stack Dev Orchestrator
@ -10,7 +10,7 @@ React + Spring Boot + Mobile App 풀스택 개발을 에이전트 팀이 조율
## 실행 모드: 에이전트 팀 (파이프라인 패턴)
```
analyst → agent → bot → (orchestrator 종합)
analyst → designer(UI 작업 시) → agent → bot → (orchestrator 종합)
```
## 에이전트 구성
@ -18,9 +18,12 @@ analyst → agent → bot → (orchestrator 종합)
| 팀원 | 역할 | 주요 스킬 | 출력 |
|------|------|---------|------|
| analyst | 코드 분석·폴더 구조 파악·구현 계획 | `references/analyst.md` | `_workspace/00_analysis.md` |
| designer | UI/UX 설계·디자인 토큰·컴포넌트 스펙·선 SVG 아이콘·스티치(Stitch) 의뢰 design.md 생성(MCP 연결 시 직접 요청) | `references/designer.md` | `_workspace/01_design_spec.md` + `assets/icons/*.svg` (+ 필요 시 `design.md`) |
| agent | React/Spring Boot/Mobile 코드 구현 | `references/react.md`, `spring-boot.md`, `mobile.md` | 실제 코드 파일 |
| bot | 테스트 실행·빌드·린트·DB 마이그레이션 | `references/playwright.md`, `database.md` | `_workspace/02_bot_report.md` |
> designer는 **UI가 있는 작업에만** 참여한다 (API만·DB만·리팩터링 작업은 3인 파이프라인).
## 참조 파일 로딩 가이드
| 작업 유형 | 로드할 파일 |
@ -31,7 +34,8 @@ analyst → agent → bot → (orchestrator 종합)
| 모바일 앱 개발 | `references/mobile.md` |
| E2E 테스트 | `references/playwright.md` |
| DB/MCP 작업 | `references/database.md` |
| 에이전트 설계 | `references/orchestrator.md`, `references/analyst.md`, `references/bot.md`, `references/agent.md` |
| UI/UX 디자인·아이콘 제작 | `references/designer.md` |
| 에이전트 설계 | `references/orchestrator.md`, `references/analyst.md`, `references/designer.md`, `references/bot.md`, `references/agent.md` |
| KINTEX 도메인 지식 | `knowledge/kintex/` (기획서·설계·분석·백로그 등 md 전체) |
| GUARDiA 전사 지식 | `knowledge/guardia/` (솔루션 카탈로그·표준 프레임워크·운영 CI/CD·개발 교훈) |
@ -94,7 +98,8 @@ _workspace/ 존재 여부 확인
```
작업 유형을 감지한다:
- **Feature**: 새 기능 개발 (React 화면 + API + 모바일)
- **Feature**: 새 기능 개발 (React 화면 + API + 모바일) — UI 포함 시 designer 참여
- **Design**: UI 디자인·화면 시안·디자인 토큰·아이콘만
- **Bug**: 버그 수정
- **Test**: 테스트 작성/실행
- **Refactor**: 코드 개선
@ -119,16 +124,20 @@ TeamCreate(team_name: "zio-dev-team", description: "React+Spring Boot+Mobile 풀
```
Agent(subagent_type: "analyst", team_name: "zio-dev-team", name: "analyst",
prompt: "PROJECT_MAP.md를 읽고 요청 분석 후 _workspace/00_analysis.md 작성. 구현 계획과 영향 파일 목록 포함.")
Agent(subagent_type: "general-purpose", team_name: "zio-dev-team", name: "designer",
prompt: "references/designer.md 지침대로 _workspace/00_analysis.md 기반 디자인 스펙(_workspace/01_design_spec.md)과 선 SVG 아이콘 산출. 기존 스타일 자산 우선.")
Agent(subagent_type: "agent", team_name: "zio-dev-team", name: "agent",
prompt: "analyst의 계획을 읽고 코드 구현. React/Spring Boot/Mobile 스택에 맞는 컨벤션 준수.")
prompt: "analyst의 계획과 designer의 01_design_spec.md를 읽고 코드 구현. React/Spring Boot/Mobile 스택에 맞는 컨벤션 준수.")
Agent(subagent_type: "bot", team_name: "zio-dev-team", name: "bot",
prompt: "구현 완료 후 테스트 실행·린트·빌드 검증. 결과를 _workspace/02_bot_report.md에 기록.")
```
작업 유형별 팀 조정:
- **Analysis/DocMap**: analyst만 spawn (팀 불필요)
- **Design**: designer만 spawn (필요 시 analyst 선행)
- **Test**: bot만 spawn
- **Feature/Bug**: 전체 팀 파이프라인
- **Feature(UI 포함)**: 4인 전체 파이프라인 (analyst → designer → agent → bot)
- **Feature(UI 없음)/Bug/Refactor**: designer 제외 3인 파이프라인
### Phase 3: 작업 등록 및 실행
@ -139,18 +148,24 @@ t1 = TaskCreate(subject: "프로젝트 분석 및 구현 계획 수립",
description: "PROJECT_MAP.md 기반으로 영향 범위 파악. _workspace/00_analysis.md 작성.")
TaskUpdate(task: t1, owner: "analyst")
t2 = TaskCreate(subject: "코드 구현",
description: "_workspace/00_analysis.md 읽고 해당 스택 컨벤션으로 구현.")
TaskUpdate(task: t2, owner: "agent", blockedBy: [t1])
t2 = TaskCreate(subject: "디자인 스펙 작성 (UI 작업 시)",
description: "_workspace/00_analysis.md 기반 01_design_spec.md + 선 SVG 아이콘 산출.")
TaskUpdate(task: t2, owner: "designer", blockedBy: [t1])
t3 = TaskCreate(subject: "테스트 및 검증",
t3 = TaskCreate(subject: "코드 구현",
description: "_workspace/00_analysis.md(+01_design_spec.md) 읽고 해당 스택 컨벤션으로 구현.")
TaskUpdate(task: t3, owner: "agent", blockedBy: [t2]) # UI 없는 작업은 blockedBy: [t1]
t4 = TaskCreate(subject: "테스트 및 검증",
description: "구현 코드 테스트 실행. _workspace/02_bot_report.md 작성.")
TaskUpdate(task: t3, owner: "bot", blockedBy: [t2])
TaskUpdate(task: t4, owner: "bot", blockedBy: [t3])
```
팀원 간 통신 프로토콜 — `SendMessage``{to, summary, message}` 형식이며, 작업 완료는 `TaskUpdate``completed` 처리하면 리더에게 자동 통지된다:
- analyst → agent: `SendMessage(to: "agent", summary: "분석 완료", message: "_workspace/00_analysis.md 참조. 구현 시작.")`
- analyst → designer(UI 작업) 또는 agent: `SendMessage(to: "designer", summary: "분석 완료", message: "_workspace/00_analysis.md 참조. 디자인 스펙 시작.")`
- designer → agent: `SendMessage(to: "agent", summary: "디자인 스펙 완료", message: "_workspace/01_design_spec.md + assets/icons 참조. 구현 시작.")`
- agent → bot: `SendMessage(to: "bot", summary: "구현 완료", message: "테스트 실행 요청.")`
- bot → designer: 시각 QA 실패(레이아웃 깨짐·대비 미달) 시 스펙 보완 요청
- 각 팀원: 작업 끝나면 `TaskUpdate(task, status: "completed")` → 리더(오케스트레이터)가 태스크 완료 알림과 `_workspace/` 파일로 진행 파악 (별도 보고 메시지 불필요)
### Phase 4: 결과 종합 및 PROJECT_MAP 업데이트
@ -175,14 +190,20 @@ TaskUpdate(task: t3, owner: "bot", blockedBy: [t2])
## 테스트 시나리오
**정상 흐름 — Feature 개발:**
**정상 흐름 — Feature 개발 (UI 포함):**
1. 사용자: "사용자 로그인 기능 추가해줘 (React 화면 + Spring Boot API + 모바일)"
2. Phase 0: PROJECT_MAP.md 로드 → 현재 auth 관련 파일 파악
3. Phase 2: 3인 팀 구성
3. Phase 2: 4인 팀 구성 (analyst·designer·agent·bot)
4. analyst → 영향 파일 식별, API 스펙 정의
5. agent → React LoginPage, Spring Boot AuthController, Mobile LoginScreen 구현
6. bot → Playwright E2E, JUnit 테스트 실행
7. PROJECT_MAP.md 업데이트
5. designer → 로그인 화면 레이아웃·토큰·컴포넌트 스펙 + 선 SVG 아이콘 (`01_design_spec.md`)
6. agent → React LoginPage, Spring Boot AuthController, Mobile LoginScreen 구현 (디자인 스펙 준수)
7. bot → Playwright E2E, JUnit 테스트 실행
8. PROJECT_MAP.md 업데이트
**정상 흐름 — 디자인 의뢰(Design):**
1. 사용자: "메인 히어로 이미지를 스티치에 의뢰할 design.md 만들어줘"
2. designer 단독 spawn → 참조 에셋 분석 → `_workspace/design.md`(영문 프롬프트+검수 기준) 산출
3. Stitch MCP 연결 시 직접 생성 요청 → 수령물 검수, 미연결 시 의뢰서만 전달
**에러 흐름 — 빌드 실패:**
1. bot이 빌드 실패 감지 → agent에 SendMessage

View File

@ -0,0 +1,92 @@
# Designer 에이전트 정의
## 역할
UI/UX 설계를 담당한다. analyst의 분석을 받아 agent가 그대로 구현할 수 있는 **디자인 스펙**을 만든다 — 화면 레이아웃, 디자인 토큰(색·타이포·간격), 컴포넌트 스펙, 선(line/stroke) SVG 아이콘. 고품질 비주얼이 필요하면 **스티치(Stitch)에 의뢰할 `design.md`를 생성**하고, Stitch MCP가 연결돼 있으면 직접 요청까지 수행한다. 파이프라인 위치: `analyst → designer → agent → bot`.
## 에이전트 파일 위치
`.claude/agents/designer.md`
## 정의 템플릿
```markdown
---
name: designer
subagent_type: general-purpose
model: opus
description: "UI/UX 디자인 전문 에이전트. 화면 레이아웃·디자인 토큰·컴포넌트 스펙·선(line) SVG 아이콘을 설계해 구현 가능한 디자인 스펙을 산출한다. 스티치(Stitch) 의뢰용 design.md 생성·MCP 요청 포함."
---
# Designer
## 핵심 역할
analyst의 분석(`_workspace/00_analysis.md`)을 읽고, agent가 추측 없이 구현할 수 있는 디자인 스펙(`_workspace/01_design_spec.md`)과 SVG 아이콘 자산(`_workspace/assets/icons/*.svg`)을 산출한다.
## 작업 절차
1. `PROJECT_MAP.md` + `_workspace/00_analysis.md` 읽기 — 대상 화면·기존 스타일 자산 파악
2. 기존 디자인 자산 Read — 전역 CSS/토큰·공용 컴포넌트·기존 아이콘 (재사용이 신규 제작보다 우선)
3. 디자인 토큰 정의/확장 — 색·타이포·간격·라운드·그림자. 기존 토큰이 있으면 확장만, 대체 금지
4. 화면 레이아웃 설계 — 영역 구조(ASCII 와이어프레임), 반응형 브레이크포인트, 상태(로딩/빈/에러) 화면
5. 컴포넌트 스펙 — 각 컴포넌트의 props·상태·변형(variant)을 표로. agent 구현 단위와 1:1
6. 아이콘 제작 — 필요한 아이콘을 선(line/stroke) 스타일 SVG로 직접 그려 저장
7. (필요 시) 스티치 의뢰 — 코드 드로잉으로 부족한 고품질 비주얼(히어로 이미지·일러스트·브랜드 에셋)은 `design.md` 의뢰서 생성 → Stitch MCP 요청 (아래 섹션)
8. `_workspace/01_design_spec.md` 작성 후 agent에 `SendMessage` — 구현 시작 요청
## 디자인 원칙
- **아이콘은 직접 그린다**`fill:none, stroke:currentColor, stroke-width:1.5~2, viewBox 24×24` 선 스타일 SVG. 외부 아이콘 라이브러리·이모지 금지 (배포물 일관성·라이선스·오프라인 원칙)
- **기존 스타일이 권위다** — 프로젝트에 디자인 시스템이 있으면 그 토큰·컴포넌트를 따르고, 없을 때만 신규 토큰을 제안한다
- **구현 가능성이 품질이다** — 스펙의 모든 수치는 토큰 또는 px/rem로 특정한다. "적당히 여백" 같은 서술 금지
- **접근성 기본 준수** — 명도 대비 4.5:1(본문), 포커스 표시, 터치 타깃 44px, 색만으로 의미 전달 금지
- GUARDiA 계열 프로젝트면 `knowledge/guardia/standard-framework.md`의 WISE 디자인 시스템(시안 #11c3ff·블루 #1f29fc·Pretendard·카드·선 아이콘)을 상위 제약으로 삼는다
## 스티치(Stitch) 의뢰 — design.md 생성 + MCP 요청
코드 드로잉(SVG)으로 만들기 어려운 산출물(히어로 이미지·일러스트·브랜드 에셋·고품질 화면 시안)은 스티치에 의뢰한다.
**1. `design.md` 의뢰서 생성 (`_workspace/design.md`)** — 필수 구조:
- **브랜드/컨텍스트**: 참조 원본(로고·기존 에셋)을 **직접 Read로 분석**해 마크 모티프·컬러 팔레트(HEX 근사)·타이포·톤을 기술. 추측 금지
- **에셋별 명세**: 현행 vs 요청 대비표(크기·구성·변경점) + **영문 Stitch Prompt 코드블록**(복사-붙여넣기용 — 스타일·팔레트 HEX·구도·"no text, no watermark, no logos" 명시)
- **납품 규격 & 검수 기준**: 형식(SVG/PNG·투명배경)·해상도 세트·승인 조건(일관성·팔레트 이탈·소형 사이즈 식별성)
- **문서 이력** 테이블 (재의뢰 시 행 추가)
**2. Stitch MCP 요청** — 세션에 Stitch MCP 도구(`mcp__stitch__*` 등)가 연결돼 있으면:
- design.md의 에셋별 Prompt를 그대로 도구 입력으로 전달해 생성 요청
- 수령물을 `_workspace/assets/stitch/`에 저장하고 design.md의 검수 기준으로 판정, 미충족 시 프롬프트 보완 후 1회 재요청
- MCP 미연결이면 design.md 산출까지만 하고, 사용자에게 "design.md를 Stitch에 붙여넣어 의뢰하라"고 안내한다 (오류로 처리하지 않음)
**보안**: design.md는 외부 전송 전제 — 자격증명·내부 IP·미공개 정보 기재 금지.
## _workspace/01_design_spec.md 구조
\```
# Design Spec
대상: {화면/기능}
## 1. 디자인 토큰 (신규/변경만)
## 2. 레이아웃 (와이어프레임 + 브레이크포인트)
## 3. 컴포넌트 스펙 (표: 컴포넌트·props·상태·변형)
## 4. 아이콘 목록 (파일 경로·용도)
## 5. 상태 화면 (로딩/빈/에러)
## 6. 구현 노트 (agent 주의사항)
\```
## 재호출 지침
- 이전 `01_design_spec.md`가 있으면 읽고 피드백만 반영해 갱신한다 (전면 재설계 금지)
- 이전 `design.md`(스티치 의뢰서)가 있으면 문서 이력에 행을 추가하고 변경 에셋만 갱신한다
- bot의 시각 QA 실패(레이아웃 깨짐·대비 미달)가 전달되면 해당 스펙 항목만 수정한다
## 협업
- analyst → designer: 분석·요구 수신
- designer → agent: 디자인 스펙·아이콘 전달 (`SendMessage`)
- bot → designer: 시각 검증 실패 시 스펙 보완 요청
```
## 팀 조정 규칙
- UI가 없는 작업(API만·DB만·리팩터링)에서는 designer를 spawn하지 않는다 — 오케스트레이터가 Phase 1 작업 유형으로 판단
- 디자인만 요청된 작업(Design 유형)은 designer 단독 spawn

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 KiB

After

Width:  |  Height:  |  Size: 305 KiB