Giting.
낮의 Giting
홈 › 스킬 › ui-menu
UI 메뉴판 실물 캡처 스킬 · 자체 제작
◆ 도입 후보

별칭 60여 개를 실제 발화 그대로 수집해 정식 명칭과 일대일로 매핑했고, 105개 전 항목이 그림이 아니라 동작하는 자가완결 HTML이다. 요청 문장이 항목마다 붙어 있어 설치 즉시 팀의 UI 커뮤니케이션 비용을 줄인다. 의존성 0, 접근성 최소선 포함을 코드 전수로 확인했다.

실물부터, 설치 전에 전부 만져보세요

아래는 이미지가 아니라 이 스킬이 담고 있는 진짜 HTML입니다. 눌러 보세요.
UI 메뉴판 · 131가지

「접었다 폈다 되는 거」에는
이름이 있어요

말로 설명하던 UI에 이름을 붙여 주는 사전이에요. 11개 코스 131개 항목이 전부 그림이 아니라 실제로 동작하는 HTML이고, 항목마다 AI에게 그대로 쓰는 요청 문장이 붙어 있어요.

②아코디언"접었다 폈다 되는 거"
②탭"위에 눌러서 화면 바뀌는 거"
⑥모달"화면 가운데 뜨는 창"

FAQ를 아코디언 5개로 만들어줘. 처음엔 다 접혀 있고, 하나 열면 나머지 닫히게.

카드의 「문장」은 요청 문장을, 「프롬프트」는 문장 · 견본 코드 · 적용 지침을 한 번에, 「코드」는 HTML 을, 「#」은 그 항목 주소를 복사해요.

AI한테 시키는 공식

이 순서로만 말하면
한 번에 통해요

이름을 아는 순간 수정 요청이 한 번에 통합니다. 아래 사전에서 이름을 찾고, 문장을 복사해 쓰세요.

[어디에][컴포넌트 이름][개수][세부 조건]
✕

FAQ 만들어줘

○

푸터 위 섹션에 아코디언 5개. 처음엔 다 접혀 있고, 하나 열면 나머지 닫히게

이름 찾기

이런 말엔
이런 이름을 써요

왼쪽이 사람들이 실제로 하는 말, 오른쪽이 AI가 알아듣는 이름이에요. 헷갈리는 짝은 구분 기준까지 붙어 있어요.

화면 조합 레시피

화면 하나는
이름 몇 개의 조합이에요

낱개 컴포넌트를 아는 다음 단계예요. 조립하지 재발명하지 않는다(shadcn 공식 원칙). 흔한 화면 8가지가 어떤 조합인지 보여 줘요.

TabsCardFieldSwitchButton

설정 페이지를 shadcn 으로 만들어줘. 상단 Tabs 로 섹션 나누고, 각 섹션은 Card, 입력은 FieldGroup+Field, 토글은 Switch 로.

레시피 8가지 전부 보기 ↓

설정 페이지프로필·알림·계정 같은 설정 화면
Claude Code 스킬

AI가 이 사전을
직접 읽어요

스킬로 깔아 두면 「접었다 폈다 되는 거」라고만 말해도 AI가 이름을 찾아 만들어요.

/plugin marketplace add hanmariyang/giting-skills

/plugin install ui-menu@giting

GitHub에서 오픈소스 보기 ↗

에이전트용 사전: llms.txt / llms-full.txt (코드 포함)

화면에 보이는 데모가 스스로 움직여요. 직접 눌러도 됩니다. 「프롬프트」는 요청 문장·견본 코드·적용 지침을 한 번에 복사하고, 「#」은 그 항목 주소를 복사해요.

① 페이지 뼈대 14

히어로

Hero
"첫 화면에 크게 나오는 거"들어오자마자 보이는 큰 제목과 버튼 구역. 페이지의 첫인상.↔ 첫 화면의 큰 구역이면 히어로, 가로로 긴 알림 띠면 배너

섹션

Section
"가로로 잘린 한 덩어리"페이지를 가로로 자른 한 덩어리. 소개 섹션, 가격 섹션처럼 부른다.

컨테이너

Container
"가운데로 모아주는 거"내용이 넓게 퍼지지 않게 최대 폭을 잡고 가운데 모으는 보이지 않는 틀.

그리드

Grid
"바둑판처럼 배치"칸을 격자로 나눠 나란히 배치하는 방식.

카드

Card
"네모 박스 하나하나"이미지·제목·설명을 한 덩어리로 묶은 네모 상자.↔ 상자로 감싸 나누면 카드, 상자 없이 간격으로 나누면 여백으로 묶기shadcn: Card (Header·Content·Footer 완전 조립)

카드 그리드

Card Grid
"카드를 격자로"카드를 격자로 반복 배치한 것. 목록 화면의 단골.

여백으로 묶기

Grouping by Whitespace
"카드 말고 깔끔하게 묶어줘"상자를 씌우지 않고 간격 차이(묶음 안은 좁게, 묶음 사이는 넓게)와 글자 크기만으로 묶음을 나누는 방식.↔ 상자로 감싸 나누면 카드, 간격과 글자로만 나누면 여백으로 묶기

테이블

Table
"표"행과 열로 데이터를 맞춰 보여주는 표.shadcn: Table

레이아웃

Layout
"전체 배치"헤더·사이드바·본문·푸터를 어디에 둘지 정하는 전체 배치 방식.
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
헤더 Header · "맨 위에 있는 바" · "상단 바" · "위에 로고 있는 줄" 상단에 헤더를 만들어줘. 로고는 왼쪽, 메뉴는 오른쪽, 스크롤해도 위에 고정되게.
네비게이션 바 Navbar / GNB NavigationMenu "메뉴 줄" · "카테고리 바" · "GNB" 헤더 안에 홈·소개·가격·문의 네비게이션 바를 넣어줘. 현재 페이지는 진하게.
히어로 Hero · "첫 화면에 크게 나오는 거" · "메인 배너" · "대문" 히어로 섹션을 만들어줘. 큰 제목, 한 줄 설명, 시작하기 버튼 순서로.
사이드바 Sidebar Sidebar "옆에 세로로 붙은 메뉴" · "왼쪽 메뉴" · "옆 패널" 왼쪽에 고정 사이드바를 두고 오른쪽이 본문인 2단 레이아웃으로 잡아줘.
푸터 Footer · "맨 아래 정보 나오는 데" · "하단" · "바닥글" 푸터에 저작권 문구와 이용약관·개인정보처리방침 링크를 넣어줘.
섹션 Section · "가로로 잘린 한 덩어리" · "구역" · "단락 블록" 소개·기능·가격 세 섹션으로 나누고, 가운데 섹션만 연한 배경으로 구분해줘.
컨테이너 Container · "가운데로 모아주는 거" · "본문 폭 제한" · "가운데 정렬 틀" 본문을 최대 1200px 컨테이너로 감싸서 가운데 정렬해줘.
그리드 Grid · "바둑판처럼 배치" · "3개씩 나란히" · "격자" 이 목록을 3열 그리드로 배치해줘. 모바일에서는 1열로.
카드 Card Card (Header·Content·Footer 완전 조립) "네모 박스 하나하나" · "박스형" · "테두리 있는 덩어리" 각 항목을 썸네일·제목·설명 순서의 카드로 만들어줘.
카드 그리드 Card Grid · "카드를 격자로" · "카드 여러 개 나란히" · "상품 목록처럼" 리포트 목록을 3열 카드 그리드로 보여줘. 카드는 썸네일·제목·요약 구성.
여백으로 묶기 Grouping by Whitespace · "카드 말고 깔끔하게 묶어줘" · "박스 좀 빼줘" · "테두리 없이 정리해줘" 목록을 카드로 감싸지 말고 여백으로 묶어줘. 같은 묶음 안 행 간격은 12px, 묶음 사이는 40px, 묶음 제목은 15px 굵게. 테두리·그림자·배경색은 쓰지 말고 행 사이에만 1px 구분선.
피처 카드 Featured Card · "제일 중요한 것만 박스로" · "맨 위 하나만 눈에 띄게" · "카드는 하나만 써줘" 맨 위 「지금 할 일」 하나만 카드로 만들어줘. 연한 바탕색과 둥근 모서리 16px, 안쪽 여백 20px. 그 아래 목록은 카드 없이 행과 1px 구분선만 쓰고, 카드는 이 화면에 하나만.
테이블 Table Table "표" · "엑셀처럼 줄 맞춘 거" · "행렬로 정리" 이름·날짜·상태 3열 테이블로 정리해줘. 상태는 색으로 구분되게.
레이아웃 Layout · "전체 배치" · "화면 구성" · "판 짜기" 헤더 고정, 왼쪽 사이드바, 나머지가 본문인 관리자 레이아웃으로 잡아줘.

② 이동 · 탐색 14

탭

