بنقرة واحدة
omd-designer-review
// 시각 + 브랜드 일관성 리뷰. HTML/MD/JSX artifact를 받아 brand DESIGN.md 대비 typo hierarchy, 색 budget, radius scale, 컴포넌트 state, 모바일 반응형 검수. severity BLOCK/WARN/FYI + line ref 출력. 'UI 리뷰', '디자인 검토', 'DESIGN.md 대비 검수' 류 트리거.
// 시각 + 브랜드 일관성 리뷰. HTML/MD/JSX artifact를 받아 brand DESIGN.md 대비 typo hierarchy, 색 budget, radius scale, 컴포넌트 state, 모바일 반응형 검수. severity BLOCK/WARN/FYI + line ref 출력. 'UI 리뷰', '디자인 검토', 'DESIGN.md 대비 검수' 류 트리거.
화면 전체나 신규 surface를 처음부터 디자인할 때의 진입점 — Discovery→Wireframe→Components→Microcopy→Validation 파이프라인을 omd-master 오케스트레이터로 실행. 트리거: '랜딩페이지', '랜딩 페이지', '랜딩 만들어줘', '홈 화면', '첫 화면', '프로토타입', '그럴싸한', '구색 갖춰', 'first screen', 'first impression', 'landing page', 'landing', 'prototype', 'MVP UI', 'home', 'production-ready', 'wireframe to production', '랜딩 처음부터', 'production-ready', '一からデザイン', '從頭設計'. 자연어 발화('그럴싸한 랜딩 만들어줘', 'MVP UI 잡아줘', '프로토타입이라도 구색 갖춰서')에도 자동 트리거. 단일 컴포넌트 수정은 omd:apply.
한국어 글쓰기 멀티-preset 스킬. 12개 preset 지원 — toss-tech-design (default) / karrot-neighborly / brunch-maker-popular / naver-d2-engineering / biz-formal-report / academic-paper / journalism-broadsheet / kakao-warm-product / line-global-saas / academic-lecture-essay / emotional-brand / legal-disclosure. '한글 글 작성', 'KR rewrite', '토스 톤으로', '당근 톤으로', '브런치 톤으로', '보고서로 써줘', '학술 톤', '신문기사체' 류 트리거.
이미지 placeholder를 동적으로 materialize. Codex 채널에서는 내장 image-generation primitive 호출, Claude Code 채널에서는 omd-asset-curator로 fall back, OpenCode에서는 spec dump. HTML/MD의 `<!-- omd:gen-image -->` 블록을 단일 source of truth로 사용. '이미지 생성해줘', '플레이스홀더 채워줘', '코덱스로 이미지 만들어' 류 트리거.
출간 ready 직전 read-only critic. 8-item rubric 강제. 'looks good' rubber-stamp 금지. 라인 ref 필수. 2-round revision hard cap. '최종 QA', '출간 검수', 'rubric으로 평가' 류 트리거.
한국어 글쓰기 멀티-preset 스킬. 12개 preset 지원 — toss-tech-design (default) / karrot-neighborly / brunch-maker-popular / naver-d2-engineering / biz-formal-report / academic-paper / journalism-broadsheet / kakao-warm-product / line-global-saas / academic-lecture-essay / emotional-brand / legal-disclosure. '한글 글 작성', 'KR rewrite', '토스 톤으로', '당근 톤으로', '브런치 톤으로', '보고서로 써줘', '학술 톤', '신문기사체' 류 트리거.
한국어 본문을 EN/JP/ZH-TW로 **번역이 아닌 adaptation**. 문화 레퍼런스 swap, JP honorific 정합, ZH-TW 번체 idiom. KR은 항상 source of truth. '다국어 적용', 'EN 버전 만들어줘', 'JP로 옮겨줘' 류 트리거.
| name | omd:designer-review |
| description | 시각 + 브랜드 일관성 리뷰. HTML/MD/JSX artifact를 받아 brand DESIGN.md 대비 typo hierarchy, 색 budget, radius scale, 컴포넌트 state, 모바일 반응형 검수. severity BLOCK/WARN/FYI + line ref 출력. 'UI 리뷰', '디자인 검토', 'DESIGN.md 대비 검수' 류 트리거. |
| user-invocable | true |
artifact를 받아 brand의 DESIGN.md 기준으로 visual / brand consistency를 audit한다. read-write가 아니라 advisory — 직접 수정하지 않고 review report만 emit.
구조는 mastepanoski/claude-skills ui-design-review에서 차용.
artifact_path: HTML, MD, JSX, TSX 중 하나design_md_path: 해당 브랜드의 references/<id>/DESIGN.md 또는 프로젝트 루트 DESIGN.mdviewport: mobile | desktop | both (default: both)이 두 입력이 없으면 BLOCK으로 즉시 종료.
§ Typography 스펙 readDESIGN.md § Color의 brand saturated tokens 추출.
2 → WARN (Toss principle 위반)
4 → BLOCK
§ Radius 토큰 read (예: 0, 4, 8, 12, 16, 9999)border-radius 추출각 interactive 요소가 다음 state를 갖춰야:
누락 → BLOCK (focus는 a11y 필수)
§ Spacing 토큰padding: 13px) → WARN| Severity | 의미 | 후속 조치 |
|---|---|---|
| BLOCK | a11y 또는 hard rule 위반. 출간 불가. | writer로 revision round 1 |
| WARN | best practice 위반. 출간 가능하나 권장 수정. | writer가 판단 후 fix |
| FYI | 정보성. 의도일 수 있음. | 무시 가능 |
<work_dir>/.reviews/designer-review-round-<N>.md:
# Designer review — round <N>
**Date:** <ISO>
**Artifact:** <path>
**DESIGN.md:** <path>
**Viewport:** mobile | desktop | both
## Summary
- BLOCK: <count>
- WARN: <count>
- FYI: <count>
## Issues
### [BLOCK] Focus state missing on primary CTA
- **Location:** `components/SignupForm.tsx:42`
- **Rule:** § Component states — focus is mandatory
- **Evidence:** `<button className="bg-blue-500 hover:bg-blue-600">` — focus 클래스 없음
- **Fix suggestion:** add `focus-visible:ring-2 focus-visible:ring-blue-300`
### [WARN] Color budget exceeded on mobile hero
- **Location:** `index.ko.md:34-41`
- **Rule:** § Color budget — max 2 saturated / viewport
- **Evidence:** 3 saturated brand 사용 (red-500, blue-500, green-500)
- **Fix suggestion:** green-500을 gray-700 또는 텍스트로 대체
...
## Verdict
- **PASS** (BLOCK=0, WARN≤3) — 출간 OK
- **REVISION** (BLOCK=0, WARN>3) — 권장 수정 후 재리뷰 옵션
- **BLOCK** (BLOCK≥1) — 출간 불가, writer revision round 시작
artifact가 HTML/JSX이고 browser-harness가 가용하면 mobile 320px + desktop 1280px 스크린샷을 캡쳐해 .reviews/screenshots/에 저장. 텍스트 audit과 함께 첨부.
Anti-pattern: 이전 review에서 읽은 DESIGN.md를 캐싱해 재사용 → memory hallucination 위험.
→ 매 호출마다 DESIGN.md를 다시 read. 읽은 timestamp를 report 헤더에 명시.
somewhere in the file 금지)input에 prior_report_path 포함되면:
Round 2에도 UNRESOLVED BLOCK 있으면 orchestrator로 BLOCK escalation.