design-taste-frontend-v1
nexu-io/open-design
정확한 동작 방식에 의존하는 프로젝트를 위해 보존된 원래의 v1 taste-skill입니다. 현재 기본값은 `design-taste-frontend`(v2 실험판)이며, 이는 대폭 재작성된 버전입니다. 정확한 하위 호환성이 필요한 경우에만 이 v1 설치 이름을 사용하십시오.
...모든 것을 확장하십시오주도성이 뛰어난 프론트엔드 역량
1. 활성 기준선 구성
- DESIGN_VARIANCE: 8 (1=완벽한 대칭, 10=예술적인 혼돈)
- MOTION_INTENSITY: 6 (1=정적/움직임 없음, 10=영화적/마법 같은 물리 효과)
- VISUAL_DENSITY: 4 (1=미술관/텅 빈, 10=조종석/데이터가 빽빽한)
AI 지침: 모든 생성 작업에 대한 표준 기준값은 이 값들(8, 6, 4)로 엄격하게 설정됩니다. 사용자에게 이 파일을 수정하도록 요청하지 마십시오. 단, 사용자의 요청이 있을 경우 항상 사용자의 지시에 따르십시오: 사용자가 채팅 프롬프트에서 명시적으로 요청한 내용에 따라 이 값들을 동적으로 조정하십시오. 이 기준값(또는 사용자가 재정의한 값)을 전역 변수로 사용하여 3~7절의 구체적인 로직을 구동하십시오.
2. 기본 아키텍처 및 규칙
사용자가 명시적으로 다른 스택을 지정하지 않는 한, 일관성을 유지하기 위해 다음 구조적 제약 사항을 준수하십시오:
- 의존성 확인 [필수]: 제3자 라이브러리(예:
framer-motion,lucide-react,zustand)를 임포트하기 전에 반드시package.json을확인해야 합니다. 해당 패키지가 없는 경우, 코드를 제공하기 전에 반드시 설치 명령어(예:npm install package-name)를 출력해야 합니다. 라이브러리가 존재한다고 절대 가정하지 마십시오. - 프레임워크 및 상호작용: React 또는 Next.js. 기본적으로 서버 컴포넌트(
RSC)를 사용합니다.- RSC 안전성: 전역 상태는 클라이언트 컴포넌트에서만 작동합니다. Next.js에서는 프로바이더를
"use client"컴포넌트로 감싸야 합니다. - 상호작용 격리: 섹션 4 또는 7(모션/리퀴드 글라스)이 활성화된 경우, 해당 상호작용 UI 컴포넌트는 반드시 맨 위에
'use client'를포함하는 독립된 리프 컴포넌트로 추출되어야 합니다. 서버 컴포넌트는 정적 레이아웃만 렌더링해야 합니다.
- RSC 안전성: 전역 상태는 클라이언트 컴포넌트에서만 작동합니다. Next.js에서는 프로바이더를
- 상태 관리: 격리된 UI에는 로컬
useState/useReducer를사용하십시오. 깊은 prop 드릴링을 피하기 위해 전역 상태는 엄격히 제한하여 사용하십시오. - 스타일링 정책: 스타일링의 90%에 대해 Tailwind CSS(v3/v4)를 사용하십시오.
- TAILWIND 버전 고정: 먼저
package.json을확인하십시오. v3 프로젝트에서는 v4 구문을 사용하지 마십시오. - T4 구성 보호: v4의 경우,
postcss.config.js에서tailwindcss플러그인을 사용하지 마십시오.@tailwindcss/postcss또는 Vite 플러그인을 사용하십시오.
- TAILWIND 버전 고정: 먼저
- 이모지 사용금지 정책 [중요]: 코드, 마크업, 텍스트 콘텐츠 또는 대체 텍스트에 절대로 이모지를 사용하지 마십시오. 기호는 고품질 아이콘(Radix, Phosphor)이나 깔끔한 SVG 기본 도형으로 대체하십시오. 이모지 사용은 금지됩니다.
- 반응형 디자인 및 간격:
- 브레이크포인트(
sm,md,lg,xl)를 표준화하십시오. max-w-[1400px] mx-auto또는max-w-7xl을사용하여 페이지 레이아웃을 제한하십시오.- 뷰포트 안정성 [중요]: 전체 높이의 히어로 섹션에
h-screen을절대로 사용하지 마십시오. 모바일 브라우저(iOS Safari)에서 심각한 레이아웃 변형을 방지하기 위해 항상min-h-[100dvh]를사용하십시오. - Flex-Math 대신 그리드 사용: 복잡한 플렉스박스 백분율 계산(
w-[calc(33%-1rem)])을 절대로 사용하지 마십시오. 안정적인 구조를 위해 항상 CSS 그리드(grid grid-cols-1 md:grid-cols-3 gap-6)를 사용하십시오.
- 브레이크포인트(
- 아이콘: 임포트 경로로 반드시
@phosphor-icons/react또는@radix-ui/react-icons를사용해야 합니다(설치된 버전 확인).strokeWidth를전역적으로 표준화하십시오(예:1.5또는2.0만사용).
3. 디자인 엔지니어링 지침 (편향 보정)
LLM은 특정 UI 클리셰 패턴에 대해 통계적 편향을 보입니다. 다음의 공학적으로 설계된 규칙을 활용하여 선제적으로 고품질 인터페이스를 구축하십시오:
규칙 1: 결정론적 타이포그래피
- 디스플레이/헤드라인: 기본값으로
text-4xl, md:text-6xl, tracking-tighter, leading-none을적용하십시오.- 부정적 경향 방지: “프리미엄”이나 “크리에이티브”한 분위기를 위한
Inter 사용은지양하십시오.Geist,Outfit,Cabinet Grotesk또는Satoshi를사용하여 독창적인 캐릭터를 강조하십시오. - 기술적 UI 규칙: 대시보드/소프트웨어 UI에서는 세리프 서체를 엄격히 금지합니다. 이러한 맥락에서는 고급 산세리프 조합(
Geist+Geist Mono또는Satoshi+JetBrains Mono)만을 사용하십시오.
- 부정적 경향 방지: “프리미엄”이나 “크리에이티브”한 분위기를 위한
- 본문/단락: 기본값은
text-base text-gray-600 leading-relaxed max-w-[65ch]로 설정합니다.
규칙 2: 색상 보정
- 제약 조건: 강조색은 최대 1가지로 제한합니다. 채도 < 80%.
- LILA 금지 사항: “AI 퍼플/블루” 스타일은 엄격히 금지됩니다. 보라색 버튼 하이라이트나 네온 그라데이션은 사용하지 마십시오. 절대적으로 중립적인 베이스 색상(Zinc/Slate)에 대비가 높은 단일 액센트 색상(예: Emerald, Electric Blue, Deep Rose)을 사용하십시오.
- 색상 일관성: 전체 결과물에 대해 하나의 팔레트를 고수하십시오. 동일한 프로젝트 내에서 따뜻한 회색과 차가운 회색을 오가며 사용하지 마십시오.
규칙 3: 레이아웃 다양화
- 중앙 정렬 금지:
LAYOUT_VARIANCE > 4인경우, 중앙 정렬된 히어로/H1 섹션은 엄격히 금지됩니다. “분할 화면”(50/50), “왼쪽 정렬 콘텐츠/오른쪽 정렬 자산”, 또는 “비대칭 여백” 구조를 반드시 적용하십시오.
규칙 4: 물질감, 그림자, 그리고 “카드 과다 사용 방지”
- 대시보드 강화:
VISUAL_DENSITY > 7인경우, 일반적인 카드 컨테이너는 엄격히 금지됩니다.border-t,divide-y또는 순수한 여백을 통해 논리적으로 그룹화하십시오. 기능적으로 z-index(높이)가 필요한 경우가 아니라면, 데이터 지표는 박스에 갇히지 않고 숨 쉴 수 있도록 해야 합니다. - 적용: 높이 조절이 계층 구조를 명확히 전달할 때에만 카드를 사용하십시오. 그림자를 사용할 경우, 배경 색조와 일치하도록 색조를 조정하십시오.
규칙 5: 상호작용형 UI 상태
- 필수 생성: LLM은 자연스럽게 “정적” 성공 상태를 생성합니다. 다음의 전체 상호작용 주기를 반드시 구현해야 합니다:
- 로딩: 레이아웃 크기에 맞는 골격형 로더(일반적인 원형 로딩 아이콘은 피하십시오).
- 빈 상태: 데이터를 어떻게 채워야 하는지 보여주는, 아름답게 구성된 빈 상태.
- 오류 상태: 명확하고 인라인으로 표시되는 오류 보고(예: 양식).
- 촉각적 피드백:
:active상태에서-translate-y-[1px]또는scale-[0.98]을 사용하여 성공/동작을 나타내는 물리적 누름감을 시뮬레이션하십시오.
규칙 6: 데이터 및 양식 패턴
- 양식: 레이블은 반드시 입력 필드 위에 위치해야 합니다. 보조 텍스트는 선택 사항이지만 마크업에 포함되어야 합니다. 오류 텍스트는 입력 필드 아래에 배치합니다. 입력 블록 간격에는 표준
gap-2를사용합니다.
4. 창의적 선제적 접근 (부실 구현 방지)
평범한 AI 디자인을 적극적으로 극복하기 위해, 다음의 고급 코딩 개념을 체계적으로 기본 기준으로 구현하십시오:
- “리퀴드 글라스” 굴절 효과: 글라스모피즘이 필요할 때는
backdrop-blur를넘어서는 기법을 사용하십시오. 1px 내부 테두리(border-white/10)와 미묘한 내부 그림자(shadow-[inset_0_1px_0_rgba(255,255,255,0.1)])를 추가하여 물리적 가장자리의 굴절을 시뮬레이션하십시오. - 자기 미세 물리학 (MOTION_INTENSITY > 5인 경우): 마우스 커서 쪽으로 살짝 당겨지는 버튼을 구현하세요. 중요: 자기 호버 효과나 연속 애니메이션에 React의
useState를절대로 사용하지 마세요. 모바일에서 성능 저하를 방지하기 위해 React 렌더링 사이클 외부에서 오로지 Framer Motion의useMotionValue및useTransform만을사용하십시오. - 지속적인 마이크로 인터랙션:
MOTION_INTENSITY > 5일때, 표준 컴포넌트(아바타, 상태 도트, 배경)에 연속적이고 무한한 마이크로 애니메이션(Pulse, Typewriter, Float, Shimmer, Carousel)을 삽입합니다. 모든 상호작용 요소에 프리미엄 스프링 물리(type: "spring", stiffness: 100, damping: 20)를 적용하고, 선형 이징은 사용하지 마십시오. - 레이아웃 전환: 상태 변경 시 원활한 순서 재정렬, 크기 조정 및 공유 요소 전환을 위해 항상 Framer Motion의
layout및layoutId프로퍼티를 활용하십시오. - 단계적 연출: 리스트나 그리드를 즉시 마운트하지 마십시오.
staggerChildren(Framer) 또는 CSS 캐스케이드(animation-delay: calc(var(--index) * 100ms))를 사용하여 순차적인 폭포식 노출 효과를 만드십시오. 중요:staggerChildren을사용할 경우, 부모(variants)와 자식 요소는 반드시 동일한 클라이언트 컴포넌트 트리에 위치해야 합니다. 데이터가 비동기적으로 가져오는 경우, 데이터를 프로퍼티로 중앙 집중화된 Parent Motion 래퍼에 전달하십시오.
5. 성능 가이드라인
- DOM 비용: 지속적인 GPU 재렌더링과 모바일 성능 저하를 방지하기 위해, 그레인/노이즈 필터는 고정된 pointer-events-none 속성이 적용된 의사 요소(예:
fixed inset-0 z-50 pointer-events-none)에만 적용하고, 스크롤링 컨테이너에는 절대로 적용하지 마십시오. - 하드웨어 가속:
top,left,width,height속성을 절대 애니메이션 처리하지 마십시오.변환(transform) 및불투명도(opacity)를 통해서만 애니메이션을 적용하십시오. - Z-Index 제한: 아무런 이유 없이 임의로
z-50이나z-10을남발해서는 안 됩니다. z-index는 엄격히 체계적인 레이어 컨텍스트(고정 내비게이션 바, 모달, 오버레이)에만 사용하십시오.
6. 기술 참조 (다이얼 정의)
DESIGN_VARIANCE (레벨 1-10)
- 1-3 (예측 가능): Flexbox
justify-center, 엄격한 12열 대칭 그리드, 균등한 패딩. - 4-7 (오프셋):
margin-top: -2rem을사용하여 겹치게 배치하고, 다양한 이미지 종횡비(예: 4:3과 16:9가 나란히 배치됨)를 적용하며, 중앙 정렬된 데이터 위에 왼쪽 정렬된 헤더를 배치합니다. - 8-10 (비대칭): 메이슨리 레이아웃, 분수 단위를 사용한 CSS 그리드(예:
grid-template-columns: 2fr 1fr 1fr), 대규모 빈 영역(padding-left: 20vw). - 모바일 오버라이드: 레벨 4~10의 경우,
md이상의 비대칭 레이아웃은 가로 스크롤 및 레이아웃 손상을 방지하기 위해 뷰포트 크기가 768px 미만일 때반드시엄격한 단일 열 레이아웃(w-full,px-4,py-8)으로 적극적으로 대체되어야 합니다.
MOTION_INTENSITY (레벨 1-10)
- 1-3 (정적): 자동 애니메이션 없음. CSS
:hover및:active상태만 사용. - 4-7 (유동적 CSS):
transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1)을 사용합니다. 로드 인(load-in) 효과에는animation-delay캐스케이드를 사용합니다.transform과 opacity에만엄격히 집중합니다.will-change: transform은절제해서 사용합니다. - 8-10 (고급 동작 구성): 스크롤에 의해 트리거되는 복잡한 노출 효과나 패럴랙스 효과. Framer Motion 후크를 사용하십시오.
window.addEventListener('scroll')은 절대로 사용하지 마십시오.
VISUAL_DENSITY (레벨 1-10)
- 1-3 (아트 갤러리 모드): 여백이 풍부합니다. 섹션 간 간격이 큽니다. 모든 요소가 매우 고급스럽고 깔끔하게 느껴집니다.
- 4-7 (일상 앱 모드): 표준 웹 앱에 적합한 일반적인 간격.
- 8-10 (콕핏 모드): 패딩이 매우 좁습니다. 카드 상자는 없으며, 데이터를 구분하기 위해 1px 선만 사용됩니다. 모든 요소가 빽빽하게 배치됩니다. 필수: 모든 숫자에 모노스페이스(
font-mono)를 사용하십시오.
7. AI TELLS (금지된 패턴)
고급스럽고 진부하지 않은 결과물을 보장하기 위해, 명시적으로 요청되지 않는 한 다음과 같은 일반적인 AI 디자인 특징을 반드시 엄격히 피해야 합니다:
시각적 요소 및 CSS
- 네온/외부 광효 껍질 금지: 기본
box-shadow광효 껍질이나 자동 광효 껍질을 사용하지 마십시오. 내부 테두리나 은은한 색조가 가미된 그림자를 사용하십시오. - 순수 검정색 금지:
#000000을절대 사용하지 마십시오. 오프 블랙(Off-Black), Zinc-950 또는 차콜(Charcoal)을 사용하십시오. - 과도하게 채도가 높은 액센트 색상 금지: 중성색과 우아하게 조화를 이루도록 액센트 색상의 채도를 낮추십시오.
- 과도한 그라데이션 텍스트 금지: 큰 헤더에는 텍스트 채우기 그라데이션을 사용하지 마십시오.
- 사용 금지: 사용자 정의 마우스 커서: 구식이며 성능과 접근성을 저해합니다.
타이포그래피
- 사용 금지 폰트: 사용 금지.
Geist,Outfit,Cabinet Grotesk또는Satoshi를사용하십시오. - 지나치게 큰 H1 제목: 첫 번째 제목은 지나치게 눈에 띄어서는 안 됩니다. 단순히 크기를 키우는 것이 아니라, 굵기와 색상을 통해 위계 구조를 조절하십시오.
- 세리프 사용 제한: 세리프 서체는 창의적/편집용 디자인에만 사용하십시오. 깔끔한 대시보드에는 절대로 세리프를 사용하지 마십시오.
레이아웃 및 간격
- 정확한 정렬 및 간격: 패딩과 여백이 수학적으로 완벽하도록 하십시오. 어색한 틈이 생기는 플로팅 요소는 피하십시오.
- 3열 카드 레이아웃 금지: 일반적인 “가로로 3개의 동일한 카드”로 구성된 기능 행은 금지됩니다. 대신 2열 지그재그, 비대칭 그리드 또는 가로 스크롤 방식을 사용하십시오.
콘텐츠 및 데이터 (“제인 도” 효과)
- 일반적인 이름 금지: “John Doe”, “Sarah Chan” 또는 “Jack Su”는 사용 금지입니다. 창의적이면서도 현실감 있는 이름을 사용하십시오.
- 일반적인 아바타 금지: 아바타로 표준 SVG “달걀” 모양이나 Lucide 사용자 아이콘을 절대 사용하지 마십시오. 창의적이고 믿을 만한 사진 자리 표시자나 특정 스타일을 사용하십시오.
- 가짜 숫자 금지:
99.99%,50%또는 기본적인 전화번호(1234567)와 같이 예측 가능한 출력은 피하십시오. 자연스럽고 다소 어수선한 데이터(47.2%,+1 (312) 847-1928)를 사용하십시오. - 스타트업식 엉성한 이름 금지: “Acme”, “Nexus”, “SmartFlow” 같은 이름은사용하지 마세요. 고급스럽고 맥락에 맞는 브랜드 이름을 만들어내세요.
- 채우기용 단어 금지: “Elevate”, “Seamless”, “Unleash”, “Next-Gen”과 같은 AI 카피라이팅의 진부한 표현은 피하십시오. 구체적인 동사를 사용하십시오.
외부 리소스 및 구성 요소
- 깨진 Unsplash 링크 금지: Unsplash를 사용하지 마십시오.
https://picsum.photos/seed/{random_string}/800/600과같은 절대 경로의 신뢰할 수 있는 자리 표시자나 SVG UI 아바타를 사용하십시오. - shadcn/ui 사용자 정의:
shadcn/ui를사용할 수는 있으나, 절대 일반적인 기본 상태 그대로 사용해서는 안 됩니다. 고급 프로젝트의 미적 감각에 부합하도록 반경, 색상 및 그림자를 반드시 사용자 정의해야 합니다. - 실전 수준의 깔끔함: 코드는 매우 깔끔하고, 시각적으로 인상적이며, 기억에 남을 뿐만 아니라 모든 세부 사항이 꼼꼼하게 다듬어져야 합니다.
8. 창의적인 도구 모음 (고급 디자인 영감)
일반적인 UI를 기본으로 삼지 마십시오. 결과물이 시각적으로 인상적이고 기억에 남을 수 있도록 이 고급 개념 라이브러리를 활용하십시오. 적절한 경우, 기본적인 CSS 모션 대신 복잡한 스크롤텔링을 위해 GSAP(ScrollTrigger/Parallax)를, 3D/캔버스 애니메이션을 위해 ThreeJS/WebGL을 활용하십시오. 중요: 동일한 컴포넌트 트리 내에서 GSAP/ThreeJS와 Framer Motion을 절대로 혼합하지 마십시오. UI/Bento 상호작용에는 기본적으로 Framer Motion을 사용하십시오. GSAP/ThreeJS는 엄격한 useEffect 정리 블록으로 감싸진, 독립적인 전체 페이지 스크롤텔링이나 캔버스 배경에만 독점적으로 사용하십시오.
표준 히어로 패러다임
- 어두운 이미지 위에 텍스트를 중앙 정렬하는 방식은 더 이상 사용하지 마세요. 비대칭 히어로 섹션을 시도해 보세요: 텍스트를 왼쪽이나 오른쪽으로 깔끔하게 정렬하는 방식입니다. 배경에는 고품질의 관련성 높은 이미지를 사용하며, 미묘한 스타일리시한 페이드 효과를 적용해야 합니다(라이트 모드인지 다크 모드인지에 따라 배경색으로 자연스럽게 어두워지거나 밝아지도록).
네비게이션 및 메뉴
- Mac OS 도크 확대 효과: 가장자리에 배치된 내비게이션 바; 마우스를 올렸을 때 아이콘 크기가 유연하게 조정됩니다.
- 마그네틱 버튼: 커서를 향해 물리적으로 당겨지는 버튼.
- 점성 메뉴: 하위 항목이 점성 액체처럼 메인 버튼에서 분리됩니다.
- 다이나믹 아일랜드: 상태나 알림을 표시하기 위해 형태가 변하는 알약 모양의 UI 구성 요소.
- 상황 기반 방사형 메뉴: 클릭한 위치에서 정확히 확장되는 원형 메뉴.
- 플로팅 스피드 다이얼: 보조 동작들이 곡선 형태로 튀어나오는 FAB.
- 메가 메뉴 표시: 복잡한 콘텐츠를 단계적으로 페이드 아웃하며 표시하는 전체 화면 드롭다운 메뉴.
레이아웃 및 그리드
- 벤토 그리드: 비대칭 타일 기반 그룹화(예: Apple 제어 센터).
- 메이슨리 레이아웃: 고정된 행 높이가 없는 엇갈린 그리드(예: Pinterest).
- 크로마 그리드: 미묘하고 지속적으로 애니메이션이 적용되는 색상 그라데이션을 보여주는 그리드 테두리 또는 타일.
- 분할 화면 스크롤: 스크롤 시 화면의 두 부분이 서로 반대 방향으로 미끄러지듯 이동합니다.
- 커튼 리빌: 스크롤 시 히어로 섹션이 마치 커튼처럼 가운데에서 갈라지는 효과.
카드 및 컨테이너
- 시차 기울기 카드: 마우스 좌표를 추적하며 3D로 기울어지는 카드.
- 스포트라이트 테두리 카드: 커서 아래에서 동적으로 빛나는 카드 테두리.
- 글라스모피즘 패널: 내부 굴절 테두리가 있는 실제 반투명 유리 효과.
- 홀로그램 포일 카드: 마우스를 올렸을 때 무지개빛으로 반짝이며 색이 변하는 카드.
- 틴더 스와이프 스택: 사용자가 스와이프하여 넘길 수 있는 실제 카드 더미.
- 모핑 모달: 버튼이 매끄럽게 확장되어 자체 전체 화면 대화 상자 컨테이너로 변하는 기능.
스크롤 애니메이션
- 고정 스크롤 스택: 상단에 고정되어 물리적으로 서로 겹쳐 쌓이는 카드들.
- 수평 스크롤 하이재킹: 수직 스크롤이 부드러운 수평 갤러리 패닝으로 변환됩니다.
- 로코모티브 스크롤 시퀀스: 프레임 속도가 스크롤바에 직접 연동되는 비디오/3D 시퀀스.
- 줌 패럴랙스: 스크롤할 때 중앙 배경 이미지가 매끄럽게 확대/축소되는 효과.
- 스크롤 진행 경로: 사용자가 스크롤할 때 자동으로 그려지는 SVG 벡터 선 또는 경로.
- 리퀴드 스와이프 전환: 점성이 있는 액체처럼 화면을 닦아내듯 전환되는 페이지 전환 효과.
갤러리 및 미디어
- 돔 갤러리: 파노라마 돔과 같은 느낌을 주는 3D 갤러리.
- 커버플로우 캐러셀: 중앙이 강조되고 가장자리가 뒤로 기울어진 3D 캐러셀.
- 드래그-투-팬 그리드: 모든 방향으로 자유롭게 드래그할 수 있는 무한 그리드.
- 아코디언 이미지 슬라이더: 마우스를 올리면 완전히 펼쳐지는 좁은 세로/가로 이미지 스트립.
- 마우스오버 시 이미지 흔적: 마우스가 지나간 자리에 이미지가 번쩍이거나 서서히 사라지는 흔적을 남깁니다.
- 글리치 효과 이미지: 마우스를 올렸을 때 RGB 채널이 잠시 바뀌는 디지털 왜곡 효과.
타이포그래피 및 텍스트
- 키네틱 마키: 스크롤 시 방향이 반전되거나 속도가 빨라지는 끝없는 텍스트 띠.
- 텍스트 마스크 리빌: 비디오 배경을 비추는 투명한 창 역할을 하는 거대한 타이포그래피.
- 텍스트 스크램블 효과: 로딩 시 또는 마우스를 올렸을 때 매트릭스 스타일의 문자 해독 효과가 나타납니다.
- 원형 텍스트 경로: 회전하는 원형 경로를 따라 곡선으로 흐르는 텍스트.
- 그라데이션 획 애니메이션: 획을 따라 그라데이션이 지속적으로 흐르는 윤곽선 텍스트.
- 키네틱 타이포그래피 그리드: 커서를 피하거나 커서에서 멀어지며 회전하는 글자 그리드.
미세 상호작용 및 효과
- 입자 폭발 버튼: 성공 시 입자로 산산조각 나는 CTA.
- 액체형 당겨서 새로고침: 물방울이 떨어져 나가는 듯한 효과를 내는 모바일 새로고침 표시기.
- 스켈레톤 쉬머: 플레이스홀더 상자를 가로지르며 움직이는 변화하는 빛의 반사 효과.
- 방향성 호버 인식 버튼: 마우스가 진입한 정확한 방향에서 채워지는 호버 효과.
- 리플 클릭 효과: 클릭 좌표에서 정밀하게 퍼져 나가는 시각적 파동.
- 애니메이션 SVG 선 그리기: 실시간으로 자체 윤곽선을 그리는 벡터 그래픽.
- 메쉬 그라데이션 배경: 유기적이고 라바 램프를 연상시키는 애니메이션 색상 덩어리.
- 렌즈 블러 깊이: 전경의 동작을 강조하기 위해 배경 UI 레이어를 동적으로 초점 블러 처리합니다.
9. “모션 엔진” 벤토 패러다임
현대적인 SaaS 대시보드나 기능 섹션을 제작할 때는 반드시 다음의 “Bento 2.0” 아키텍처와 모션 철학을 활용해야 합니다. 이는 정적인 카드의 한계를 뛰어넘어, 지속적인 물리 법칙에 크게 의존하는 “Vercel의 핵심과 Dribbble의 깔끔함이 결합된” 미학을 구현합니다.
A. 핵심 디자인 철학
- 미학: 고급스럽고, 미니멀하며, 기능적입니다.
- 색상팔레트: 배경은
#f9fafb. 카드는 순백색(#ffffff)이며, 1px 두께의border-slate-200/50테두리가 있습니다. - 표면: 모든 주요 컨테이너에
rounded-[2.5rem]을적용합니다. “확산 그림자”(매우 옅고 넓게 퍼지는 그림자, 예:shadow-[0_20px_40px_-15px_rgba(0,0,0,0.05)])를 적용하여 복잡함 없이 깊이감을 연출합니다. - 타이포그래피:
Geist,Satoshi또는Cabinet Grotesk글꼴 스택을 엄격하게 적용합니다. 헤더에는 미묘한 트래킹(tracking-tight)을 사용합니다. - 라벨: 깔끔한 갤러리 스타일의 구성을 유지하기 위해 제목과 설명은 카드 바깥쪽과 아래쪽에 배치해야 합니다.
- 픽셀 완벽성: 카드 내부에는 넉넉한
p-8또는p-10패딩을 적용하십시오.
B. 애니메이션 엔진 사양 (Perpetual Motion)
모든 카드에는 “지속적인 미세 상호작용(Perpetual Micro-Interactions)”이 포함되어야 합니다 . 다음 Framer Motion 원칙을 따르십시오:
- 스프링 물리학: 선형 이징을 사용하지 마십시오. 고급스럽고 묵직한 느낌을 위해
type: "spring", stiffness: 100, damping: 20을사용하십시오. - 레이아웃 전환:
레이아웃및layoutId프로퍼티를 적극 활용하여 순서 재정렬, 크기 조정, 공유 요소 상태 전환이 매끄럽게 이루어지도록 하십시오. - 무한 루프: 대시보드가 “생동감” 있게 느껴지도록 모든 카드에는 무한히 반복되는 “활성 상태”(펄스, 타자기, 플로트 또는 캐러셀)가 포함되어야 합니다.
- 성능: 동적 목록을
로 감싸고 60fps에 최적화하십시오. 성능상 중요 사항: 모든 영구 동작이나 무한 루프는 반드시 메모이제이션(React.memo) 처리되어야 하며, 자체적인 미세 클라이언트 컴포넌트 내에서 완전히 격리되어야 합니다. 상위 레이아웃에서 재렌더링을 절대 트리거하지 마십시오.
C. 5가지 카드 아키타입 (마이크로 애니메이션 사양)
Bento 그리드를 구성할 때(예: 1행: 3열 | 2행: 2열, 70/30 분할) 다음과 같은 특정 마이크로 애니메이션을 구현하십시오:
- 지능형 목록: 무한 자동 정렬 루프를 가진 항목들의 수직 스택입니다. 항목들은
layoutId를사용하여 위치를 바꾸며, 실시간으로 작업을 우선순위화하는 AI를 시뮬레이션합니다. - 명령 입력: 다단계 타자기 효과가 적용된 검색/AI바입니다. 깜빡이는 커서와 반짝이는 로딩 그라데이션이 적용된 “처리 중” 상태를 포함하여 복잡한 프롬프트를 순환합니다.
- 라이브 상태: “호흡” 상태 표시기가 있는 일정 관리 인터페이스입니다. “오버슈트” 스프링 효과와 함께 나타나 3초 동안 유지된 후 사라지는 팝업 알림 배지를 포함하세요.
- 광범위한 데이터 스트림: 데이터 카드나 지표가 표시되는 수평형 “무한 캐러셀”.
x: ["0%", "-100%"]를사용하여 루프가 매끄럽게 이어지도록 하고, 속도는 자연스럽게 느껴지도록 조정하십시오. - 상황 기반 UI(포커스 모드): 텍스트 블록을 엇갈리게 강조 표시하는 애니메이션이 적용된 문서 보기로, 그 후 마이크로 아이콘이 포함된 플로팅 액션 툴바가 “플로트-인” 방식으로 나타납니다.
10. 최종 출고 전 점검
출력하기 전에 이 매트릭스를 기준으로 코드를 평가하십시오. 이는 로직에 적용하는 마지막 필터입니다.
- 전역 상태가 임의적으로 사용되기보다는, 깊은 prop 드릴링을 피하기 위해 적절하게 사용되고 있습니까?
- 변동성이 큰 디자인에서도 모바일 레이아웃 축소(
w-full,px-4,max-w-7xl mx-auto)가 보장되나요? - 전체 높이 섹션에서 버그가 있는
h-screen대신min-h-[100dvh]를안전하게 사용하고 있습니까? -
useEffect애니메이션에 엄격한 정리 함수가 포함되어 있습니까? - 빈 상태, 로딩 상태, 오류 상태가 제공되고 있나요?
- 가능한 경우, 간격을 확보하기 위해 카드 사용을 생략하고 있습니까?
- CPU 부하가 큰 지속형 애니메이션은 별도의 클라이언트 컴포넌트로 엄격하게 분리했나요?
High-Agency Frontend Skill
1. ACTIVE BASELINE CONFIGURATION
- DESIGN_VARIANCE: 8 (1=Perfect Symmetry, 10=Artsy Chaos)
- MOTION_INTENSITY: 6 (1=Static/No movement, 10=Cinematic/Magic Physics)
- VISUAL_DENSITY: 4 (1=Art Gallery/Airy, 10=Pilot Cockpit/Packed Data)
AI Instruction: The standard baseline for all generations is strictly set to these values (8, 6, 4). Do not ask the user to edit this file. Otherwise, ALWAYS listen to the user: adapt these values dynamically based on what they explicitly request in their chat prompts. Use these baseline (or user-overridden) values as your global variables to drive the specific logic in Sections 3 through 7.
2. DEFAULT ARCHITECTURE & CONVENTIONS
Unless the user explicitly specifies a different stack, adhere to these structural constraints to maintain consistency:
- DEPENDENCY VERIFICATION [MANDATORY]: Before importing ANY 3rd party library (e.g.
framer-motion,lucide-react,zustand), you MUST checkpackage.json. If the package is missing, you MUST output the installation command (e.g.npm install package-name) before providing the code. Never assume a library exists. - Framework & Interactivity: React or Next.js. Default to Server Components (
RSC).- RSC SAFETY: Global state works ONLY in Client Components. In Next.js, wrap providers in a
"use client"component. - INTERACTIVITY ISOLATION: If Sections 4 or 7 (Motion/Liquid Glass) are active, the specific interactive UI component MUST be extracted as an isolated leaf component with
'use client'at the very top. Server Components must exclusively render static layouts.
- RSC SAFETY: Global state works ONLY in Client Components. In Next.js, wrap providers in a
- State Management: Use local
useState/useReducerfor isolated UI. Use global state strictly for deep prop-drilling avoidance. - Styling Policy: Use Tailwind CSS (v3/v4) for 90% of styling.
- TAILWIND VERSION LOCK: Check
package.jsonfirst. Do not use v4 syntax in v3 projects. - T4 CONFIG GUARD: For v4, do NOT use
tailwindcssplugin inpostcss.config.js. Use@tailwindcss/postcssor the Vite plugin.
- TAILWIND VERSION LOCK: Check
- ANTI-EMOJI POLICY [CRITICAL]: NEVER use emojis in code, markup, text content, or alt text. Replace symbols with high-quality icons (Radix, Phosphor) or clean SVG primitives. Emojis are BANNED.
- Responsiveness & Spacing:
- Standardize breakpoints (
sm,md,lg,xl). - Contain page layouts using
max-w-[1400px] mx-autoormax-w-7xl. - Viewport Stability [CRITICAL]: NEVER use
h-screenfor full-height Hero sections. ALWAYS usemin-h-[100dvh]to prevent catastrophic layout jumping on mobile browsers (iOS Safari). - Grid over Flex-Math: NEVER use complex flexbox percentage math (
w-[calc(33%-1rem)]). ALWAYS use CSS Grid (grid grid-cols-1 md:grid-cols-3 gap-6) for reliable structures.
- Standardize breakpoints (
- Icons: You MUST use exactly
@phosphor-icons/reactor@radix-ui/react-iconsas the import paths (check installed version). StandardizestrokeWidthglobally (e.g., exclusively use1.5or2.0).
3. DESIGN ENGINEERING DIRECTIVES (Bias Correction)
LLMs have statistical biases toward specific UI cliché patterns. Proactively construct premium interfaces using these engineered rules:
Rule 1: Deterministic Typography
- Display/Headlines: Default to
text-4xl md:text-6xl tracking-tighter leading-none.- ANTI-SLOP: Discourage
Interfor "Premium" or "Creative" vibes. Force unique character usingGeist,Outfit,Cabinet Grotesk, orSatoshi. - TECHNICAL UI RULE: Serif fonts are strictly BANNED for Dashboard/Software UIs. For these contexts, use exclusively high-end Sans-Serif pairings (
Geist+Geist MonoorSatoshi+JetBrains Mono).
- ANTI-SLOP: Discourage
- Body/Paragraphs: Default to
text-base text-gray-600 leading-relaxed max-w-[65ch].
Rule 2: Color Calibration
- Constraint: Max 1 Accent Color. Saturation < 80%.
- THE LILA BAN: The "AI Purple/Blue" aesthetic is strictly BANNED. No purple button glows, no neon gradients. Use absolute neutral bases (Zinc/Slate) with high-contrast, singular accents (e.g. Emerald, Electric Blue, or Deep Rose).
- COLOR CONSISTENCY: Stick to one palette for the entire output. Do not fluctuate between warm and cool grays within the same project.
Rule 3: Layout Diversification
- ANTI-CENTER BIAS: Centered Hero/H1 sections are strictly BANNED when
LAYOUT_VARIANCE > 4. Force "Split Screen" (50/50), "Left Aligned content/Right Aligned asset", or "Asymmetric White-space" structures.
Rule 4: Materiality, Shadows, and "Anti-Card Overuse"
- DASHBOARD HARDENING: For
VISUAL_DENSITY > 7, generic card containers are strictly BANNED. Use logic-grouping viaborder-t,divide-y, or purely negative space. Data metrics should breathe without being boxed in unless elevation (z-index) is functionally required. - Execution: Use cards ONLY when elevation communicates hierarchy. When a shadow is used, tint it to the background hue.
Rule 5: Interactive UI States
- Mandatory Generation: LLMs naturally generate "static" successful states. You MUST implement full interaction cycles:
- Loading: Skeletal loaders matching layout sizes (avoid generic circular spinners).
- Empty States: Beautifully composed empty states indicating how to populate data.
- Error States: Clear, inline error reporting (e.g., forms).
- Tactile Feedback: On
:active, use-translate-y-[1px]orscale-[0.98]to simulate a physical push indicating success/action.
Rule 6: Data & Form Patterns
- Forms: Label MUST sit above input. Helper text is optional but should exist in markup. Error text below input. Use a standard
gap-2for input blocks.
4. CREATIVE PROACTIVITY (Anti-Slop Implementation)
To actively combat generic AI designs, systematically implement these high-end coding concepts as your baseline:
- "Liquid Glass" Refraction: When glassmorphism is needed, go beyond
backdrop-blur. Add a 1px inner border (border-white/10) and a subtle inner shadow (shadow-[inset_0_1px_0_rgba(255,255,255,0.1)]) to simulate physical edge refraction. - Magnetic Micro-physics (If MOTION_INTENSITY > 5): Implement buttons that pull slightly toward the mouse cursor. CRITICAL: NEVER use React
useStatefor magnetic hover or continuous animations. Use EXCLUSIVELY Framer Motion'suseMotionValueanduseTransformoutside the React render cycle to prevent performance collapse on mobile. - Perpetual Micro-Interactions: When
MOTION_INTENSITY > 5, embed continuous, infinite micro-animations (Pulse, Typewriter, Float, Shimmer, Carousel) in standard components (avatars, status dots, backgrounds). Apply premium Spring Physics (type: "spring", stiffness: 100, damping: 20) to all interactive elements—no linear easing. - Layout Transitions: Always utilize Framer Motion's
layoutandlayoutIdprops for smooth re-ordering, resizing, and shared element transitions across state changes. - Staggered Orchestration: Do not mount lists or grids instantly. Use
staggerChildren(Framer) or CSS cascade (animation-delay: calc(var(--index) * 100ms)) to create sequential waterfall reveals. CRITICAL: ForstaggerChildren, the Parent (variants) and Children MUST reside in the identical Client Component tree. If data is fetched asynchronously, pass the data as props into a centralized Parent Motion wrapper.
5. PERFORMANCE GUARDRAILS
- DOM Cost: Apply grain/noise filters exclusively to fixed, pointer-event-none pseudo-elements (e.g.,
fixed inset-0 z-50 pointer-events-none) and NEVER to scrolling containers to prevent continuous GPU repaints and mobile performance degradation. - Hardware Acceleration: Never animate
top,left,width, orheight. Animate exclusively viatransformandopacity. - Z-Index Restraint: NEVER spam arbitrary
z-50orz-10unprompted. Use z-indexes strictly for systemic layer contexts (Sticky Navbars, Modals, Overlays).
6. TECHNICAL REFERENCE (Dial Definitions)
DESIGN_VARIANCE (Level 1-10)
- 1-3 (Predictable): Flexbox
justify-center, strict 12-column symmetrical grids, equal paddings. - 4-7 (Offset): Use
margin-top: -2removerlapping, varied image aspect ratios (e.g., 4:3 next to 16:9), left-aligned headers over center-aligned data. - 8-10 (Asymmetric): Masonry layouts, CSS Grid with fractional units (e.g.,
grid-template-columns: 2fr 1fr 1fr), massive empty zones (padding-left: 20vw). - MOBILE OVERRIDE: For levels 4-10, any asymmetric layout above
md:MUST aggressively fall back to a strict, single-column layout (w-full,px-4,py-8) on viewports< 768pxto prevent horizontal scrolling and layout breakage.
MOTION_INTENSITY (Level 1-10)
- 1-3 (Static): No automatic animations. CSS
:hoverand:activestates only. - 4-7 (Fluid CSS): Use
transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1). Useanimation-delaycascades for load-ins. Focus strictly ontransformandopacity. Usewill-change: transformsparingly. - 8-10 (Advanced Choreography): Complex scroll-triggered reveals or parallax. Use Framer Motion hooks. NEVER use
window.addEventListener('scroll').
VISUAL_DENSITY (Level 1-10)
- 1-3 (Art Gallery Mode): Lots of white space. Huge section gaps. Everything feels very expensive and clean.
- 4-7 (Daily App Mode): Normal spacing for standard web apps.
- 8-10 (Cockpit Mode): Tiny paddings. No card boxes; just 1px lines to separate data. Everything is packed. Mandatory: Use Monospace (
font-mono) for all numbers.
7. AI TELLS (Forbidden Patterns)
To guarantee a premium, non-generic output, you MUST strictly avoid these common AI design signatures unless explicitly requested:
Visual & CSS
- NO Neon/Outer Glows: Do not use default
box-shadowglows or auto-glows. Use inner borders or subtle tinted shadows. - NO Pure Black: Never use
#000000. Use Off-Black, Zinc-950, or Charcoal. - NO Oversaturated Accents: Desaturate accents to blend elegantly with neutrals.
- NO Excessive Gradient Text: Do not use text-fill gradients for large headers.
- NO Custom Mouse Cursors: They are outdated and ruin performance/accessibility.
Typography
- NO Inter Font: Banned. Use
Geist,Outfit,Cabinet Grotesk, orSatoshi. - NO Oversized H1s: The first heading should not scream. Control hierarchy with weight and color, not just massive scale.
- Serif Constraints: Use Serif fonts ONLY for creative/editorial designs. NEVER use Serif on clean Dashboards.
Layout & Spacing
- Align & Space Perfectly: Ensure padding and margins are mathematically perfect. Avoid floating elements with awkward gaps.
- NO 3-Column Card Layouts: The generic "3 equal cards horizontally" feature row is BANNED. Use a 2-column Zig-Zag, asymmetric grid, or horizontal scrolling approach instead.
Content & Data (The "Jane Doe" Effect)
- NO Generic Names: "John Doe", "Sarah Chan", or "Jack Su" are banned. Use highly creative, realistic-sounding names.
- NO Generic Avatars: DO NOT use standard SVG "egg" or Lucide user icons for avatars. Use creative, believable photo placeholders or specific styling.
- NO Fake Numbers: Avoid predictable outputs like
99.99%,50%, or basic phone numbers (1234567). Use organic, messy data (47.2%,+1 (312) 847-1928). - NO Startup Slop Names: "Acme", "Nexus", "SmartFlow". Invent premium, contextual brand names.
- NO Filler Words: Avoid AI copywriting clichés like "Elevate", "Seamless", "Unleash", or "Next-Gen". Use concrete verbs.
External Resources & Components
- NO Broken Unsplash Links: Do not use Unsplash. Use absolute, reliable placeholders like
https://picsum.photos/seed/{random_string}/800/600or SVG UI Avatars. - shadcn/ui Customization: You may use
shadcn/ui, but NEVER in its generic default state. You MUST customize the radii, colors, and shadows to match the high-end project aesthetic. - Production-Ready Cleanliness: Code must be extremely clean, visually striking, memorable, and meticulously refined in every detail.
8. THE CREATIVE ARSENAL (High-End Inspiration)
Do not default to generic UI. Pull from this library of advanced concepts to ensure the output is visually striking and memorable. When appropriate, leverage GSAP (ScrollTrigger/Parallax) for complex scrolltelling or ThreeJS/WebGL for 3D/Canvas animations, rather than basic CSS motion. CRITICAL: Never mix GSAP/ThreeJS with Framer Motion in the same component tree. Default to Framer Motion for UI/Bento interactions. Use GSAP/ThreeJS EXCLUSIVELY for isolated full-page scrolltelling or canvas backgrounds, wrapped in strict useEffect cleanup blocks.
The Standard Hero Paradigm
- Stop doing centered text over a dark image. Try asymmetric Hero sections: Text cleanly aligned to the left or right. The background should feature a high-quality, relevant image with a subtle stylistic fade (darkening or lightening gracefully into the background color depending on if it is Light or Dark mode).
Navigation & Menüs
- Mac OS Dock Magnification: Nav-bar at the edge; icons scale fluidly on hover.
- Magnetic Button: Buttons that physically pull toward the cursor.
- Gooey Menu: Sub-items detach from the main button like a viscous liquid.
- Dynamic Island: A pill-shaped UI component that morphs to show status/alerts.
- Contextual Radial Menu: A circular menu expanding exactly at the click coordinates.
- Floating Speed Dial: A FAB that springs out into a curved line of secondary actions.
- Mega Menu Reveal: Full-screen dropdowns that stagger-fade complex content.
Layout & Grids
- Bento Grid: Asymmetric, tile-based grouping (e.g., Apple Control Center).
- Masonry Layout: Staggered grid without fixed row heights (e.g., Pinterest).
- Chroma Grid: Grid borders or tiles showing subtle, continuously animating color gradients.
- Split Screen Scroll: Two screen halves sliding in opposite directions on scroll.
- Curtain Reveal: A Hero section parting in the middle like a curtain on scroll.
Cards & Containers
- Parallax Tilt Card: A 3D-tilting card tracking the mouse coordinates.
- Spotlight Border Card: Card borders that illuminate dynamically under the cursor.
- Glassmorphism Panel: True frosted glass with inner refraction borders.
- Holographic Foil Card: Iridescent, rainbow light reflections shifting on hover.
- Tinder Swipe Stack: A physical stack of cards the user can swipe away.
- Morphing Modal: A button that seamlessly expands into its own full-screen dialog container.
Scroll-Animations
- Sticky Scroll Stack: Cards that stick to the top and physically stack over each other.
- Horizontal Scroll Hijack: Vertical scroll translates into a smooth horizontal gallery pan.
- Locomotive Scroll Sequence: Video/3D sequences where framerate is tied directly to the scrollbar.
- Zoom Parallax: A central background image zooming in/out seamlessly as you scroll.
- Scroll Progress Path: SVG vector lines or routes that draw themselves as the user scrolls.
- Liquid Swipe Transition: Page transitions that wipe the screen like a viscous liquid.
Galleries & Media
- Dome Gallery: A 3D gallery feeling like a panoramic dome.
- Coverflow Carousel: 3D carousel with the center focused and edges angled back.
- Drag-to-Pan Grid: A boundless grid you can freely drag in any compass direction.
- Accordion Image Slider: Narrow vertical/horizontal image strips that expand fully on hover.
- Hover Image Trail: The mouse leaves a trail of popping/fading images behind it.
- Glitch Effect Image: Brief RGB-channel shifting digital distortion on hover.
Typography & Text
- Kinetic Marquee: Endless text bands that reverse direction or speed up on scroll.
- Text Mask Reveal: Massive typography acting as a transparent window to a video background.
- Text Scramble Effect: Matrix-style character decoding on load or hover.
- Circular Text Path: Text curved along a spinning circular path.
- Gradient Stroke Animation: Outlined text with a gradient continuously running along the stroke.
- Kinetic Typography Grid: A grid of letters dodging or rotating away from the cursor.
Micro-Interactions & Effects
- Particle Explosion Button: CTAs that shatter into particles upon success.
- Liquid Pull-to-Refresh: Mobile reload indicators acting like detaching water droplets.
- Skeleton Shimmer: Shifting light reflections moving across placeholder boxes.
- Directional Hover Aware Button: Hover fill entering from the exact side the mouse entered.
- Ripple Click Effect: Visual waves rippling precisely from the click coordinates.
- Animated SVG Line Drawing: Vectors that draw their own contours in real-time.
- Mesh Gradient Background: Organic, lava-lamp-like animated color blobs.
- Lens Blur Depth: Dynamic focus blurring background UI layers to highlight a foreground action.
9. THE "MOTION-ENGINE" BENTO PARADIGM
When generating modern SaaS dashboards or feature sections, you MUST utilize the following "Bento 2.0" architecture and motion philosophy. This goes beyond static cards and enforces a "Vercel-core meets Dribbble-clean" aesthetic heavily reliant on perpetual physics.
A. Core Design Philosophy
- Aesthetic: High-end, minimal, and functional.
- Palette: Background in
#f9fafb. Cards are pure white (#ffffff) with a 1px border ofborder-slate-200/50. - Surfaces: Use
rounded-[2.5rem]for all major containers. Apply a "diffusion shadow" (a very light, wide-spreading shadow, e.g.,shadow-[0_20px_40px_-15px_rgba(0,0,0,0.05)]) to create depth without clutter. - Typography: Strict
Geist,Satoshi, orCabinet Groteskfont stack. Use subtle tracking (tracking-tight) for headers. - Labels: Titles and descriptions must be placed outside and below the cards to maintain a clean, gallery-style presentation.
- Pixel-Perfection: Use generous
p-8orp-10padding inside cards.
B. The Animation Engine Specs (Perpetual Motion)
All cards must contain "Perpetual Micro-Interactions." Use the following Framer Motion principles:
- Spring Physics: No linear easing. Use
type: "spring", stiffness: 100, damping: 20for a premium, weighty feel. - Layout Transitions: Heavily utilize the
layoutandlayoutIdprops to ensure smooth re-ordering, resizing, and shared element state transitions. - Infinite Loops: Every card must have an "Active State" that loops infinitely (Pulse, Typewriter, Float, or Carousel) to ensure the dashboard feels "alive".
- Performance: Wrap dynamic lists in
<AnimatePresence>and optimize for 60fps. PERFORMANCE CRITICAL: Any perpetual motion or infinite loop MUST be memoized (React.memo) and completely isolated in its own microscopic Client Component. Never trigger re-renders in the parent layout.
C. The 5-Card Archetypes (Micro-Animation Specs)
Implement these specific micro-animations when constructing Bento grids (e.g., Row 1: 3 cols | Row 2: 2 cols split 70/30):
- The Intelligent List: A vertical stack of items with an infinite auto-sorting loop. Items swap positions using
layoutId, simulating an AI prioritizing tasks in real-time. - The Command Input: A search/AI bar with a multi-step Typewriter Effect. It cycles through complex prompts, including a blinking cursor and a "processing" state with a shimmering loading gradient.
- The Live Status: A scheduling interface with "breathing" status indicators. Include a pop-up notification badge that emerges with an "Overshoot" spring effect, stays for 3 seconds, and vanishes.
- The Wide Data Stream: A horizontal "Infinite Carousel" of data cards or metrics. Ensure the loop is seamless (using
x: ["0%", "-100%"]) with a speed that feels effortless. - The Contextual UI (Focus Mode): A document view that animates a staggered highlight of a text block, followed by a "Float-in" of a floating action toolbar with micro-icons.
10. FINAL PRE-FLIGHT CHECK
Evaluate your code against this matrix before outputting. This is the last filter you apply to your logic.
- Is global state used appropriately to avoid deep prop-drilling rather than arbitrarily?
- Is mobile layout collapse (
w-full,px-4,max-w-7xl mx-auto) guaranteed for high-variance designs? - Do full-height sections safely use
min-h-[100dvh]instead of the buggedh-screen? - Do
useEffectanimations contain strict cleanup functions? - Are empty, loading, and error states provided?
- Are cards omitted in favor of spacing where possible?
- Did you strictly isolate CPU-heavy perpetual animations in their own Client Components?
design-taste-frontend-v1 설치
스킬 파일을 다운로드하여 .claude/skills/ 디렉터리에 압축을 풀어주세요.
ZIP 다운로드저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.
git clone https://github.com/nexu-io/open-design/tree/main/skills/taste-skill-v1 # Copy the skill folder to .claude/skills/ or .codex/skills/
복사





집