Tabs
"위에 눌러서 화면 바뀌는 거"버튼을 눌러 같은 자리의 내용을 갈아 끼우는 전환 장치.↔ 같은 자리 내용을 갈아 끼우면 탭, 다른 페이지로 이동하면 네비게이션shadcn: Tabs

아코디언

Accordion
"접었다 폈다 되는 거"제목을 누르면 내용이 접히고 펼쳐지는 목록.↔ 여러 개를 동시에 펼 수 있으면 아코디언, 한 번에 하나만 보이면 탭shadcn: Accordion

스텝퍼

Stepper / Progress Steps
"1-2-3 단계 나오는 거"1 - 2 - 3 순서로 지금 몇 단계인지 보여주는 진행 표시.↔ 진행 단계 표시면 스텝퍼, 숫자를 조절하는 칸이면 수량 조절(카운터)

페이지네이션

Pagination
"아래에 1 2 3 페이지 숫자"긴 목록을 1·2·3 페이지로 나눠 넘기는 번호 줄.↔ 숫자로 나눠 넘기면 페이지네이션, 바닥에서 자동으로 이어지면 무한 스크롤, 버튼으로 이어붙이면 더보기shadcn: Pagination

무한 스크롤

Infinite Scroll
"내리면 계속 나오는 거"바닥에 닿으면 다음 내용을 계속 불러오는 방식.↔ 자동으로 이어지면 무한 스크롤, 버튼을 눌러야 이어지면 더보기

더보기 버튼

Load More
"눌러야 더 나오는 거"누르면 다음 묶음을 이어서 보여주는 버튼. 무한 스크롤의 수동 버전.↔ 버튼을 눌러야 이어지면 더보기, 자동이면 무한 스크롤

햄버거 메뉴

Hamburger Menu
"줄 세 개 아이콘"≡ 모양 아이콘. 모바일에서 메뉴를 접어 두는 버튼.↔ ≡ 버튼 자체가 햄버거, 눌러서 나오는 판이 드로어shadcn: 조합: Button(size=icon) + Sheet

드로어

Drawer / Side Panel
"옆에서 미끄러져 나오는 메뉴"화면 옆에서 서랍처럼 밀려 나오는 판.↔ 옆에서 밀려 나오면 드로어, 아래에서 올라오면 바텀 시트, 항상 붙어 있으면 사이드바shadcn: Sheet (하단이면 Drawer)

목차

Table of Contents (TOC)
"긴 글 옆에 소제목 목록"긴 글 옆에 붙는 소제목 목록. 지금 읽는 위치가 표시되면 더 좋다.

하단 탭바

Bottom Navigation / Tab Bar
"앱 맨 아래 메뉴"모바일 화면 맨 아래 고정되는 메뉴 줄. 앱의 기본 이동 수단.
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
탭 Tabs Tabs "위에 눌러서 화면 바뀌는 거" · "칸 전환 버튼" · "메뉴 눌러서 내용 바뀌는 거" 월간·연간 두 개 탭으로 요금표가 전환되게 해줘.
아코디언 Accordion Accordion "접었다 폈다 되는 거" · "클릭하면 펼쳐지는 목록" · "FAQ 접기" FAQ를 아코디언 5개로 만들어줘. 처음엔 다 접혀 있고, 하나 열면 나머지 닫히게.
브레드크럼 Breadcrumb Breadcrumb "홈 > 제품 > 이런 거" · "지금 위치 나오는 줄" · "경로 표시" 상세 페이지 제목 위에 브레드크럼을 넣어줘. 마지막 항목만 진하게.
스텝퍼 Stepper / Progress Steps · "1-2-3 단계 나오는 거" · "진행 단계 표시" · "몇 단계 중 몇 번째" 신청 과정을 정보 입력·확인·완료 3단계 스텝퍼로 보여줘. 지난 단계는 체크로.
페이지네이션 Pagination Pagination "아래에 1 2 3 페이지 숫자" · "페이지 넘기기" · "다음 페이지 버튼" 목록 아래에 페이지네이션을 넣어줘. 10개씩 끊고 현재 페이지는 진하게.
무한 스크롤 Infinite Scroll · "내리면 계속 나오는 거" · "끝없이 로딩" · "SNS 피드처럼" 피드를 무한 스크롤로 만들어줘. 바닥 근처에서 다음 20개를 불러오게.
더보기 버튼 Load More · "눌러야 더 나오는 거" · "더보기 눌러서 펼치기" · "10개씩 더 보기" 목록은 6개만 보여주고, 더보기 버튼을 누르면 6개씩 추가되게 해줘.
캐러셀 Carousel / Slider Carousel "옆으로 넘기는 배너" · "슬라이드" · "좌우로 돌아가는 이미지" 후기 3개를 좌우 화살표와 점 표시가 있는 캐러셀로 만들어줘.
드롭다운 메뉴 Dropdown DropdownMenu "누르면 아래로 목록 나오는 거" · "펼침 메뉴" · "호버하면 나오는 메뉴" 프로필을 누르면 설정·로그아웃 드롭다운이 열리게 해줘. 바깥을 누르면 닫히게.
햄버거 메뉴 Hamburger Menu 조합: Button(size=icon) + Sheet "줄 세 개 아이콘" · "삼선 버튼" · "모바일에서 메뉴 여는 거" 모바일에서는 메뉴를 햄버거 버튼으로 접고, 누르면 드로어가 열리게 해줘.
드로어 Drawer / Side Panel Sheet (하단이면 Drawer) "옆에서 미끄러져 나오는 메뉴" · "햄버거 누르면 나오는 거" · "슬라이드 패널" 햄버거 버튼을 누르면 오른쪽에서 드로어 메뉴가 나오게 해줘. 배경 누르면 닫히게.
목차 Table of Contents (TOC) · "긴 글 옆에 소제목 목록" · "글 목차" · "이 페이지에서 보기" 글 오른쪽에 목차를 붙여줘. 스크롤하면 지금 읽는 소제목이 진해지게.
하단 탭바 Bottom Navigation / Tab Bar · "앱 맨 아래 메뉴" · "밑에 아이콘 네 개" · "모바일 하단 바" 모바일에서 홈·검색·알림·내 정보 하단 탭바를 고정으로 넣어줘.
앵커 링크 Anchor Link · "누르면 그 위치로 내려가는 거" · "페이지 안에서 점프" · "바로가기 스크롤" '가격 보기'를 누르면 가격 섹션으로 부드럽게 스크롤되게 해줘.

③ 내용 보여주기 14

리스트

List
"세로 줄줄이"항목을 세로로 줄줄이 쌓은 목록. 행마다 눌러 들어갈 수 있으면 리스트 아이템.shadcn: Item

가격표

Pricing Table
"요금제 비교하는 거"플랜 여러 개를 나란히 비교하는 표. 추천 플랜은 눈에 띄게.

후기

Testimonial
"사용자 후기 카드"사용자의 말 한마디를 얼굴·이름과 함께 담은 카드.

통계

Stats
"큰 숫자 여러 개 나란히"핵심 숫자 여러 개를 가로로 크게 나열한 구역.

통계 카드

Stat Card / Metric Card
"숫자 하나에 증감 붙은 거"숫자 하나와 증감 표시를 담은 카드. 대시보드의 기본 단위.shadcn: 조합: Card + 숫자 타이포

로고 모음

Logo Cloud
"이런 데서 씁니다 구역"사용 중인 회사·서비스 로고를 나열해 신뢰를 보여주는 구역.

타임라인

Timeline
"시간 순서 세로줄"점과 선으로 시간 순서를 세로로 보여주는 것.

인용문

Blockquote
"세로선 붙은 강조 문장"왼쪽에 세로선을 붙여 강조하는 인용 문장.

코드 블록

Code Block
"검은 배경에 코드 나오는 거"어두운 배경에 고정폭 글꼴로 코드를 담는 상자. 복사 버튼은 기본.

프로필 카드

Profile Card
"아바타에 이름에 버튼"아바타 + 이름 + 버튼으로 사람을 소개하는 카드.shadcn: 조합: Card + Avatar

알림 목록

