Communitygithub.com

atelier-ui

적응형 프론트엔드 및 비주얼 디자인 오케스트레이터 스킬입니다. 브랜드/랜딩 사이트, SaaS/앱 UI 개선, 3D/WebGL 비주얼 빌드 사이를 1턴 인테이크, 점진적 모듈 로딩, 제로 설치 폴백, 결정론적 QA 게이트를 사용하여 깔끔하게 라우팅합니다. UI/웹사이트 디자인, 리디자인, 랜딩 페이지, 대시보드 또는 비주얼 폴리시 요청 시 트리거하세요.

atelier-ui란 무엇인가요?

Atelier UI는 AI 에이전트(예: Gemini, Claude Code 등)가 UI/웹사이트 디자인 작업을 수행할 때 사용하는 지능형 오케스트레이션 스킬입니다. 이 스킬은 하나의 진입점(1턴 인테이크)을 통해 프로젝트의 요구사항을 명확히 하고, 브랜드/랜딩 사이트, SaaS/앱 UI, 3D/WebGL 중 적절한 빌드 모듈로 자동 라우팅하여 불필요한 컨텍스트 소모를 방지합니다. 또한 환경 탐지 스크립트를 통해 사용 가능한 도구(impeccable, agent-browser 등)를 먼저 확인한 후 QA 게이트를 실행하여, 린트와 브라우저 스크린샷 기반 시각적 검증을 수행합니다. 이 스킬은 특정 플랫폼(예: Cursor, Codex, Claude Code)에 종속되지 않고, JSON 출력을 통해 프로젝트 스택과 도구 가용성을 동적으로 파악하여 적응합니다. 핵심 설계 원칙은 CSS 커스텀 속성 기반 토큰 사용, 레이아웃 함정 방지, 접근성 및 모션 최적화, 그리고 '안티-슬롭' 금지 목록을 통한 일관된 디자인 품질 유지입니다.

지원 대상✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/yashh1323/atelier-ui/tree/HEAD

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Atelier UI — 디자인 오케스트레이터

컨텍스트를 가볍게 유지하세요. 모든 모듈을 한 번에 로드하지 말고, 인테이크 후 하나의 빌드 모듈로 라우팅하고 기계적 검사는 스크립트에 오프로드하세요.

아래 명령어와 경로에서 <skill>은 이 SKILL.md 파일이 포함된 디렉토리입니다(예: ~/.gemini/config/skills/atelier-ui, Windows의 경우 %USERPROFILE%\.gemini\config\skills\atelier-ui, 또는 작업 공간 로컬 .agents/skills/atelier-ui). 셸 명령에서 경로에 공백이 있을 수 있으므로 항상 "<skill>/..."를 따옴표로 묶으세요.

워크플로우

1. 환경 탐지 (한 번)

프로젝트 루트에서 기능 스캐너를 실행하세요:

node "<skill>/scripts/detect-env.mjs"

외부 도구(impeccable, agent-browser)가 존재한다고 가정하지 마세요. JSON 출력(project.framework, project.devCommand, tools.impeccableCmd, tools.agentBrowser, tools.browserBinary, tools.cdpSupported)을 사용하여 스택과 QA 등급을 선택하세요.

2. 인테이크 (1턴, 기본값 사용)

핵심 질문이 열려 있는 경우에만 <skill>/modules/01-intake.md를 읽으세요.

  • 누락된 모든 질문을 하나의 번호가 매겨진 메시지에 기본값과 함께 질문하거나(또는 사용자가 전체 세부정보를 제공하거나 "defaults" / "go ahead" 라고 말한 경우 즉시 시작하세요).
  • 확정된 계획을 .atelier/BRIEF.md에 작성하여 컨텍스트 압축이 요구사항을 잃지 않도록 하세요.

3. 하나의 빌드 모듈로 라우팅

브리프에서 표면 모드를 선택하고 해당 파일만 읽으세요:

  • 브랜드 / 랜딩 / 포트폴리오 / 로컬 비즈니스 (설득 또는 경험): <skill>/modules/02-brand-site.md를 읽으세요.
  • SaaS / 대시보드 / 문서 / 기존 앱 (운영 또는 읽기): <skill>/modules/03-app-ui.md를 읽으세요.
  • 3D 세계 / WebGL / 셰이더 (3D): <skill>/modules/04-3d-visual.md를 읽으세요.

