사용 가이드로 건너뛰기
frontend-ui-engineering작성자 Addy Osmani

Frontend UI Engineering 스킬.

UI 디자인을 위한 Claude Code 및 Codex 스킬: 프로덕션 수준의 접근 가능하고 반응형인 사용자 대면 UI를 구축합니다.

  • Web & UI
  • UI 코드
addyosmani/agent-skills · skills/frontend-ui-engineering/SKILL.mdSKILL.md
--- name: frontend-ui-engineering description: Builds production-quality, accessible, responsive user-facing UIs. Use when building or modifying interfaces and pages, creating components, implementing layouts, meeting WCAG accessibility requirements, managing state, or when the output needs to look and feel production-quality rather than AI-generated. --- ## When to Use ## Component Architecture ## State Management ## Design System Adherence ## Accessibility (WCAG 2.1 AA) ## Responsive Design
상위 파일에서 읽은 머리말 및 섹션 제목 2026-09-14 · 전체 10,679자

01 기능

Claude Code와 Codex에서 frontend-ui-engineering 스킬이 하는 일

요약, 워크플로, 산출물을 모두 해당 스킬의 SKILL.md에서 그대로 읽어 정리한 내용입니다.

SKILL.md에서2026-09-14 읽음 · 실행 기록 아님

스킬 자체의 표현으로

접근 가능하고 성능이 뛰어나며 시각적으로 완성도 높은 프로덕션 품질의 사용자 인터페이스를 만듭니다. 이 스킬은 AI가 생성한 것처럼 보이지 않고, 상위 기업의 디자인 감각을 갖춘 엔지니어가 만든 것처럼 보이는 UI를 만드는 데 초점을 맞춥니다. 실제 디자인 시스템 준수, 적절한 WCAG 2.1 AA 접근성, 신중한 상호작용 패턴을 강제하며 일반적인 AI 미학적 클리셰를 피합니다.

이 스킬은 컴포넌트 콜로케이션을 통한 아키텍처, 설정보다 조합을 우선하는 방식, 로컬 useState부터 전역 스토어까지 이르는 상태 관리, 특정 브레이크포인트에서 테스트된 모바일 우선 반응형 디자인, 키보드 내비게이션, ARIA 레이블, 포커스 관리, 의미 있는 빈 상태 및 오류 상태, 스켈레톤 로딩, 체감 속도를 위한 낙관적 업데이트를 다룹니다.

산출물

  • 콘텐츠 로딩 중임을 나타내는 aria-busy 및 aria-label을 사용한 스켈레톤 로딩 상태
  • role="status", 설명 텍스트, 아이콘, 실행 가능한 다음 단계를 포함한 의미 있는 빈 상태 및 오류 상태
예시 프롬프트 보기 ↗

작동 방식

  1. 01
    컴포넌트 파일 콜로케이션

    컴포넌트 구현, 테스트, 스토리, 커스텀 훅, 타입을 컴포넌트 이름을 딴 단일 폴더에 함께 배치합니다.

  2. 02
    컴포넌트를 설정하지 말고 조합하십시오

    속성이 많은 설정 객체 대신 중첩된 children을 사용해 조합 가능한 컴포넌트 API를 구성합니다.

  3. 03
    데이터 페칭과 표현을 분리하십시오

    데이터 로딩, 오류, 빈 상태를 처리하는 컨테이너 컴포넌트를 만들고, 정제된 데이터를 표현 컴포넌트에 전달합니다.

  4. 04
    범위에 따라 상태 관리 방식을 선택하십시오

    컴포넌트별 UI 상태에는 useState를, 2~3개의 형제 컴포넌트에는 리프트된 상태를, 테마/인증/로케일에는 Context를, 필터와 페이지네이션에는 URL 상태를, 원격 데이터에는 서버 상태 라이브러리를, 복잡한 공유 클라이언트 상태에는 전역 스토어를 사용하십시오.

  5. 05
    디자인 시스템 토큰을 따르십시오

    원시 헥스 값 대신 text-primary, bg-surface와 같은 시맨틱 컬러 토큰을 사용하고, 0.25rem 단위의 일관된 스페이싱 스케일을 유지하며, 타입 계층을 준수하십시오.

  6. 06
    WCAG 2.1 AA 접근성을 구현하십시오

    모든 상호작용 요소를 키보드로 접근 가능하게 만들고, 레이블이 없는 컨트롤에 ARIA 레이블을 추가하고, 콘텐츠 변경 시 포커스를 관리하고, 일반 텍스트에 대해 4.5:1 대비를 보장하며, 의미 있는 빈 상태 및 오류 상태를 제공하십시오.