Notification List
"종 누르면 나오는 목록"알림을 시간순으로 쌓은 목록. 안 읽은 것은 구분되게.
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
리스트 List Item "세로 줄줄이" · "목록" · "행마다 하나씩" 신청 내역을 리스트로 보여줘. 행마다 제목·날짜·상태, 누르면 상세로.
가격표 Pricing Table · "요금제 비교하는 거" · "플랜 3개 나란히" · "요금표" 무료·프로·팀 3단 가격표를 만들어줘. 프로에 '인기' 배지 달고 테두리 강조.
후기 Testimonial · "사용자 후기 카드" · "리뷰 인용" · "고객 한마디" 후기 3개를 카드로 보여줘. 인용문·이름·소속 구성으로.
통계 Stats · "큰 숫자 여러 개 나란히" · "숫자 자랑 구역" · "지표 나열" 누적 신청·만족도·평균 제작 시간을 큰 숫자 3개로 나란히 보여줘.
통계 카드 Stat Card / Metric Card 조합: Card + 숫자 타이포 "숫자 하나에 증감 붙은 거" · "대시보드 숫자 칸" · "지표 카드" 이번 주 신청 수와 전환율을 통계 카드 2개로 보여줘. 증감은 색과 화살표로.
로고 모음 Logo Cloud · "이런 데서 씁니다 구역" · "회사 로고 나열" · "고객사 로고 줄" 히어로 아래에 '이런 곳에서 쓰고 있어요' 로고 모음을 회색톤으로 넣어줘.
타임라인 Timeline · "시간 순서 세로줄" · "연혁" · "점 찍고 내려가는 거" 프로젝트 진행을 타임라인으로 보여줘. 지난 일은 채운 점, 예정은 빈 점으로.
갤러리 Gallery · "사진 격자" · "이미지 모아 놓은 거" · "사진첩처럼" 작업물 사진을 3열 갤러리로 배치해줘. 누르면 크게 보이게.
라이트박스 Lightbox · "사진 누르면 크게 뜨는 거" · "확대 보기" · "배경 어두워지고 사진만" 갤러리 사진을 누르면 라이트박스로 크게 보이게 해줘. 배경이나 ESC로 닫히게.
인용문 Blockquote · "세로선 붙은 강조 문장" · "인용 박스" · "따옴표 구역" 이 문장을 세로선 붙은 인용문 스타일로 강조해줘.
코드 블록 Code Block · "검은 배경에 코드 나오는 거" · "코드 상자" · "복사 버튼 달린 코드" 설치 명령어를 코드 블록으로 넣어줘. 오른쪽 위에 복사 버튼 달고.
프로필 카드 Profile Card 조합: Card + Avatar "아바타에 이름에 버튼" · "사람 소개 카드" · "유저 카드" 팀원을 프로필 카드로 보여줘. 사진·이름·역할·팔로우 버튼 구성.
알림 목록 Notification List · "종 누르면 나오는 목록" · "읽음 안 읽음 목록" · "알림함" 알림 목록을 만들어줘. 안 읽은 알림은 배경색과 점으로 구분되게.
배너 Banner Alert 응용 "맨 위 가로로 긴 알림 띠" · "공지 띠" · "이벤트 줄" 헤더 위에 공지 배너를 넣어줘. 닫기 버튼 누르면 사라지게.

④ 입력받는 것 26

폼

Form
"신청서 전체"입력칸들과 제출 버튼을 묶은 양식 전체.shadcn: 조합: Form + FieldGroup + Field

인풋

Input / Text Field
"한 줄 입력칸"한 줄짜리 글자 입력칸.shadcn: Input

텍스트에어리어

Textarea
"여러 줄 입력칸"여러 줄을 쓸 수 있는 큰 입력칸.shadcn: Textarea

셀렉트

Select
"목록에서 하나 고르는 거"펼쳐지는 목록에서 하나를 고르는 선택 상자.↔ 폼에서 값을 고르면 셀렉트, 이동·동작 메뉴면 드롭다운shadcn: Select

체크박스

Checkbox
"네모에 체크하는 거"여러 개를 동시에 고를 수 있는 네모 체크칸.shadcn: Checkbox

라디오 버튼

Radio Button
"동그라미 중에 하나만 고르는 거"여러 개 중 하나만 고를 수 있는 동그란 선택 버튼.shadcn: RadioGroup

토글 스위치

Toggle / Switch
"껐다 켰다 하는 동그라미"밀어서 켜고 끄는 on/off 스위치.shadcn: Switch

슬라이더

Slider / Range
"드래그로 숫자 정하는 거"손잡이를 끌어 숫자나 범위를 정하는 바.shadcn: Slider

자동완성

Autocomplete
"타이핑하면 후보 뜨는 거"타이핑하는 동안 후보 목록이 따라붙는 입력칸.shadcn: Combobox (Command + Popover)

파일 업로더

File Upload
"파일 올리는 칸"파일을 올리는 칸. 점선 박스에 끌어다 놓는 형태가 단골.

드래그 앤 드롭

Drag and Drop
"끌어다 놓기"잡아서 끌어다 놓는 동작. 업로드, 순서 바꾸기에 쓴다.

데이트피커

Date Picker
"달력에서 날짜 고르는 거"달력을 펼쳐 날짜를 고르는 입력칸.shadcn: 조합: Calendar + Popover

타임피커

Time Picker
"시간 고르는 거"시간을 고르는 입력칸.

수량 조절

Number Stepper / Counter
"마이너스 숫자 플러스"- 와 + 로 숫자를 조절하는 칸. 카운터라고도 한다.↔ 숫자를 조절하는 칸이면 수량 조절, 진행 단계 표시면 스텝퍼shadcn: InputGroup 응용 (+/- 애드온)

인증번호 입력

OTP Input
"칸 여러 개에 숫자 하나씩"칸 여러 개에 숫자를 하나씩 넣는 인증번호 입력. 한 칸씩 자동으로 넘어가게.shadcn: InputOTP

태그 입력

Tag Input / Chips Input
"엔터 치면 칩으로 바뀌는 거"입력하고 엔터를 치면 알약(칩)으로 바뀌는 다중 입력칸.

별점

Rating
"별 다섯 개"별을 눌러 점수를 매기는 입력.

컬러피커

Color Picker
"색 고르는 거"색을 고르는 입력. 고른 색의 코드가 같이 보이면 좋다.

라벨

Label
"입력칸 위 이름표"입력칸 위에 붙는 이름표. 어떤 칸인지 알려준다.shadcn: Label

플레이스홀더

Placeholder
"흐리게 미리 써 있는 예시"입력 전 칸 안에 흐리게 보이는 예시 글자. 입력하면 사라진다.

헬퍼 텍스트

Helper Text
"칸 아래 회색 안내 문구"입력칸 아래 붙는 작은 안내 문구. 조건이나 팁을 알려준다.shadcn: FieldDescription

필수 표시

Required
"별표 붙은 거"꼭 입력해야 하는 칸이라는 별표(*) 표시.

유효성 검사

Validation
"형식 맞는지 확인하는 거"입력이 형식에 맞는지 확인하는 것. 틀리면 그 자리에서 알려준다.shadcn: Field (data-invalid) + aria-invalid

인라인 에러

Field Error / Inline Error
"그 칸 아래 빨간 글씨"틀린 칸 바로 아래 뜨는 빨간 안내. 팝업 경고보다 이게 낫다.shadcn: FieldError

제출

