Communitygithub.com

axewhyzed/agentic-skills

고밀도, 제로 웨이스트 현대 웹 애플리케이션, 도구 대시보드 및 생산적인 작업 공간을 위한 운영 프레임워크입니다. 웹 인터페이스(React, TypeScript), 2-페인 마스터-디테일 레이아웃, 통합 컴포즈 허브, 키보드 중심 탐색, 명령 팔레트(cmdk), 실시간 원격 측정 표시기 및 세분화된 인증 사용성 설계, 구축 또는 리팩토링 시 사용하세요.

agentic-skills란 무엇인가요?

이 스킬은 생산성 도구와 대시보드를 위한 고밀도, 제로 웨이스트 웹 UI/UX 원칙을 정의합니다. React 및 TypeScript 기반 애플리케이션에서 최대의 정보 밀도와 사용자 효율을 달성하도록 설계되었습니다. 핵심 패턴으로는 불필요한 영웅 배너를 제거하는 Anti-Hero Rule, 명령 팔레트(cmdk) 통합, 분할된 탭 전환기와 드래그 앤 드롭 영역을 갖춘 통합 컴포즈 허브, 가상화된 목록과 고정 필터를 갖춘 마스터-디테일 2-페인 레이아웃이 포함됩니다. 또한 키보드 탐색(⌘K, Ctrl+Enter 등)과 WCAG 2.2 AA/AAA 색상 대비 요구 사항을 충족하는 접근성에 중점을 둡니다. 보안 UX 측면에서는 로컬 로그아웃과 전역 세션 취소를 명확히 분리하여 사용자 안전을 보장합니다. 스킬은 shadcn/ui, cmdk, Linear 스타일의 오픈소스 레퍼런스를 참고하여 구현 지침을 제공합니다.

지원 대상~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/axewhyzed/agentic-skills/tree/HEAD/.agents/skills/modern-web-ui-ux

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

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

문서

현대 웹 UI/UX 및 고밀도 작업 공간 디자인

고밀도, 제로 웨이스트 웹 애플리케이션, 유틸리티 대시보드 및 생산적인 웹 작업 공간을 엔지니어링하기 위한 종합 운영 가이드입니다.


1. 제로 웨이스트 웹 철학

생산적인 웹 애플리케이션(도구, 관리 패널, 통신 중계, 개발자 대시보드)은 랜딩 페이지가 아닙니다. 사용자는 업무를 수행하기 위해 방문하며, 마케팅 그래픽을 감상하기 위해 오지 않습니다.

1.1 안티 히어로 규칙

  • ❌ 안티 패턴: 앱 화면 상단에 거대한 300px 장식 히어로 배너를 배치하는 것 ("받은 편지함에 오신 것을 환영합니다!", 떠다니는 추상 일러스트레이션, 거대한 그라데이션 배경). 실제 데이터와 대화형 컨트롤이 접히는 영역 아래로 밀려납니다.
  • ✔️ 제로 웨이스트 패턴: 로그인 상태에서 마케팅 히어로 배너를 완전히 제거하세요. 대신 다음을 통합한 단일 컴팩트 56px 상단바를 사용하세요.
    1. 미묘한 브랜드 아이덴티티/아이콘.
    2. 실시간 시스템 원격 측정 또는 할당량 측정기 (예: 저장소 알약: 14 MB / 2 GB).
    3. 작업 모달 트리거 (예: "기기 페어링").
    4. 빠른 테마 전환 (다크/라이트).
    5. 별도의 로컬 로그아웃 및 보안 옵션이 있는 컴팩트 사용자 드롭다운.

1.2 뷰포트 최대화

  • 100vh 레이아웃: 루트 뷰포트 높이를 고정(height: 100vh; overflow: hidden;)하고 콘텐츠 목록과 상세 검사기를 위한 독립적인 스크롤 컨테이너를 만드세요.
  • 우발적 스크롤바 제로: 내부 목록 컨테이너에서만 overflow-y: auto를 신중하게 관리하여 이중 스크롤바를 제거하세요.

2. Linear 스타일 고밀도 미학

Linear, Vercel 및 Raycast가 대중화한 디자인 패러다임에서 영감을 받았습니다:

2.1 시각적 계층 구조 및 토큰

  • 미묘한 1px 테두리: 무거운 그림자를 피하세요. 가는 1px 테두리(border-border/40 또는 #1E293B)를 사용하여 구조를 설정하세요.
  • 딥 슬레이트/흑요석 배경: 순수 검정(#000000) 또는 칙칙한 회색 대신 고대비, 비채도 배경(#0B0F17 또는 #090D16)을 사용하세요.
  • 고정폭 표 숫자: 날짜, 타임스탬프, 파일 크기 및 카운터에는 항상 font-mono tabular-nums를 적용하여 숫자가 레이아웃 지터 없이 세로로 정렬되도록 하세요.
  • 컴팩트 간격 그리드: 4px/8px 리듬을 표준화하세요. 시각적 폐쇄감 없이 최대 정보 밀도를 위해 행 패딩은 세로 8px–10px, 가로 12px로 설정하세요.

2.2 명령 메뉴 팔레트 (cmdk 패턴)

표준 검색창 외에도 ⌘K 또는 Ctrl+K로 트리거되는 전역 명령 팔레트를 통합하세요:

  • 그룹화된 작업: 탐색, 생성, 시스템 설정, 계정 작업.
  • 항목, 파일 및 단축키에 대한 즉시 퍼지 검색.
  • 완전히 접근 가능한 키보드 탐색 (ArrowDown, ArrowUp, Enter, Escape).

3. 통합 컴포즈 허브 패턴

애플리케이션에서 사용자가 다양한 종류의 데이터(예: 텍스트 메모, URL, 문서)를 생성, 업로드 또는 전송할 수 있도록 할 때 여러 페이지에 진입 지점을 분산시키거나 페이지 하단에 숨기지 마세요.

+-------------------------------------------------------------+
| 컴포즈 허브                                                 |
| [ 📝 텍스트 ]  [ 🔗 웹 링크 ]  [ 📁 파일 업로드 ]            |
+-------------------------------------------------------------+
|                                                             |
|  활성 양식 / 드래그 앤 드롭 대상 영역                      |
|  - 메모를 위한 다중 행 텍스트 영역                            |
|  - 자동 유효성 검사가 포함된 깔끔한 URL 입력                  |
|  - 즉시 파일 스테이징 미리보기가 포함된 드래그 앤 드롭 영역   |
|                                                             |
+-------------------------------------------------------------+
| 보존: [ 1일 ] [ 3일 ] [ 7일 ]    [ 보관소에 넣기 ↵ ] |
+-------------------------------------------------------------+

효과적인 컴포즈 허브의 주요 요소:

  1. 분할 탭 전환기: 양식 재설정 없이 즉시 전환되는 깔끔한 알약 탭.
  2. 드래그 앤 드롭 영역: 시각적 테두리 강조(border-dashed border-accent) 및 바이트 크기 유효성 검사가 포함된 기본 HTML5 드래그 앤 드롭 처리.
  3. 실시간 문자 및 바이트 카운팅: 실시간으로 실제 UTF-8 바이트를 계산합니다(예: 124 bytes 또는 18.4 MB / 100 MB).
  4. 수명 주기/보존 컨트롤: 사용자가 만료를 미리 설정하여 시스템이 임시 항목을 자동으로 정리할 수 있도록 합니다.
  5. 키보드 제출: 활성 텍스트 입력에서 Ctrl + Enter (또는 Cmd + Enter)로 제출.
  6. 고대비 활성 상태 (WCAG 1.4.11):
    • 활성 탭 대비: 다크 모드에서 활성 탭은 절대 컨테이너에 혼합되어서는 안 됩니다(#0F172A 컨테이너의 #111827 활성은 1.02:1에 불과). 항상 --card-elevated: #1E293B, 명시적 1px 시맨틱 테두리(1px solid var(--accent)), 활성 광선 외곽선(box-shadow: 0 0 0 1px var(--accent-glow)) 및 활성 색조 아이콘으로 활성 탭을 강조하세요.
    • 양식 컨트롤 경계: 다크 모드의 보존 입력, 드롭다운 갈매기 및 보조 버튼은 어두운 배경에 대해 3:1 비텍스트 대비 요구 사항을 충족하기 위해 18% 이상의 흰색 불투명도(rgba(255, 255, 255, 0.18) 또는 #334155)의 테두리를 사용해야 합니다.

4. 고밀도 마스터-디테일 (2-페인) 레이아웃

데이터 탐색의 경우 마스터-디테일 레이아웃은 컨텍스트를 표시하면서 심층 검사를 가능하게 합니다.

flowchart LR
    subgraph MasterPane["마스터 페인 (왼쪽: 40% - 45%)"]
        SearchBar["즉시 검색창 (단축키: /)"]
        FilterChips["필터 칩: [모두] [파일] [링크] [텍스트]"]
        ListItems["가상화/스크롤 가능 항목 행
        - 유형 아이콘 + 제목
        - 발신 기기 배지
        - 상대적 타임스탬프
        - 빠른 스와이프/작업"]
    end

    subgraph DetailPane["디테일 페인 (오른쪽: 55% - 60%)"]
        DetailHeader["항목 제목 및 유형 배지"]
        PreviewArea["라이브 콘텐츠 미리보기:
        - 클릭 가능한 링크
        - 구문 강조 텍스트
        - 이미지/문서 미리보기"]
        ActionRow["기본 작업:
        [ 링크 열기 ] [ 텍스트 복사 ] [ 파일 다운로드 ] [ 삭제 ]"]
    end

    MasterPane -->|"선택 상태"| DetailPane

모범 사례:

  • 고정 필터 및 검색 헤더: 항목 목록이 아래로 스크롤되는 동안 검색 입력과 필터 칩은 고정되어 있어야 합니다.
  • 빈 상태 및 결과 없음 상태: 명확한 시각적 상태를 제공하세요.
    • 아직 항목 없음: "받은 편지함이 비어 있습니다. 위의 컴포즈 허브를 사용하여 첫 번째 항목을 드롭하세요."
    • 검색 결과 없음: "'tax-return'과 일치하는 항목이 없습니다. [검색 지우기]."

5. 키보드 탐색 및 접근성 (a11y)

파워 유저는 키보드 유창성을 기대합니다:

단축키작업구현
/ 또는 ⌘K검색 입력에 포커스document.addEventListener('keydown', ...) with input.focus()
Escape검색 지우기/활성 모달 닫기최상위 모달을 닫거나 검색 필드 블러 처리
Ctrl + Enter활성 양식 제출/항목 보내기양식 onKeyDown 핸들러
Tab / Shift + Tab논리적 DOM 포커스 순서접근 가능한 :focus-visible 링 적용($2\text{px}$ 파란색 외곽선)

5.1 WCAG 2.2 AA / AAA 색상 대비 감사

확인되지 않았거나 대비가 낮은 디자인 토큰으로 웹 애플리케이션을 출시하지 마세요:

  • 일반 텍스트 대비 ($\ge 4.5:1$ AA, $\ge 7:1$ AAA):
    • 라이트 모드 함정: #FFFFFF 위의 슬레이트-400 (#94A3B8)은 2.57:1에 불과합니다(AA 실패). 라이트 모드 보조 텍스트를 최소 슬레이트-500 (#64748B)로 어둡게 하여 4.77:1을 얻으세요.
    • 경고/호박색 배지 함정: #FFFFFF 위의 호박색-600 (#D97706)은 3.22:1에 불과합니다(AA 실패). 텍스트 배지의 경우 호박색-700 (#B45309)로 어둡게 하여 4.82:1을 얻으세요.
    • 다크 모드 텍스트: text-primary (#F8FAFC, 15.6:1 AAA) 및 text-secondary (#CBD5E1, 11:1 AAA)가 딥 슬레이트 카드에서 손쉬운 가독성을 제공하는지 확인하세요.
  • 컴포넌트 및 테두리 대비 ($\ge 3:1$, WCAG 1.4.11):
    • 다크 모드의 양식 입력, 검색 필드 및 분할 컨트롤 테두리는 인접 컨테이너에 대해 $\ge 3:1$ 대비를 충족해야 합니다.
    • 포커스 표시기는 고대비 기본 링(box-shadow: 0 0 0 2px var(--focus-ring))을 사용해야 합니다.

6. 세분화된 보안 및 인증 UX

일반적인 일상 사용자 작업과 고위험 보안 작업을 혼동하지 마세요.

6.1 로컬 로그아웃 vs. 전역 취소

  • 로그아웃 (로컬): 현재 브라우저에서만 세션 쿠키를 지웁니다. 사용자가 공유 컴퓨터에서 수행하는 일상적인 작업입니다.
  • 모든 곳에서 로그아웃 (전역): 등록된 모든 휴대폰, 노트북 및 브라우저에서 모든 활성 리프레시 토큰 및 기기 세션을 취소합니다.
    • 안전 규칙: 표준 메뉴에 "모든 곳에서 로그아웃"을 원클릭 버튼으로 절대 배치하지 마세요. 항상 명시적 확인 단계("확실합니까? 휴대폰 및 기타 기기가 연결 해제됩니다.")가 있는 전용 모달 뒤에 게이트를 두세요.

6.2 기기 페어링 UX

  • 가벼운 대화 상자에 페어링 QR 코드를 렌더링하세요:
    • 고대비 SVG QR 코드.
    • 실시간 카운트다운 타이머(예: "만료까지 09:42").
    • 작동하지 않는 카메라가 있는 기기를 위한 원클릭 복사 버튼이 있는 대체 텍스트 시크릿.

7. 참고 오픈소스 저장소

디자인, 토큰 구조 및 구현 영감을 위해 다음 업계 선도 저장소를 살펴보세요:

  • shadcn/ui: 현대적인 고밀도 기본값과 함께 Radix UI 및 Tailwind CSS를 결합한 스타일 없는 접근 가능한 컴포넌트 프리미티브.
  • pacocoursey/cmdk: Linear, Vercel 및 Raycast에서 사용하는 최고 수준의 접근 가능한 명령 메뉴 컴포넌트.
  • henrikzabel/linearlike: Linear 미학을 사용하는 프로덕션급 웹 애플리케이션의 큐레이팅된 인덱스.
  • ln-dev7/circle: 조밀한 테이블과 사이드바 탐색을 보여주는 오픈소스 Linear 영감 이슈 트래커.
  • calcom/cal.com: 깔끔한 다중 페인 설정, 세분화된 대화 상자 및 즉시 탐색이 포함된 엔터프라이즈급 React 작업 공간 레이아웃.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

관련 스킬