4. 유니버설 크래프트 플로어 (항상 활성)

  1. 원시 16진수 대신 토큰: CSS 사용자 정의 속성(:root) 또는 프로젝트의 기존 Tailwind/테마 토큰을 사용하세요.
  2. 레이아웃 함정 금지: html, body에 overflow-x: clip (절대 100vw 사용 금지); 이미지 그리드 트랙에 minmax(0, 1fr); 디스플레이 제목에 min-width: 0; overflow-wrap: break-word.
  3. 모션 및 접근성: 절대 transition: all을 사용하지 말고 transform / opacity / clip-path / filter만 애니메이션 처리하세요. :focus-visible 및 @media (prefers-reduced-motion: reduce)를 추가하세요.
  4. 안티-슬롭 금지 목록: 정당하지 않은 보라색에서 파란색 그라디언트, 본문/제목의 그라디언트 텍스트, 카드 안의 중첩 카드, 헤드라인 위의 01/02/03 눈썹 킥커, UI 아이콘으로서의 이모지, 허위 사용후기, 로고, 메트릭을 사용하지 마세요.
  5. 대비 및 상태: 본문 텍스트 >= 4.5:1, 큰 텍스트 >= 3:1; 모든 대화형 컨트롤은 기본, 호버, focus-visible, 비활성화, 로딩, 빈 상태 및 오류 상태를 포함해야 합니다.
  6. 깔끔한 카피: 버튼은 <동사> <목적어> 형식이어야 합니다(절대 일반적인 "자세히 알아보기" 사용 금지). 절대 플레이스홀더 텍스트(Lorem ipsum, Acme, TODO)를 남겨두지 마세요.

(기계적 검사는 lint-ui.mjs와 check-ui.mjs에 있습니다. 중첩 카드 및 minmax(0, 1fr)와 같은 구조적 레이아웃 규칙은 사용자와 Tier 3 비평가가 확인합니다.)

5. 검증 및 비평가 게이트

빌드 후 <skill>/modules/05-qa-gate.md를 읽고 QA 사다리를 실행하세요:

  1. 정적 슬롭 린트 (감지된 경우 tools.impeccableCmd, 추가로 node "<skill>/scripts/lint-ui.mjs" <target-dir> 실행).
  2. 브라우저 검사 (agent-browser, 환경의 브라우저 도구, 또는 node "<skill>/scripts/check-ui.mjs" <target> --out .atelier/shots --full --sheet)를 데스크톱(1440x900) 및 모바일(390x844) 해상도에서 실행하세요.
  3. 선택 사항: 캡처된 스크린샷을 사용한 제로 컨텍스트 시각 비평가 리뷰 (QA Depth가 critic 또는 deep인 경우).

이 스킬의 파일

경로 (<skill>/ 아래)로드 시점
modules/01-intake.md2단계: 모호한 브리프 명확히 하기 및 .atelier/BRIEF.md 작성
modules/02-brand-site.md3단계: 새 마케팅, 회사, 로컬 비즈니스 또는 포트폴리오 페이지
modules/03-app-ui.md3단계: 대시보드, 도구, 문서 또는 기존 앱 개선
modules/04-3d-visual.md3단계: Three.js, WebGL 또는 셰이더 빌드
modules/05-qa-gate.md5단계: 린트, 브라우저 검사 및 제로 컨텍스트 비평가 리뷰 실행
library/themes.json3단계 (02-brand-site): 비범용 색상 및 글꼴 페어링 처리
scripts/detect-env.mjs1단계: 프로젝트 스택 및 설치된 CLI/브라우저 도구 감지
scripts/lint-ui.mjs5단계: 내장 제로 의존성 슬롭 및 크래프트 플로어 린터
scripts/check-ui.mjs5단계: 내장 제로 의존성 Chrome DevTools Protocol (CDP) 검증기

관련 스킬