Submit
"보내기 버튼"폼을 보내는 마지막 버튼. 처리 중엔 잠그고, 끝나면 완료를 알린다.shadcn: Button (type=submit) + Spinner(저장 중)
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
폼 Form 조합: Form + FieldGroup + Field "신청서 전체" · "입력칸 묶음" · "제출하는 양식" 신청 폼을 만들어줘. 인풋 3개(이름·이메일·연락처), 유효성 검사 넣고, 제출하면 토스트로 완료 알림.
인풋 Input / Text Field Input "한 줄 입력칸" · "글자 쓰는 칸" · "텍스트필드" 이름 인풋을 추가해줘. 라벨 위, 플레이스홀더는 예시 이름으로.
텍스트에어리어 Textarea Textarea "여러 줄 입력칸" · "긴 글 쓰는 칸" · "문의 내용 칸" 문의 내용 텍스트에어리어를 넣어줘. 4줄 높이에 세로로만 늘어나게.
셀렉트 Select Select "목록에서 하나 고르는 거" · "선택 상자" · "펼쳐서 고르기" 학년 셀렉트를 넣어줘. 1~4학년 옵션, 기본값은 비워 두고.
체크박스 Checkbox Checkbox "네모에 체크하는 거" · "여러 개 고르는 거" · "동의 체크" 관심 분야를 체크박스로 만들어줘. 여러 개 선택 가능하게.
라디오 버튼 Radio Button RadioGroup "동그라미 중에 하나만 고르는 거" · "단일 선택" · "하나만 체크되는 거" 경험 수준을 라디오 버튼 3개로 만들어줘. 하나만 선택되게.
토글 스위치 Toggle / Switch Switch "껐다 켰다 하는 동그라미" · "on/off 버튼" · "밀어서 켜는 거" 알림 설정에 토글 스위치를 넣어줘. 켜면 색이 채워지게.
슬라이더 Slider / Range Slider "드래그로 숫자 정하는 거" · "좌우로 끄는 바" · "범위 조절" 예산 슬라이더를 넣어줘. 0~100만원, 현재 값이 위에 보이게.
검색바 Search Bar InputGroup + InputGroupAddon(아이콘) "돋보기 검색창" · "검색하는 칸" · "찾기 입력칸" 헤더에 검색바를 넣어줘. 입력하면 아래에 결과가 미리 보이게.
자동완성 Autocomplete Combobox (Command + Popover) "타이핑하면 후보 뜨는 거" · "추천 검색어" · "미리 완성해주는 거" 도시 입력칸에 자동완성을 붙여줘. 입력한 글자는 후보에서 진하게.
파일 업로더 File Upload · "파일 올리는 칸" · "점선 박스에 끌어다 놓기" · "첨부하는 데" 이미지 업로더를 점선 박스로 만들어줘. 클릭이나 드래그 둘 다 되고 5MB 제한.
드래그 앤 드롭 Drag and Drop · "끌어다 놓기" · "잡아서 옮기기" · "순서 바꾸기" 할 일 목록을 드래그 앤 드롭으로 순서 바꿀 수 있게 해줘.
데이트피커 Date Picker 조합: Calendar + Popover "달력에서 날짜 고르는 거" · "날짜 선택" · "달력 뜨는 입력칸" 예약 날짜를 데이트피커로 받게 해줘. 지난 날짜는 못 고르게.
타임피커 Time Picker · "시간 고르는 거" · "몇 시 선택" · "시간 입력칸" 예약 시간을 타임피커로 받게 해줘. 30분 단위로만.
수량 조절 Number Stepper / Counter InputGroup 응용 (+/- 애드온) "마이너스 숫자 플러스" · "수량 플마 버튼" · "카운터" 수량 조절 스텝퍼를 넣어줘. 최소 1, 최대 10.
인증번호 입력 OTP Input InputOTP "칸 여러 개에 숫자 하나씩" · "인증 코드 칸" · "6자리 입력" 6자리 인증번호 입력을 만들어줘. 입력하면 다음 칸으로 자동 이동.
태그 입력 Tag Input / Chips Input · "엔터 치면 칩으로 바뀌는 거" · "태그 다는 칸" · "키워드 여러 개 넣기" 관심 키워드를 태그 입력으로 받게 해줘. 엔터로 추가, ×로 삭제.
별점 Rating · "별 다섯 개" · "평점 매기는 거" · "별 누르는 거" 후기에 별점 5개짜리 입력을 넣어줘. 반 개 단위도 되게.
컬러피커 Color Picker · "색 고르는 거" · "색상 선택" · "팔레트에서 찍기" 브랜드 색을 컬러피커로 고르게 해줘. 선택한 hex 코드가 보이게.
라벨 Label Label "입력칸 위 이름표" · "칸 제목" · "무슨 칸인지 써 있는 거" 모든 입력칸 위에 라벨을 붙여줘. 필수는 라벨 옆에 * 표시.
플레이스홀더 Placeholder · "흐리게 미리 써 있는 예시" · "입력 전에 보이는 회색 글자" · "힌트 글자" 이메일 칸 플레이스홀더를 example@gmail.com 으로 넣어줘. 라벨 대신 쓰지는 말고.
헬퍼 텍스트 Helper Text FieldDescription "칸 아래 회색 안내 문구" · "입력 조건 설명" · "도움말 한 줄" 비밀번호 칸 아래에 '영문·숫자 포함 8자 이상' 헬퍼 텍스트를 넣어줘.
필수 표시 Required · "별표 붙은 거" · "꼭 써야 하는 칸" · "* 표시" 이름과 이메일은 필수로 하고 라벨에 빨간 * 를 붙여줘. 빈 채로 제출하면 막고.
유효성 검사 Validation Field (data-invalid) + aria-invalid "형식 맞는지 확인하는 거" · "이메일 형식 검사" · "잘못 쓰면 알려주는 거" 이메일과 전화번호에 유효성 검사를 넣어줘. 틀리면 제출 막고 칸 아래에 이유 표시.
인라인 에러 Field Error / Inline Error FieldError "그 칸 아래 빨간 글씨" · "입력칸 에러 문구" · "칸마다 나오는 오류" 에러는 alert 창 말고 각 칸 아래 인라인 에러로 보여줘. 테두리도 빨갛게.
제출 Submit Button (type=submit) + Spinner(저장 중) "보내기 버튼" · "완료 버튼" · "폼 마지막 버튼" 제출 버튼은 보내는 동안 '보내는 중'으로 잠기고, 성공하면 완료 표시가 뜨게 해줘.

⑤ 누르는 것 10

버튼

Button
"누르는 거 전부"누르면 무언가 일어나는 것 전부. 눌러 보이는 게 중요하다.shadcn: Button

프라이머리 버튼

Primary Button
"꽉 찬 색 버튼"색이 꽉 찬 제일 중요한 버튼. 한 화면에 하나만.shadcn: Button (variant=default)

세컨더리 버튼

Secondary Button / Outline
"테두리만 있는 버튼"테두리만 있는 버튼. 두 번째로 중요한 행동에 쓴다.shadcn: Button (variant=outline·secondary)

고스트 버튼

Ghost / Text Button
"배경 없이 글자만 있는 버튼"배경도 테두리도 없이 글자만 있는 버튼. 취소 같은 낮은 우선순위용.shadcn: Button (variant=ghost)

아이콘 버튼

Icon Button
"아이콘만 있는 버튼"글자 없이 아이콘만 있는 버튼. 뜻을 읽어 줄 aria-label이 필수.shadcn: Button (size=icon)

삭제 버튼

Destructive Button / Danger
"빨간 버튼"되돌릴 수 없는 일을 하는 빨간 버튼. 확인 창과 세트가 기본.shadcn: Button (variant=destructive)

씨티에이

CTA (Call To Action)
"제일 중요한 행동 버튼"이 페이지에서 시키고 싶은 제일 중요한 행동 버튼.

플로팅 버튼

FAB (Floating Action Button)
"오른쪽 아래 떠 있는 동그란 버튼"화면 오른쪽 아래에 떠 있는 동그란 버튼. 제일 잦은 행동 하나를 담는다.

버튼 그룹

Button Group
"버튼 여러 개 붙여 놓은 거"버튼 여러 개를 한 줄로 붙여 놓고 하나를 고르는 묶음.shadcn: ButtonGroup · 선택형은 ToggleGroup
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
버튼 Button Button "누르는 거 전부" · "클릭하는 네모" · "버튼" 이 텍스트를 버튼으로 바꿔줘. 호버하면 살짝 변하게.
프라이머리 버튼 Primary Button Button (variant=default) "꽉 찬 색 버튼" · "제일 중요한 버튼" · "메인 버튼" '신청하기'만 프라이머리 버튼으로 하고 나머지는 낮춰줘. 화면에 프라이머리는 하나만.
세컨더리 버튼 Secondary Button / Outline Button (variant=outline·secondary) "테두리만 있는 버튼" · "두 번째 버튼" · "아웃라인 버튼" '더 알아보기'는 세컨더리 버튼으로 프라이머리 옆에 놔줘.
고스트 버튼 Ghost / Text Button Button (variant=ghost) "배경 없이 글자만 있는 버튼" · "투명 버튼" · "텍스트 버튼" '취소'는 고스트 버튼으로 해줘. 호버할 때만 연한 배경이 생기게.
아이콘 버튼 Icon Button Button (size=icon) "아이콘만 있는 버튼" · "글자 없는 동그란 버튼" · "X 버튼 같은 거" 닫기·공유를 아이콘 버튼으로 바꿔줘. aria-label 넣는 것 잊지 말고.
삭제 버튼 Destructive Button / Danger Button (variant=destructive) "빨간 버튼" · "위험한 거 하는 버튼" · "지우기 버튼" 삭제는 빨간 삭제 버튼으로 하고, 누르면 확인 모달을 먼저 띄워줘.
씨티에이 CTA (Call To Action) · "제일 중요한 행동 버튼" · "전환 버튼" · "지금 시작하기 버튼" 페이지 끝에 CTA 섹션을 넣어줘. 한 줄 문구와 '무료로 시작하기' 버튼.
플로팅 버튼 FAB (Floating Action Button) · "오른쪽 아래 떠 있는 동그란 버튼" · "둥둥 떠 있는 플러스" · "떠다니는 버튼" 오른쪽 아래에 새 글 쓰기 플로팅 버튼을 띄워줘. 스크롤해도 그 자리에.
링크 Link Button (variant=link) "글자 링크" · "밑줄 있는 파란 거" · "눌러서 이동하는 글자" '자세히 보기'는 버튼 말고 텍스트 링크로 바꿔줘.
버튼 그룹 Button Group ButtonGroup · 선택형은 ToggleGroup "버튼 여러 개 붙여 놓은 거" · "일간 주간 월간 같은 거" · "붙은 선택 버튼" 일간·주간·월간 버튼 그룹을 만들어줘. 선택된 것만 채워지게.

⑥ 알려주는 것 13

오버레이 / 딤

Overlay / Backdrop
"뒤가 어두워지는 것"모달이나 드로어 뒤를 어둡게 덮는 반투명 층.↔ 뒤를 덮는 어두운 막 자체가 오버레이, 그 위에 뜬 창이 모달

바텀 시트

Bottom Sheet
"아래에서 올라오는 판"화면 아래에서 올라오는 판. 모바일에서 모달 대신 많이 쓴다.↔ 아래에서 올라오면 바텀 시트, 옆에서 밀려 나오면 드로어shadcn: Drawer