02 적합성 확인

frontend-ui-engineering 스킬을 사용해야 하는 경우

이 유형의 UI 디자인 작업에는 Claude Code 또는 Codex에서 frontend-ui-engineering 스킬을 사용하십시오. 적합성과 제한 사항은 스킬 자체 파일에서 가져왔습니다.

적합한 경우

  • 새로운 UI 컴포넌트 또는 페이지 구축
  • 기존 사용자 대면 인터페이스 수정
  • 반응형 레이아웃 구현
  • 상호작용 또는 상태 관리 추가
  • 시각적 또는 UX 문제 수정

한계 인지하기

  • 이후에 다시 작성될 것을 예상하고 프로토타입을 만드는 것
  • 디자인이 최종본이 아니라는 이유로 스타일링을 건너뛰는 것
  • 반응형 디자인을 이후 단계로 미루는 것
  • 접근성을 선택적이거나 있으면 좋은 요소로 취급하는 것

제공할 사항

  • 현실적인 자리 표시자 콘텐츠레이아웃 문제(길이, 줄바꿈, 오버플로우)를 드러내기 위한 실제 콘텐츠 또는 현실적인 예시, lorem ipsum이 가려버리는 문제들

03 스킬 내부

frontend-ui-engineering Skill이 Claude Code와 Codex에 제공하는 규칙

SKILL.md가 에이전트에게 설정하는 8가지 구체적인 지시, 기본값, 제한 — 결과를 바꾸는 파일의 부분입니다.

  1. AI 특유의 미학적 패턴 피하기

    보라색/인디고를 곳곳에 사용하거나, 과도한 그라디언트, 모든 요소에 rounded-2xl 적용, 전형적인 히어로 섹션, lorem ipsum 카피, 과도하게 큰 패딩, 스톡 카드 그리드, 그림자가 과한 디자인을 사용하지 않습니다.

  2. 3단계보다 깊은 Prop Drilling 금지

    사용하지 않는 컴포넌트에 props를 계속 전달하고 있다면, 컨텍스트를 도입하거나 컴포넌트 트리를 재구성합니다.

  3. 일관된 간격 스케일 사용

    스케일에서 0.25rem 단위(또는 프로젝트에서 사용하는 단위)로 간격을 적용합니다. 13px나 2.3rem처럼 스케일에 없는 값을 임의로 만들지 않습니다.

  4. 헤딩 레벨을 건너뛰지 않기

    h1(페이지 제목, 페이지당 하나)부터 h2(섹션), h3(하위 섹션)까지 시맨틱 헤딩 계층을 유지합니다. 헤딩이 아닌 콘텐츠에 헤딩 스타일을 사용하지 않습니다.

  5. 모든 인터랙티브 요소는 키보드로 접근 가능해야 합니다

    button과 같은 네이티브 포커스 가능 요소를 사용합니다. onClick이 있는 div를 반드시 사용해야 한다면 role="button", tabIndex={0}, 그리고 Enter와 Space를 위한 onKeyDown/onKeyUp 핸들러를 추가합니다.

  6. 모바일 우선으로 디자인하기

    모바일 브레이크포인트를 먼저 구현한 다음 더 큰 화면으로 확장합니다. 320px, 768px, 1024px, 1440px에서 테스트합니다.

  7. 스피너 대신 스켈레톤 로딩 사용

    콘텐츠 로딩 시 aria-busy와 aria-label을 사용한 스켈레톤 상태를 표시합니다. 체감 속도를 위해 낙관적 업데이트를 구현합니다.

  8. 컴포넌트는 200줄을 초과해서는 안 됩니다

    200줄을 넘어서 커진 컴포넌트는 더 작고 집중된 단위로 분리합니다.