토스트

Toast / Snackbar
"잠깐 떴다 사라지는 알림"구석에 잠깐 나타났다 저절로 사라지는 짧은 알림.↔ 저절로 사라지면 토스트, 자리에 남아 있으면 얼럿shadcn: Sonner

얼럿

Alert / Callout
"색 있는 알림 상자"성공·경고·오류를 색으로 구분해 담는 알림 상자. 사라지지 않고 자리에 남는다.↔ 자리에 남아 있으면 얼럿, 잠깐 떴다 사라지면 토스트shadcn: Alert

툴팁

Tooltip
"마우스 올리면 뜨는 작은 설명"마우스를 올리면 잠깐 나오는 작은 설명 말풍선.↔ 마우스만 올려도 뜨면 툴팁, 눌러야 열리면 팝오버shadcn: Tooltip

팝오버

Popover
"눌러서 여는 작은 판"눌러서 여는 작은 판. 툴팁보다 크고, 안에 버튼·링크도 들어간다.↔ 눌러야 열리면 팝오버, 마우스만 올려도 뜨면 툴팁shadcn: Popover

프로그레스 바

Progress Bar
"차오르는 막대"얼마나 진행됐는지 차오르는 막대로 보여주는 것.↔ 진행률을 알면 프로그레스 바, 모르면 스피너shadcn: Progress

스피너

Spinner / Loader
"빙글빙글 도는 거"빙글빙글 돌며 로딩 중임을 알리는 표시. 끝이 언제인지 모를 때 쓴다.↔ 끝을 모르면 스피너, 진행률이 있으면 프로그레스 바, 내용 자리를 미리 그리면 스켈레톤shadcn: Spinner

스켈레톤

Skeleton
"로딩 때 회색 뼈대"내용이 오기 전, 자리 모양대로 깜빡이는 회색 뼈대.↔ 내용 자리를 미리 그리면 스켈레톤, 그냥 돌기만 하면 스피너shadcn: Skeleton

엠프티 스테이트

Empty State
"내용 없을 때 화면"보여줄 게 없을 때의 화면. 다음 행동 버튼까지 넣어야 완성.shadcn: Empty

확인 창

Confirmation Dialog
"정말 하시겠어요 창"위험한 행동 전에 '정말 하시겠어요?'라고 한 번 더 묻는 창.↔ 위험한 행동 전에 한 번 더 묻는 용도의 모달이 확인 창shadcn: AlertDialog
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
모달 Modal / Dialog Dialog (DialogTitle 필수) "화면 가운데 뜨는 창" · "팝업" · "뒤가 어두워지면서 뜨는 거" 삭제를 누르면 '정말 삭제할까요?' 모달이 뜨게 해줘. 배경 클릭이나 ESC로 닫히게.
오버레이 / 딤 Overlay / Backdrop · "뒤가 어두워지는 것" · "화면 덮는 반투명 막" · "딤 처리" 모달이 뜰 때 뒤에 오버레이를 깔아줘. 오버레이를 누르면 닫히게.
바텀 시트 Bottom Sheet Drawer "아래에서 올라오는 판" · "밑에서 스윽 나오는 거" · "모바일 공유창 같은 거" 모바일에서 공유를 누르면 바텀 시트가 올라오게 해줘. 위에 잡는 손잡이 표시도.
토스트 Toast / Snackbar Sonner "잠깐 떴다 사라지는 알림" · "저장됐다고 뜨는 거" · "구석에 뜨는 알림" 저장 성공하면 우하단에 '저장됐어요' 토스트가 3초 떴다 사라지게 해줘.
얼럿 Alert / Callout Alert "색 있는 알림 상자" · "노란 경고 박스" · "안내 박스" 폼 위에 얼럿 영역을 만들어줘. 성공은 초록, 경고는 노랑, 오류는 빨강.
툴팁 Tooltip Tooltip "마우스 올리면 뜨는 작은 설명" · "말풍선 도움말" · "물음표 설명" 이 아이콘에 마우스를 올리면 짧은 설명 툴팁이 뜨게 해줘.
팝오버 Popover Popover "눌러서 여는 작은 판" · "클릭하면 뜨는 말풍선" · "미니 팝업" 프로필을 누르면 이름과 메뉴가 있는 팝오버가 열리게 해줘.
프로그레스 바 Progress Bar Progress "차오르는 막대" · "진행률 바" · "몇 퍼센트 게이지" 업로드 진행률을 프로그레스 바로 보여줘. 퍼센트 숫자도 같이.
스피너 Spinner / Loader Spinner "빙글빙글 도는 거" · "로딩 동그라미" · "돌아가는 로딩" 데이터 불러오는 동안 가운데에 스피너를 보여줘.
스켈레톤 Skeleton Skeleton "로딩 때 회색 뼈대" · "번쩍거리는 회색 박스" · "로딩 자리 표시" 목록 로딩 중에는 카드 모양 스켈레톤 3개를 보여줘.
엠프티 스테이트 Empty State Empty "내용 없을 때 화면" · "텅 비었을 때 나오는 거" · "아직 없어요 화면" 목록이 비면 엠프티 스테이트를 보여줘. 안내 문구와 '추가하기' 버튼 포함.
쿠키 배너 Cookie Banner · "쿠키 동의 창" · "아래에 뜨는 동의 문구" · "쿠키 쓴다는 안내" 하단에 쿠키 배너를 넣어줘. 동의·거부 버튼, 선택하면 다시 안 뜨게.
확인 창 Confirmation Dialog AlertDialog "정말 하시겠어요 창" · "한 번 더 물어보는 거" · "확인 팝업" 작성 중에 나가려 하면 '정말 나가시겠어요?' 확인 창을 띄워줘.

⑦ 작은 표시들 8

배지

Badge
"아이콘에 빨간 숫자"아이콘 모서리에 붙는 작은 숫자나 점. 새 알림 표시의 단골.↔ 아이콘 모서리에 붙는 숫자·점이면 배지, 독립된 알약 라벨이면 칩shadcn: Badge

칩 / 태그

Chip / Tag / Pill
"알약 모양 라벨"알약 모양의 작은 라벨. 태그 표시나 필터 선택에 쓴다.↔ 독립된 알약 라벨이면 칩, 아이콘 모서리 숫자면 배지shadcn: Badge 응용

아바타

Avatar
"동그란 프로필 사진"동그란 프로필 사진. 사진이 없으면 이름 첫 글자로.shadcn: Avatar (AvatarFallback 필수)

아바타 그룹

Avatar Group
"겹쳐 놓은 아바타들"아바타 여러 개를 겹쳐 놓고 나머지는 +9로 줄인 것.

디바이더

Divider / Separator
"구분선"내용 사이를 나누는 얇은 구분선.shadcn: Separator

아이콘

Icon
"작은 그림"뜻을 담은 작은 그림. 세트를 하나로 통일하는 게 핵심.shadcn: lucide-react

상태 점

Status Dot / Indicator
"온라인 초록 점"온라인·자리 비움 같은 상태를 알리는 작은 색 점.

키보드 키

Kbd
"단축키를 키 모양으로"단축키를 실제 키 모양으로 보여주는 표시.shadcn: Kbd
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
배지 Badge Badge "아이콘에 빨간 숫자" · "알림 숫자 점" · "빨간 동그라미" 알림 아이콘에 안 읽은 개수 배지를 붙여줘. 0이면 숨기고.
칩 / 태그 Chip / Tag / Pill Badge 응용 "알약 모양 라벨" · "동글동글한 필터 버튼" · "태그" 태그들을 칩으로 보여주고, 누르면 선택 상태로 색이 바뀌게 해줘.
아바타 Avatar Avatar (AvatarFallback 필수) "동그란 프로필 사진" · "프사 동그라미" · "얼굴 아이콘" 댓글마다 아바타를 붙여줘. 사진 없으면 이름 첫 글자가 나오게.
아바타 그룹 Avatar Group · "겹쳐 놓은 아바타들" · "+9 붙은 프사 무더기" · "참여자 얼굴 묶음" 참여자를 아바타 그룹으로 보여줘. 3명까지 겹치고 나머지는 +N으로.
디바이더 Divider / Separator Separator "구분선" · "얇은 가로줄" · "사이에 긋는 선" 섹션 사이마다 연한 디바이더를 넣어줘.
아이콘 Icon lucide-react "작은 그림" · "집 모양 돋보기 모양 그런 거" · "픽토그램" 아이콘은 Lucide로 통일해줘. 크기는 20px, 선 굵기도 맞추고.
상태 점 Status Dot / Indicator · "온라인 초록 점" · "이름 옆 작은 점" · "상태 불빛" 멤버 이름 옆에 상태 점을 붙여줘. 온라인 초록, 자리 비움 노랑, 오프라인 회색.
키보드 키 Kbd Kbd "단축키를 키 모양으로" · "⌘K 같은 표시" · "자판 모양 글자" 검색 안내에 ⌘K를 키보드 키 모양으로 보여줘.

⑧ 상태 · 동작 8

기본

Default
"아무것도 안 한 상태"아무 일도 없는 평소 상태. 나머지 상태들의 기준점.

호버

Hover
"마우스 올렸을 때"마우스를 올렸을 때의 변화. 눌러도 된다는 신호다.

액티브

Active / Pressed
"누르고 있는 순간"누르고 있는 그 순간의 변화. 살짝 줄어들면 눌리는 맛이 난다.

포커스

Focus
"탭 키로 선택됐을 때"키보드 Tab으로 선택됐을 때의 표시. 접근성의 기본이라 지우면 안 된다.

디스에이블드

Disabled
"못 누르게 회색"지금은 못 누르는 상태. 회색으로 흐려지고 커서도 바뀐다.

로딩

Loading
"처리 중"처리 중인 상태. 버튼 안에 스피너를 넣고 두 번 못 누르게 잠근다.

선택됨

Selected
"고른 것 표시"여럿 중 지금 고른 것의 표시. 테두리·채움·체크로 구분한다.

에러

Error / Invalid
"틀렸을 때 빨간 거"잘못된 상태의 표시. 빨간 테두리와 원인 안내가 세트다.
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
기본 Default · "아무것도 안 한 상태" · "평소 모습" · "그냥 있을 때" 버튼의 기본 상태를 정리해줘. 이걸 기준으로 호버·액티브를 파생하고.
호버 Hover · "마우스 올렸을 때" · "갖다 대면 변하는 거" · "올리면 커지는 거" 카드에 호버 효과를 넣어줘. 그림자가 살짝 생기고 1px 떠오르게.
액티브 Active / Pressed · "누르고 있는 순간" · "클릭하는 찰나" · "눌린 상태" 버튼 액티브 상태를 넣어줘. 누르는 동안 살짝 작아지게(scale 0.96).
포커스 Focus · "탭 키로 선택됐을 때" · "테두리 생기는 거" · "키보드로 고른 상태" 포커스 상태를 focus-visible 링으로 보여줘. outline을 없애지는 말고.
디스에이블드 Disabled · "못 누르게 회색" · "비활성" · "흐려져 있는 버튼" 필수 입력이 다 차기 전엔 제출 버튼을 디스에이블드로 잠가줘.
로딩 Loading · "처리 중" · "돌아가는 중" · "보내는 중 상태" 제출을 누르면 버튼이 '보내는 중' 로딩 상태가 되게 해줘. 중복 클릭 방지도.
선택됨 Selected · "고른 것 표시" · "체크된 상태" · "지금 고른 거 진하게" 플랜 카드 중 선택된 것은 진한 테두리와 체크 표시로 구분해줘.
에러 Error / Invalid · "틀렸을 때 빨간 거" · "잘못됐다는 표시" · "오류 상태" 입력이 틀리면 에러 상태로 바꿔줘. 빨간 테두리에 칸 아래 이유까지.

⑨ 스크롤 연출 8

패럴랙스 스크롤

Parallax Scrolling
"내리면 뒤 배경이 천천히 움직이는 거"스크롤할 때 뒤쪽 층일수록 느리게 움직여 깊이가 생기는 연출.↔ 층 하나만 움직이면 그냥 배경 고정이고, 속도가 서로 달라야 패럴랙스

스크롤 페이드인

Fade-in on Scroll
"내리면 하나씩 스르륵 나타나는 거"요소가 화면에 들어오는 순간 아래에서 살짝 올라오며 나타나는 연출.↔ 같은 말로 「스크롤 리빌」. 처음 열 때 한 번 뜨는 건 그냥 진입 애니메이션

따라오는 헤더

Sticky Header
"내려도 위에 붙어 있는 메뉴 줄"스크롤해도 화면 맨 위에 붙어 있고, 내리기 시작하면 아래에 그림자가 생기는 헤더.↔ 안 따라오면 고장 → css-menu 「따라와야 할 헤더가 안 따라와요」

고정(핀)

Pinning
"한 화면에 멈춰서 내용만 바뀌는 구간"한 섹션을 화면에 붙여 두고, 스크롤하는 동안 그 안의 내용만 단계별로 바꾸는 연출.↔ 고정되는 동안 옆으로 흐르면 가로 스크롤

가로 스크롤 섹션

Horizontal Scroll Section
"세로로 내리는데 옆으로 흘러가는 거"세로로 스크롤하는 동안 섹션을 고정하고 그 안의 카드 줄을 옆으로 미는 연출.↔ 손가락으로 옆으로 미는 목록은 캐러셀

스크롤 스냅

Scroll Snap
"스크롤하면 한 칸씩 딱 멈추는 거"스크롤을 놓으면 가까운 칸의 경계에 딱 맞춰 멈추는 연출.↔ mandatory 는 늘 맞춰 멈추고, proximity 는 가까울 때만

스크롤 진행 막대

Scroll Progress Bar
"읽은 만큼 위에 차오르는 선"글을 얼마나 읽었는지 화면 맨 위의 얇은 선 길이로 보여 주는 표시.↔ 작업이 얼마나 끝났는지 보여 주는 건 프로그레스 바

형광펜 긋기

Highlighter Animation
"중요한 말에 형광펜이 쓱 그어지는 거"강조할 낱말이 화면에 들어오면 형광펜이 왼쪽부터 그어지는 연출.↔ 영상 속 형광펜은 motion-menu 「형광펜」
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
패럴랙스 스크롤 Parallax Scrolling · "내리면 뒤 배경이 천천히 움직이는 거" · "배경이 따로 노는 스크롤" · "깊이감 있게 겹쳐 움직이는 첫 화면" 첫 화면에 패럴랙스 스크롤을 넣어줘. 산 그림 세 겹 중 뒤쪽은 스크롤 속도의 0.55배, 가운데는 0.3배로 움직이고 맨 앞은 그대로. 제목은 0.8배. 동작 줄이기 설정이면 멈춰.
스크롤 페이드인 Fade-in on Scroll · "내리면 하나씩 스르륵 나타나는 거" · "스크롤하면 올라오면서 생기는 카드" · "화면에 들어올 때 뜨는 효과" 카드들이 화면에 25% 들어오면 아래에서 18px 올라오며 0.6초 동안 페이드인되게 해줘. ease-out, 한 번 나타나면 다시 숨지 않게. IntersectionObserver 로.
따라오는 헤더 Sticky Header · "내려도 위에 붙어 있는 메뉴 줄" · "스크롤해도 안 사라지는 상단 바" · "고정 헤더" 헤더를 position: sticky 로 맨 위에 고정해줘. 스크롤이 4px 넘으면 아래쪽에 옅은 그림자와 1px 선이 0.25초에 걸쳐 생기게. 배경은 92% 불투명 흰색에 살짝 흐림.
고정(핀) Pinning · "한 화면에 멈춰서 내용만 바뀌는 구간" · "스크롤해도 그 섹션이 안 넘어가는 거" · "단계 설명이 제자리에서 바뀌는 화면" 「사용법」 섹션을 화면에 고정(sticky)하고, 스크롤 세 구간 동안 번호·문장·그림이 01→02→03 으로 바뀌게 해줘. 셋째가 끝나면 고정이 풀리고 다음 섹션으로. 지금 단계를 점 세 개로 표시.
가로 스크롤 섹션 Horizontal Scroll Section · "세로로 내리는데 옆으로 흘러가는 거" · "스크롤하면 카드가 가로로 지나가는 구간" · "가로로 넘어가는 작품 목록" 작품 카드 다섯 장을 가로 스크롤 섹션으로 만들어줘. 섹션이 화면에 닿으면 고정되고, 세로 스크롤한 만큼 카드 줄이 왼쪽으로 이동해 마지막 카드가 보이면 고정이 풀리게.
스크롤 스냅 Scroll Snap · "스크롤하면 한 칸씩 딱 멈추는 거" · "페이지 넘기듯 착착 끊기는 스크롤" · "반만 걸쳐 멈추지 않게" 세 섹션에 스크롤 스냅을 걸어줘. scroll-snap-type: y mandatory, 각 섹션 높이는 화면 전체, 시작 위치에 맞춰 멈추게.
스크롤 진행 막대 Scroll Progress Bar · "읽은 만큼 위에 차오르는 선" · "글 어디쯤인지 보여 주는 줄" · "맨 위 얇은 진행 바" 글 페이지 맨 위에 3px 짜리 스크롤 진행 막대를 붙여줘. 읽은 비율만큼 왼쪽에서 늘어나게 scaleX 로, 색은 강조색. role=progressbar 와 aria-valuenow 도.
형광펜 긋기 Highlighter Animation · "중요한 말에 형광펜이 쓱 그어지는 거" · "스크롤하면 밑에 색이 칠해지는 문장" · "마커 효과" 본문의 핵심 문구 두 곳에 형광펜 애니메이션을 넣어줘. 글자 아래 42% 높이에 노란색, 화면에 다 들어오면 0.8초 동안 왼쪽에서 오른쪽으로 칠해지게. 한 번만.