04 활용하기

Claude Code 또는 Codex에 frontend-ui-engineering 설치

npx skills add 명령 한 번 실행 후, 에이전트에서 첫 번째 작업을 수행하고 결과 체크리스트를 확인합니다.

Claude Code, Codex 또는 귀하의 에이전트에 frontend-ui-engineering 추가

프로젝트에서 실행합니다. 설치 프로그램이 어떤 에이전트에 추가할지 묻습니다.

Terminal
npx skills add https://github.com/addyosmani/agent-skills --skill frontend-ui-engineering

skills/frontend-ui-engineering/SKILL.md에 대한 일반적인 skills CLI 형식이며, 저장소가 자체 경로를 문서화할 수도 있습니다.

스킬에 첫 UI 디자인 작업 부여하기

스킬 자체의 용어로 작성되었습니다. 대괄호 부분은 각자의 자료로 교체합니다.

Starter prompt
Build a TaskList component for [project name] that displays a list of tasks with checkboxes to mark them complete and delete buttons. The component should handle loading, error, and empty states. It should be keyboard accessible, meet WCAG 2.1 AA standards, work responsively from 320px to 1440px, and follow the design system's spacing scale and color tokens. Include a container component that fetches tasks using React Query and a presentation component that receives clean data.

출처: 스킬 자체의 용어로 SKILL.md에서 작성했습니다.

첫 번째 결과 확인

SKILL.md 자체가 올바른 결과의 모습으로 제시하는 내용:

  • 컴포넌트가 콘솔 오류 없이 렌더링됩니다
  • 모든 인터랙티브 요소는 페이지에서 탭 이동으로 키보드 접근이 가능합니다
  • 스크린 리더가 페이지의 콘텐츠 및 구조를 전달할 수 있습니다
  • 반응형 레이아웃이 320px, 768px, 1024px, 1440px 브레이크포인트에서 작동합니다
  • 로딩, 오류, 빈 상태가 모두 처리됩니다
  • 개발자 도구나 axe-core에 접근성 경고가 없습니다

OpenDesign에서 frontend-ui-engineering을 SKILL.md 링크에서 가져옵니다: Plugins → Add → Skill → Import from link, 그런 다음 상단 바에서 선택합니다.

05 오픈 소스, 추적 가능

출처, 라이선스 및 검증

이 페이지의 사실이 어디에서 왔으며 언제 마지막으로 확인되었는지 안내합니다.

스킬 파일
skills/frontend-ui-engineering/SKILL.md 검증 시 콘텐츠 체크섬 기록됨; 커밋 be4e44a
License
MIT LICENSE에서 확인.
리포지토리 스타
94,139 전체 addyosmani/agent-skills 저장소에 대해 2026-09-14에 촬영된 GitHub 스냅샷입니다. frontend-ui-engineering에 대한 평가 또는 사용 횟수가 아닙니다.
OpenDesign에서 검증됨
2026-09-14 소스 파일, 경로, 라이선스 텍스트 및 스타 수가 확인되었습니다. OpenDesign 메인에 번들로 포함되지 않음(2026-08-28 확인); 이 페이지에 실제 실행 기록이 없습니다.