⑩ 마우스 반응 8

호버로 떠오르기

Hover Lift
"마우스 올리면 카드가 살짝 뜨는 거"커서를 올리면 카드가 몇 픽셀 떠오르고 그림자가 짙어지는 반응.폰에서는: 폰에는 호버가 없다. 누르는 순간(:active) 살짝 눌리는 모양으로 대신하고, 떠오른 채로 멈춰 있지 않게 @media (hover: hover) 안에만 둔다.

호버로 사진 확대

Image Zoom on Hover
"마우스 올리면 사진만 커지는 거"틀 크기는 그대로 두고 그 안의 사진만 조금 커지는 반응.폰에서는: 폰에서는 확대하지 않는다. 대신 누르면 바로 상세로 넘어가게 하고, 확대는 @media (hover: hover) 안에만.

커서 따라오기

Cursor Follower
"커서를 동그라미가 졸졸 따라오는 거"작은 원이 커서를 한 박자 늦게 따라다니는 장식.↔ 따라오는 원이 버튼에 닿으면 커지는 것까지 넣으면 커서 확장폰에서는: 터치 화면에는 커서가 없어 아무 의미가 없다. @media (hover: none) 에서 숨긴다.

자석 버튼

Magnetic Button
"커서 가까이 가면 버튼이 끌려오는 거"커서가 버튼 근처에 오면 버튼이 그 방향으로 조금 끌려가는 반응.폰에서는: 터치에서는 끌려올 커서가 없다. 그냥 평범한 버튼으로 두고, 누를 때 눌림 모양만 준다.

물결(리플)

Ripple Effect
"누른 자리에서 동그랗게 퍼지는 거"누른 지점에서 원이 퍼져 나가며 사라지는 반응.↔ 영상 속 물결 전환은 motion-menu 「파문 와이프」폰에서는: 폰에서도 잘 맞는 몇 안 되는 반응이다. 손가락이 닿은 자리에서 퍼지게 pointerdown 좌표를 쓴다.

밑줄 늘어나기

Underline Animation
"메뉴에 올리면 밑줄이 쭉 그어지는 거"링크에 커서를 올리면 밑줄이 왼쪽에서 오른쪽으로 그어지는 반응.폰에서는: 폰에서는 지금 있는 페이지의 메뉴에만 밑줄을 그어 둔다(호버 대신 현재 위치 표시).

전후 비교 슬라이더

Before/After Slider
"가운데 선을 끌어서 전후를 비교하는 거"두 장의 사진을 겹쳐 두고 경계선을 끌어 전과 후를 견주는 부품.↔ 랜딩 섹션 단위로는 landing-menu 「비포/애프터」폰에서는: 손가락으로 끄는 것도 잘 된다. 손잡이 터치 영역을 44px 이상으로.

떠날 때 팝업

Exit-intent Popup
"나가려고 할 때 뜨는 창"커서가 페이지 위쪽 바깥으로 빠져나가려는 순간 한 번 뜨는 붙잡는 창.↔ 들어오자마자 뜨는 건 그냥 모달. 너무 잦으면 미움받는다폰에서는: 폰에는 커서가 없어 이 신호가 안 잡힌다. 억지로 뒤로 가기를 막지 말고, 글 끝까지 읽었을 때 아래에서 띠로 한 번 권하는 쪽으로 대신한다.
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
호버로 떠오르기 Hover Lift · "마우스 올리면 카드가 살짝 뜨는 거" · "올리면 그림자 생기는 카드" · "누를 수 있다는 걸 보여 주는 움직임" 숙소 카드에 호버 리프트를 넣어줘. 올리면 위로 5px, 그림자 0 12px 22px, 0.2초 ease-out. 키보드 포커스에도 같은 모양. 동작 줄이기면 그림자만.
호버로 사진 확대 Image Zoom on Hover · "마우스 올리면 사진만 커지는 거" · "틀은 그대로인데 안에 그림이 확대" · "썸네일 줌" 사진 카드에 호버 줌을 넣어줘. 틀은 overflow: hidden 으로 고정하고 안의 이미지만 1.1배로 0.45초 동안 확대. 포커스에도 같이.
커서 따라오기 Cursor Follower · "커서를 동그라미가 졸졸 따라오는 거" · "마우스 스토커" · "커서 꾸미기" 첫 화면에 커서 따라오기를 넣어줘. 지름 30px 주황 원이 커서를 매 프레임 거리의 12%씩 따라가게(lerp). 글자 위에선 multiply 로 겹치게. 터치 기기와 동작 줄이기에선 끄기.
자석 버튼 Magnetic Button · "커서 가까이 가면 버튼이 끌려오는 거" · "버튼이 마우스 쪽으로 붙는 효과" · "쫀득하게 따라오는 버튼" 「문의하기」 버튼을 자석 버튼으로 만들어줘. 커서가 버튼 중심 110px 안에 들어오면 거리의 35%만큼 커서 쪽으로 움직이고, 벗어나면 0.25초에 제자리로. 동작 줄이기면 끄기.
물결(리플) Ripple Effect · "누른 자리에서 동그랗게 퍼지는 거" · "버튼 누르면 물결 번지는 효과" · "머티리얼 버튼 반응" 「보내기」 버튼에 리플 효과를 넣어줘. 누른 좌표에서 버튼 크기 2.2배 원이 0.6초 동안 커지며 투명해지게, 흰색 45%. 키보드로 누르면 가운데서.
밑줄 늘어나기 Underline Animation · "메뉴에 올리면 밑줄이 쭉 그어지는 거" · "링크 아래 선이 왼쪽부터 생기는 효과" · "호버 밑줄" 상단 메뉴 링크에 밑줄 애니메이션을 넣어줘. 2px 강조색 선이 ::after 로 scaleX 0→1, transform-origin left, 0.25초 ease-out. 포커스에도 같이, 지금 페이지 메뉴는 늘 그어져 있게.
전후 비교 슬라이더 Before/After Slider · "가운데 선을 끌어서 전후를 비교하는 거" · "보정 전 후 밀어서 보기" · "비포 애프터 사진 비교" 전후 비교 슬라이더를 만들어줘. 두 사진을 겹치고 위 사진을 clip-path 로 잘라 보여 주기, 가운데 흰 선과 ↔ 손잡이. 실제 조작은 투명한 input type=range 로 해서 키보드 화살표로도 움직이게.
떠날 때 팝업 Exit-intent Popup · "나가려고 할 때 뜨는 창" · "창 닫으려 하면 붙잡는 팝업" · "이탈 방지 팝업" 떠날 때 팝업을 넣어줘. 커서가 창 위쪽 끝(8px 안)으로 빠져나가면 한 번만 띄우고, 같은 방문에선 다시 안 띄우기. 「괜찮아요」와 Esc 로 닫히고, 열리면 첫 버튼에 포커스.

⑪ 불러오기 · 흐름 8

로딩 화면

Preloader
"처음에 숫자 올라가다 걷히는 화면"페이지를 불러오는 동안 덮어 두었다가 다 되면 걷어 내는 첫 화면.↔ 부분만 기다릴 때는 스피너·스켈레톤. 덮개는 정말 무거운 첫 화면에만

지연 로딩

Lazy Loading
"화면에 들어온 사진만 불러오는 거"화면에 가까워진 이미지만 불러오고, 오기 전엔 자리만 잡아 두는 방식.↔ 자리만 잡는 회색 칸은 스켈레톤

타이핑 효과

Typewriter Effect
"글자가 한 자씩 써지는 거"문구가 한 글자씩 써지고, 잠시 뒤 지워지며 다음 낱말로 바뀌는 연출.↔ 영상 자막의 타자 효과는 motion-menu 「타입온」

페이지 전환

Page Transition
"페이지 넘어갈 때 막이 덮었다 걷히는 거"다른 페이지로 넘어갈 때 막이 한 번 덮었다 걷히며 바뀌는 연출.↔ 영상의 장면 전환 이름은 motion-menu ⑦ 화면 전환 40 에서 고른다

부드러운 스크롤

Smooth Scroll
"메뉴 누르면 그 칸까지 미끄러지는 거"페이지 안의 링크를 누르면 그 위치까지 툭 튀지 않고 미끄러져 가는 이동.↔ 휠 자체를 무겁게 만드는 라이브러리(관성 스크롤)와는 다르다

흐르는 띠(마키)

Marquee
"글자가 띠처럼 계속 흘러가는 거"글자나 로고가 한 줄 띠에 담겨 끊김 없이 옆으로 흘러가는 연출.↔ 영상 속 겹띠는 motion-menu 「전광판 겹띠」

움직이는 그라데이션

Animated Gradient
"배경 색이 천천히 섞이며 흐르는 거"첫 화면 배경의 색 섞임이 천천히 계속 바뀌는 연출.↔ 영상용 흐르는 그라데이션은 motion-menu 「흐르는 그라데이션」

둥실 떠다니기

Floating Animation
"장식이 위아래로 둥둥 떠 있는 거"작은 장식들이 서로 다른 박자로 천천히 오르내리는 연출.↔ 영상 속 도형 떠다니기는 motion-menu 「떠다니는 도형」
한글영문shadcn에선이렇게 말해도 통해요AI에게 이렇게
로딩 화면 Preloader · "처음에 숫자 올라가다 걷히는 화면" · "페이지 열 때 나오는 로딩 덮개" · "퍼센트 올라가는 첫 화면" 첫 방문에 로딩 화면을 넣어줘. 검은 덮개에 0~100% 숫자와 주황 진행선, 100% 가 되면 0.25초 쉬고 0.6초 동안 위로 걷히게. 실제 로딩이 끝났을 때만 걷히고, 숫자는 role=status.
지연 로딩 Lazy Loading · "화면에 들어온 사진만 불러오는 거" · "스크롤하면 그때 사진이 뜨는 갤러리" · "처음엔 회색이다가 사진이 나타나는 것" 갤러리 이미지를 지연 로딩으로 바꿔줘. img 에 loading="lazy" 와 크기(width·height)를 넣어 자리를 먼저 잡고, 오기 전엔 회색 칸에 빛이 지나가는 무늬, 다 오면 흐림에서 0.5초 동안 또렷해지게.
타이핑 효과 Typewriter Effect · "글자가 한 자씩 써지는 거" · "타자 치듯 나오는 문구" · "써졌다 지워지며 바뀌는 낱말" 첫 화면 문구 「오늘은 ○○」의 ○○ 자리에 타이핑 효과를 넣어줘. 걷기·읽기·쓰기를 한 자에 0.15초로 쓰고 1.3초 멈춘 뒤 0.07초씩 지우기, 깜빡이는 커서 막대. 읽기 프로그램용 aria-label 은 전체 문장으로.
페이지 전환 Page Transition · "페이지 넘어갈 때 막이 덮었다 걷히는 거" · "화면 바뀔 때 부드럽게 넘어가는 효과" · "링크 누르면 와이프되는 전환" 목록에서 상세로 넘어갈 때 페이지 전환을 넣어줘. 검은 막이 아래에서 0.35초에 덮고, 덮인 순간 내용을 바꾸고, 위로 0.35초에 걷히게. 지원 브라우저면 View Transitions API 로, 동작 줄이기면 그냥 바꾸기.
부드러운 스크롤 Smooth Scroll · "메뉴 누르면 그 칸까지 미끄러지는 거" · "맨 위로 버튼 누르면 스르륵 올라가는 것" · "앵커 이동 부드럽게" 상단 메뉴 링크와 「맨 위로」 버튼에 부드러운 스크롤을 넣어줘. scroll-behavior: smooth, 고정 헤더에 가리지 않게 scroll-margin-top 40px. 동작 줄이기면 바로 이동.
흐르는 띠(마키) Marquee · "글자가 띠처럼 계속 흘러가는 거" · "전광판처럼 지나가는 문구" · "끝없이 도는 로고 줄" 「DESIGN · MOTION · CODE · PLAN」을 흐르는 띠로 만들어줘. 같은 내용을 두 번 이어 붙여 14초에 -50% 이동하면 끊김 없이 돌게, 마우스를 올리면 멈추게. 읽기 프로그램엔 한 번만 읽히게.
움직이는 그라데이션 Animated Gradient · "배경 색이 천천히 섞이며 흐르는 거" · "오로라처럼 움직이는 배경" · "살아 있는 그라데이션 배경" 첫 화면 배경에 움직이는 그라데이션을 넣어줘. 복숭아·분홍·하늘·파랑 네 색 linear-gradient 를 300% 크기로 두고 background-position 을 12초에 왕복. 글자 대비는 늘 4.5:1 이상, 동작 줄이기면 멈춘 한 장.
둥실 떠다니기 Floating Animation · "장식이 위아래로 둥둥 떠 있는 거" · "폰 옆 배지가 살랑살랑 움직이는 것" · "숨 쉬듯 떠 있는 아이콘" 폰 목업 옆 배지 셋에 둥실 효과를 넣어줘. 위아래 9px, 3.2초·3.8초·3.2초로 박자를 다르게, 시작점(animation-delay)도 어긋나게. 본문이 아니라 장식에만.

+ 화면 조합 레시피 8 · shadcn

낱개 컴포넌트를 아는 다음 단계, 흔한 화면이 어떤 조합으로 만들어지는지. "조립하지 재발명하지 마라"(shadcn 공식 원칙).

설정 페이지

프로필·알림·계정 같은 설정 화면
TabsCardFieldSwitchButton

Tabs로 섹션 나누고 각 섹션은 Card, 폼은 FieldGroup+Field, 켜고끄기는 Switch

대시보드

지표·차트·목록을 한 화면에
SidebarCardChartTableBadge

왼쪽 Sidebar 고정, 지표는 Card, 추이는 Chart, 목록은 Table, 상태는 Badge

로그인·회원가입

인증 화면
CardFieldInputGroupButtonSeparator

가운데 Card, 입력은 Field, 아이콘 붙은 입력은 InputGroup, 소셜 구분은 Separator

목록 + 상세

항목 클릭하면 상세가 뜨는 화면
TableSheetBadgeButtonDropdownMenu

목록은 Table, 행 클릭시 오른쪽 Sheet 로 상세, 행별 액션은 DropdownMenu

결제·주문

단계별 진행 화면
StepperCardFieldRadioGroupButton

진행은 상단 단계 표시, 각 단계는 Card, 배송/결제 선택은 RadioGroup

확인·경고

삭제·탈퇴 같은 되돌릴 수 없는 액션
AlertDialogButtonAlert

되돌릴 수 없는 액션은 AlertDialog(제목 필수), 인라인 경고는 Alert

빈 화면·로딩

데이터 없거나 불러오는 중
EmptySkeletonSpinner

데이터 없으면 Empty(아이콘+안내+액션), 불러오는 중은 Skeleton, 짧은 대기는 Spinner

검수 리포트

구조와 기능

사전 정본은 menu.json 하나다. 8개 코스(페이지 뼈대·이동/탐색·내용 표시·입력·버튼·알림·작은 표시·상태) 아래 105개 항목이 있고, 항목마다 한/영 정식 명칭, 사람이 실제로 하는 말(별칭), 한 줄 정의, AI에게 그대로 붙여넣는 요청 문장이 붙는다. 데모는 마커로 구분된 프래그먼트 파일에서 생성되는데, 빌드 한 번에 자가완결 HTML 105개·갤러리·llms.txt가 전부 나온다. 빌드 의존성은 0이다.

설치하면 스킬은 네 가지로 동작한다. 통역("위에 눌러서 화면 바뀌는 거"라고 하면 탭 Tabs라는 이름과 다음부터 쓸 요청 문장을 준다), 요청 다듬기([어디에]+[컴포넌트 이름]+[개수]+[세부 조건] 공식으로 두루뭉술한 요청을 재작성한다), 구현(검증된 레퍼런스를 기존 코드 스타일에 맞춰 이식한다), 제안(상황에 맞는 컴포넌트를 근거와 함께 2개 이내로 고른다). "팝업"처럼 헷갈리는 말은 모달·토스트·팝오버의 차이를 비교해 고르게 한다.

하이라이트

가장 값이 나가는 데이터는 별칭 60여 개다. 상상해서 쓴 게 아니라 실제 발화를 수집해 정식 명칭과 일대일로 매핑했다. 데모 105개는 전부 시맨틱 요소 우선으로 짜였다. 모달·드로어·라이트박스는 dialog, 아코디언은 details의 name 속성, 스위치는 checkbox다. focus-visible과 prefers-reduced-motion 같은 접근성 최소선도 전 항목에 들어 있다.

에이전트 채널이 따로 있다. llms.txt(사전)·llms-full.txt(코드 포함)를 URL 하나로 주면 설치 없이도 어떤 AI든 이 사전을 쓴다.

실측

항목 105 · 코스 8 · 데모 105(자가완결·의존성 0) · 라이선스 MIT. 검수 기준 버전 0.3.0, 2026-09-12. 0.3.0에서 헷갈리는 쌍 29곳에 구분 기준 한 줄이 붙었다(독자 피드백 반영, "스르륵 나오는 메뉴"는 드로어·바텀 시트가 겹친다). 자체 제작 스킬이라 저장소 실측(커밋·기여자)은 표기하지 않는다.

가져올 것과 주의

설치가 부담이면 llms.txt만 시스템 프롬프트에 물려도 통역 기능은 동작한다. 주의: 데모는 최소 구현 레퍼런스라 프로덕션에서는 각자의 디자인 토큰으로 이식하는 것이 전제다. 그대로 복붙하는 라이브러리가 아니다.