SKILL.md 내부

  1. 개요목표는 AI가 생성한 것처럼 보이지 않고 디자인을 이해하고 만든 것처럼 보이는 프로덕션 품질의 UI입니다
  2. 사용 시점UI 컴포넌트, 페이지, 레이아웃, 인터랙션, 상태를 구축하거나 수정하거나 시각적 문제를 해결할 때
  3. 컴포넌트 아키텍처파일을 함께 배치하고, 구성보다 합성을 선호하며, 컴포넌트를 한 가지 역할에 집중시키고, 데이터와 표현을 분리합니다
  4. 상태 관리가장 단순한 접근 방식을 선택합니다: 로컬 상태, 리프트된 상태, context, URL 상태, 서버 상태, 또는 전역 스토어
  5. 디자인 시스템 준수AI 특유의 미학적 패턴을 피하고, 일관된 간격 스케일을 사용하며, 타이포그래피 계층을 준수하고, 시맨틱 색상 토큰을 사용합니다
  6. 접근성 (WCAG 2.1 AA)키보드 내비게이션, ARIA 레이블, 포커스 관리, 의미 있는 빈 상태 및 오류 상태가 필수입니다
  7. 반응형 디자인모바일 우선 접근 방식, 320px, 768px, 1024px, 1440px 브레이크포인트에서 테스트
  8. 로딩 및 전환스피너 대신 스켈레톤 로딩을 사용하고, 체감 속도를 위해 낙관적 업데이트를 구현합니다
  9. 흔한 합리화접근성, 반응형 디자인, 스타일링을 미루거나 AI 특유의 미학을 수용하는 주장에 반박합니다
  10. 위험 신호200줄이 넘는 컴포넌트, 인라인 스타일, 누락된 상태, 키보드 테스트 부재, 색상만으로 표시하는 지표, AI스러운 외관
  11. 검증렌더링, 키보드 접근, 스크린 리더, 반응형, 상태, 디자인 시스템, 접근성 도구에 대한 체크리스트
스킬 자체 설명
"프로덕션 품질의 접근성을 갖춘 반응형 사용자 대면 UI를 구축합니다. 인터페이스 및 페이지 구축 또는 수정, 컴포넌트 생성, 레이아웃 구현, WCAG 접근성 요구사항 충족, 상태 관리 또는 출력이 AI 생성처럼 보이지 않고 프로덕션 품질로 보이고 작동해야 할 때 사용하십시오."

SKILL.md의 Front-matter 설명입니다. 전체 파일은 약 10,679자입니다. GitHub에서 전체 파일 읽기.

06 설치하기 전에

frontend-ui-engineering 스킬에 대한 질문

이 답변은 2026-09-14 기준으로 확인한 SKILL.md 내용을 근거로 하며, 실행 기록을 바탕으로 한 것이 아닙니다.

Context와 Zustand 같은 전역 스토어는 언제 사용해야 합니까?

테마, 인증, 로케일처럼 읽기가 많고 쓰기가 드문 데이터에는 Context를 사용합니다. 앱 전체에서 공유되는 복잡한 클라이언트 상태에는 Zustand나 Redux 같은 전역 스토어를 사용합니다.

2~3개의 형제 컴포넌트 간에만 상태를 공유하는 경우에는 상태를 공통 부모로 끌어올리는 것이 낫습니다. context를 도입하거나 컴포넌트 트리를 재구성해 3단계 이상의 prop 드릴링을 피합니다.

프론트엔드 UI 엔지니어링

실제 UI 디자인 작업에서 frontend-ui-engineering을 실행합니다.

OpenDesign을 다운로드하고 SKILL.md 링크에서 frontend-ui-engineering을 가져온 다음 위 프롬프트를 붙여넣고 결과를 확인하기 전에 계획을 읽으십시오.

터미널
npx skills add https://github.com/addyosmani/agent-skills --skill frontend-ui-engineering

OpenDesign 데스크톱

하나의 디자인 시스템으로 모든 결과물에 브랜드 일관성을

완전한 Vibe Design Workspace에서 하나의 브랜드 규칙을 웹사이트, 슬라이드, 인터랙티브 프로토타입, 대시보드, 이미지, HTML 영상에 적용하세요. 로컬 Codex, Claude Code, Cursor 등을 연결해 무료로 제작할 수 있습니다.

  • 웹, 슬라이드, 프로토타입, 대시보드, 이미지, 영상
  • 140개+ 디자인 시스템과 전체 템플릿·스킬 라이브러리
  • 로컬 Codex 및 21개+ 코딩 에이전트 연결 · 무료
무료 다운로드

macOS, Windows 지원