ui-ux-pro-max (nextlevelbuilder/ui-ux-pro-max-skill)
22개 스택에 맞춰 스타일, 팔레트, 폰트, UX 규칙, 차트에 대한 UI/UX 지침과 로컬 디자인 데이터를 제공합니다.
ui-ux-pro-max: 모든 실행에서 디자인 시스템 스크립트를 실행하지만, 블라인드 평가한 페이지는 더 낫지 않고(대조군 4.0, 한 문장 3.9, 스킬 4.0) 토큰을 1.4배 사용합니다.
Codex CLI · gpt-6-astra
20.9 / 30
스킬 없이 대비 향상폭: -0.04 · 상황에 따라 · 18회 실행
상황에 따라: 총점 20.9/30이 22점 미만, 향상폭 -0.04가 +1.0 미만. 추천이 되려면 총점 22/30, 출력 품질 3.5, 향상폭 +1.0이 필요합니다.
SOTA
통과Codex로 테스트
커버 대상 Codex, Claude Code
Codex CLI 0.166 (SOTA 티어): 채점된 실행 18회. 여기서 통과하면 티어 규칙에 따라 Claude Code도 커버되지만, 두 번째 티어에 대해서는 아무것도 말해주지 않습니다.
점수
각 차원은 0~5점이며 여섯 차원을 더하면 30점 만점의 총점이 됩니다. 모든 차원에서 5가 가장 좋습니다. 비용 5는 저렴하고 빠름, 설치 5는 쉬움을 뜻합니다.
- 트리거 신뢰도
- 5.0
- 스킬 없이 대비 향상폭
- 2.0
- 출력 품질
- 4.0
- 토큰 및 시간 비용
- 3.0
- 설치 및 이식성
- 3.0
- 안전성
- 4.0
보안 리뷰
안전정적 스캔: CRITICAL 0 / HIGH 3 / MEDIUM 3. 수동 검토: 네트워크가 차단된 샌드박스에서 실행 안전(스캐너 지적 사항은 설명됨). 스캔이 깨끗하다고 해서 스킬이 안전하다는 증거는 아닙니다.
설치
npx skills@latest add nextlevelbuilder/ui-ux-pro-max-skill --skill ui-ux-pro-max
고정 커밋: 3a13158ff1f32156cbe144108de48eda2ecaed9a
테스트일: 2026-11-02
테스트한 과제
- 브리프로 만드는 새 랜딩 페이지 — 세 가지 맛, $14/박스, 매월 배송으로 구독 판매하는 소량 생산 김 스낵 브랜드 Tidepool의 원페이지 랜딩 사이트를 만드세요. 인라인 CSS를 사용한 자기 완결형 index.html 하나를 작성하고, 필요한 경우에만 최소한의 JS를 넣으세요. 프레임워크와 빌드 과정 없이 작성하세요…
- 데이터 밀도가 높은 대시보드 UI — 지자체 수질 모니터링 팀을 위한 대시보드 페이지를 만드세요. 6개 관측소의 현재 수치(pH, 탁도, 염소, 수온), 각 관측소의 7일 추세, 경고 패널을 포함합니다. 인라인 CSS/JS와 하드코딩된 판독값을 사용한 자기 완결형 dashboard.html 하나로…
- 기존의 밋밋한 페이지를 새로 구성 — old.html은 Granite Peak Climbing Gym(Boulder, CO)의 현재 홈페이지입니다. 이를 new.html로 리디자인하세요. 실제 콘텐츠(가격, 수업, 운영 시간, 주소)는 모두 유지하되, 이 특정 짐에 어울리는 페이지처럼 보이게 하세요. 자기 완결형 HTML/CSS, 프레임워크 없이 작성하세요…
장점
- 스킬 이름을 언급하지 않았는데도 적용되었습니다. 스킬 사용군 실행 6/6회에서 스킬 파일을 읽었습니다.
단점
- 스킬 없이보다 측정 가능한 향상 없음(-0.04, 노이즈 범위 안).
- 한 문장 프롬프트는 3.92점, 스킬 사용은 3.96점(+0.04).
- 테스트 참고: 스킬의 디자인 시스템 스크립트는 스킬 사용군 실행 6/6회에서 실행됐지만, 블라인드 콘택트 시트에서는 눈에 띄는 향상이 없었습니다.
- 과제·그룹당 n=2이며, 약 1점 미만의 차이는 노이즈입니다.
리뷰
Codex CLI 0.166 (gpt-6-astra, low reasoning)을 전용 Windows 테스트 PC에서 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬 설치(스킬 사용군), 미설치(대조군), 미설치 상태에서 스킬의 핵심 요구사항만 한 문장으로 압축해 프롬프트에 덧붙인 경우(한 문장 프롬프트군)로 나눴으며, 과제·그룹당 2회씩 실행했습니다. 네트워크는 끄고 /tmp 쓰기는 차단했습니다. 프롬프트에는 스킬 이름을 언급하지 않았습니다(아래에 적은 경우 제외). 과제 세 가지에 모든 그룹이 같은 프롬프트를 사용했습니다. 가상 스낵 구독 브랜드(Tidepool)의 랜딩 페이지와 지자체 수질 모니터링 네트워크의 관리자 대시보드를 만들고, 평범한 클라이밍 짐 홈페이지(old.html)를 모든 콘텐츠를 유지한 채 새로 디자인합니다. 한 문장 프롬프트군에는 스킬의 우선순위(대비 4.5:1, 44 px 타깃, 모바일 우선, SVG 아이콘, 타입 스케일, 모션 최소화)를 나열한 문장 하나를 추가했습니다. 페이지는 오프라인에서 스크린샷(데스크톱·모바일)을 찍고, 조건 라벨 없이 섞은 콘택트 시트로 블라인드 채점했습니다.
3개 그룹 비교
| 그룹 | 평균 점수 (0-5) | 실행당 토큰 |
|---|---|---|
| 스킬 없음 | 4.0 | 116k |
| 한 문장 프롬프트 | 3.92 | 123k |
| 스킬 사용 | 3.96 | 160k |
Codex CLI에서 18회 실행해 측정했고, LLM 심사 없이 규칙 기반 검사로 채점했습니다. 총점 20.9 / 30, 판정 상황에 따라.
참고: 스킬의 디자인 시스템 스크립트는 스킬 사용 6/6회에서 실행됐지만, 블라인드 콘택트 시트에서는 눈에 띄는 향상이 없었습니다.
판정: 상황에 따라 다름 (20.9 / 30). 출처: nextlevelbuilder/ui-ux-pro-max-skill, .claude/skills/ui-ux-pro-max, 커밋 3a13158에 고정. 설치: npx skills@latest add nextlevelbuilder/ui-ux-pro-max-skill --skill ui-ux-pro-max. 라이선스: MIT(저장소 LICENSE).
무엇인가
ui-ux-pro-max 스킬(nextlevelbuilder/ui-ux-pro-max-skill)은 UI/UX 디자인 지식 베이스입니다. 번들 CSV 데이터(스타일, 팔레트, 서체 조합, 제품 유형 규칙, UX 지침) 위에서 동작하는 로컬 Python 검색 도구(scripts/search.py)를 갖추고 있습니다. 주요 흐름은 제품에 맞는 '디자인 시스템' 추천을 생성하고(--design-system -p <name>), 그에 맞춰 UI를 만드는 것이며, 우선순위가 정해진 규칙 집합(접근성, 터치 타깃, 반응형, 모션)을 따릅니다.
테스트 방법
전용 Windows 테스트 PC에서 Codex CLI 0.166(gpt-6-astra, 낮은 추론)을 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬을 설치한 경우(스킬 사용군), 설치하지 않은 경우(대조군), 스킬 없이 스킬의 핵심 요구사항을 한 문장으로 압축해 프롬프트 끝에 붙인 경우(한 문장 프롬프트군)로 나눴고, 작업마다 각 군 2회씩 실행했습니다. 네트워크는 끄고 /tmp 쓰기는 차단했습니다. 프롬프트에는 스킬 이름을 전혀 언급하지 않았습니다(아래에 적은 표현은 예외).
작업은 세 가지이며 모든 군에 같은 프롬프트를 썼습니다. 가상의 스낵 구독 브랜드(Tidepool) 랜딩 페이지, 지방자치단체 수질 관측망용 관리자 대시보드, 콘텐츠를 모두 유지한 채 밋밋한 클라이밍 짐 홈페이지(old.html)를 재디자인하는 작업입니다. 한 문장 프롬프트 군은 스킬의 우선순위(대비 4.5:1, 44 px 타깃, 모바일 우선, SVG 아이콘, 타입 스케일, 모션 줄이기)를 나열한 문장을 하나 추가합니다. 페이지는 오프라인에서 스크린샷(데스크톱·모바일)을 찍고, 조건 라벨 없이 순서를 섞은 콘택트 시트로 블라인드 채점했습니다.
- 브리프로 새 랜딩 페이지 만들기 — 소량 생산 김 스낵 브랜드 Tidepool의 원페이지 랜딩 사이트를 만드세요. 구독으로 판매하며(맛 3종, 상자당 $14, 매월 배송) 합니다. 인라인 CSS를 사용한 자체 완결형 index.html 하나를 작성하고, 필요한 경우에만 최소한의 JS를 쓰세요. 프레임워크와 빌드 도구는 사용하지 마세요…
- 데이터 밀도 높은 대시보드 UI — 지방자치단체 수질 모니터링 팀을 위한 대시보드 페이지를 만드세요. 6개 관측소의 현재 수치(pH, 탁도, 염소, 수온), 각 관측소의 7일 추세, 경보 패널이 포함되어야 합니다. 인라인 CSS/JS와 하드코딩된 판독값으로 구성된 자체 완결형 dashboard.html 하나를 작성하세요.
- 기존의 밋밋한 페이지 재구성 — old.html은 Granite Peak Climbing Gym(콜로라도주 볼더)의 현재 홈페이지입니다. 실제 콘텐츠(요금, 수업, 운영 시간, 주소)는 모두 유지하면서 이 특정 암장에 어울리는 페이지로 new.html을 새로 디자인하세요. 프레임워크 없이 자체 완결형 HTML/CSS로 작성하세요…
점수는 Grok Bot이 고정 루브릭에 따라 블라인드로 읽고 매긴 것입니다(아이디를 섞고 조건은 표시하지 않음). 실행당 0~5점이며 AI 심사자이므로 작은 차이는 노이즈로 보세요.
결과
세 번째 군에 전달한 한 문장 프롬프트: "UI/UX 모범 사례를 우선순위대로 따르세요: 접근성 우선(4.5:1 대비, 대체 텍스트, 보이는 포커스 링, 라벨), 최소 44 px 터치 타깃과 8 px 간격, viewport 메타를 포함하고 가로 스크롤이 없는 모바일 우선 반응형 레이아웃, SVG 아이콘(이모지 금지)을 쓰는 제품에 맞는 스타일, 일관된 타입 스케일(16 px 기준, 1.5 줄 높이)과 시맨틱 색상 토큰, prefers-reduced-motion을 존중하는 모션."
| 작업 | 대조군 점수 | 한 문장 프롬프트 | 스킬 사용 | 대조군 토큰 | 한 문장 프롬프트 토큰 | 스킬 사용 토큰 | 스킬 읽음 |
|---|---|---|---|---|---|---|---|
| t1-landing | 4.12 | 3.75 | 4.12 | 125k | 96k | 152k | 2/2 |
| t2-dashboard | 3.88 | 3.88 | 3.75 | 124k | 123k | 147k | 2/2 |
| t3-redesign | 4.0 | 4.12 | 4.0 | 99k | 149k | 179k | 2/2 |
평균 점수: 스킬 없음 4.0, 스킬 사용 3.96(차이 -0.04). 실행당 토큰: 116k 대 160k(1.37배), 시간: 186초 대 184초. 한 문장 프롬프트 군: 3.92(한 문장 프롬프트 대비 스킬의 이득 +0.04, 스킬 없음 대비 한 문장 프롬프트의 이득 -0.08). 한 문장 프롬프트의 실행당 토큰은 123k이므로 스킬은 한 문장 프롬프트의 1.30배 비용을 씁니다.
무슨 일이 있었나
- 눈에 보이는 품질 차이는 없습니다. 블라인드 평균은 대조군 4.00, 한 문장 3.92, 스킬 3.96(각 n=6). 작업별로 군 간 차이는 최대 0.25점으로, 셀당 2회 실행으로 구분할 수 있는 범위 아래입니다. 18장 모두 다듬어져 있고 반응형이며 비슷한 모습(크림색 또는 연한 초록색 바탕, 짙은 초록 포인트, 세리프 디스플레이 서체)을 공유합니다.
- 스킬은 실제로 사용되었습니다. 스킬 사용 실행 6회 모두 SKILL.md를 읽고
search.py --design-system을 실행했습니다(예: 'snack subscription playful coastal'). 스크립트는 Windows의 시스템 Python에서 작동합니다. - 접근성 기본은 순수 Codex 산출물에서도 이미 표준입니다. viewport 메타, @media 쿼리, 포커스 스타일은 18/18 페이지에 있었고 prefers-reduced-motion은 17/18에 있었습니다(빠진 하나는 대조군 대시보드). 따라서 스킬의 접근성 우선 규칙이 더할 것이 거의 없었습니다.
- 비용: 실행당 스킬 160k 토큰으로 대조군 116k, 한 문장 123k(1.4배, 1.3배)입니다. 실제 소요 시간은 같았습니다(약 185초). 스킬 사용 실행은 스킬 폴더를 프로젝트(.agents)로 복사했고, 추가 토큰이 여기서 나옵니다.
- 검사 하나가 오작동했습니다. '가격 유지($22/$79/$720)' 검사가 대조군과 스킬 군의 재디자인 실행 6회 중 4회에서 실패했는데, 해당 페이지들이 달러 기호를 별도
<sup>요소에 썼기 때문입니다(<sup>$</sup>79). 스크린샷에서는 가격이 온전합니다. 이 검사는 점수에 반영되지 않습니다.
항목별 점수
| 항목 | 점수 | 근거 |
|---|---|---|
| 1. 출력 품질 | 3.96 | 스킬 사용 시 평균 3.96/5(프로그램 검사, 작업별 표 참조). |
| 2. 스킬 없음 대비 향상 | 1.96 | 스킬 없음 4.00 대비 -0.04점(작업당 n=2, 약 1점 미만은 노이즈). |
| 3. 트리거 | 5.0 | 스킬 사용군 6/6회 실행에서 스킬 파일을 읽었습니다. |
| 4. 지침 이식성 | 3 | SKILL.md, references 폴더, CSV 데이터가 포함된 Python 스크립트. 검색 스크립트는 Python 3만 필요합니다. |
| 5. 효율성 | 3 | 토큰 1.37배(실행당 160k 대 116k), 시간 0.99배(184초 대 186초). |
| 6. 안전성·위생 | 4 | 스캐너 CRITICAL 0 / HIGH 3 / MEDIUM 3, 모두 무해합니다(터미널 색상 환경 변수, subprocess/eval은 단위 테스트에만 사용). |
이 테스트의 한계
- 리뷰어가 전체 페이지 콘택트 시트(페이지당 데스크톱 600 px 너비, 모바일 300 px)를 보고 블라인드로 시각 평가했습니다. 0.25 차이는 심사자 노이즈 범위입니다. 페이지를 전체 해상도로 또는 상호작용하며 비교하지는 않았습니다.
- 셀당 n=2, 작업 3개뿐. 긴 다중 페이지 제품에서의 스킬 가치는 다루지 않았습니다.
- 스킬의 데이터 기반 추천(팔레트와 폰트 조합)은 오프라인에서 웹 폰트를 불러올 수 없어, 페이지가 시스템 폰트로 대체되어 타이포그래피 선택이 드러나지 않습니다.
- 작업·군당 n = 2: 약 1점 미만의 차이는 노이즈입니다.
- 블라인드 AI 평가: 심사자가 하나이고 평가자 간 검증이 없습니다. 최초의 대조군·스킬 사용군 실행과 나중의 한 문장 프롬프트 실행을 별도 세션에서 평가했으므로(한 문장은 2026-11-02), 세션 간 편차가 생길 수 있습니다.
보안
security.md를 참조하세요. 스캔: CRITICAL 0 / HIGH 3 / MEDIUM 3. 판정: 실행해도 안전(네트워크 차단 샌드박스). 깨끗한 스캔 결과가 스킬의 안전성을 증명하지는 않습니다.
결론
유능한 기본 모델이면 페이지는 이미 좋습니다. 이 스킬은 디자인 시스템 추천 단계를 더하지만 여기서 측정 가능한 품질 향상은 없으며 토큰은 1.4배 듭니다. 기대되는 품질 업그레이드가 아니라 아이디어 생성기나 체크리스트로 쓰세요.
트랜스크립트
실행 로그: ui-ux-pro-max (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.) 열: 작업, 그룹-회차, 점수(0-5), 토큰, 초, 통과한 검사, 에이전트가 연 스킬 파일. t1-landing control-1: 점수 4.25, 토큰 123829, 초 182.9, 검사 5/5, 연 파일 없음 t1-landing control-2: 점수 4.0, 토큰 126682, 초 204.0, 검사 5/5, 연 파일 없음 t1-landing oneliner-1: 점수 3.75, 토큰 108982, 초 162.5, 검사 5/5, 연 파일 없음 t1-landing oneliner-2: 점수 3.75, 토큰 83600, 초 165.0, 검사 5/5, 연 파일 없음 t1-landing treatment-1: 점수 4.25, 토큰 121048, 초 155.5, 검사 5/5, 연 파일 ui-ux-pro-max t1-landing treatment-2: 점수 4.0, 토큰 184353, 초 178.8, 검사 5/5, 연 파일 ui-ux-pro-max t2-dashboard control-1: 점수 4.0, 토큰 138942, 초 215.4, 검사 5/5, 연 파일 없음 t2-dashboard control-2: 점수 3.75, 토큰 109416, 초 178.3, 검사 4/5, 연 파일 없음 t2-dashboard oneliner-1: 점수 3.75, 토큰 132667, 초 205.9, 검사 5/5, 연 파일 없음
18회 실행, 아티팩트 3개
샘플 출력
SOTA · With the skill: index.html (t1-landing, run 1, Codex)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="theme-color" content="#f7f3e7"> <meta name="description" content="Meet Tidepool: small-batch seaweed snacks in three big-hearted flavours. Find your favourite and make it a monthly ritual for $14 a box."> <title>Tidepool — A little ocean. A lot of crunch.</title> <style> :root{--paper:#f7f3e7;--ink:#183e47;--yellow:#f6d975;--green:#b6cab0;--pink:#eaa78f;--line:#183e4733}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button,input{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible+span{outline:3px solid var(--ink);outline-offset:5px}.skip{position:absolute;top:-100px;left:20px;background:var(--paper);padding:10px;z-index:5}.skip:focus{top:10px}.announcement{background:var(--ink);color:var(--paper);text-align:center;font-size:11px;letter-spacing:1.8px;padding:9px 16px;text-transform:uppercase}header{max-width:1370px;margin:auto;padding:21px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-family:Georgia,serif;font-weight:900;font-size:38px;letter-spacing:-2px;text-decoration:none;line-height:1}.logo small{font-family:Arial,sans-serif;font-size:10px;letter-spacing:0;vertical-align:top;display:inline-block;margin:5px 0 0 3px}nav{display:flex;gap:32px;align-items:center;font-size:13px}nav a{text-decoration:none}nav a:hover{text-decoration:underline;text-underline-offset:5px}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 25px;border-radius:40px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font-size:14px;font-weight:bold;cursor:pointer;transition:background .2s,transform .2s}.pill:hover{background:#2d5960;transform:translateY(-2px)}nav .pill{padding:10px 20px}.hero{max-width:1370px;margin:auto;display:grid;grid-template-columns:1fr 1.1fr;min-height:640px;padding:60px 5% 55px;gap:30px;align-items:center}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px;text-transform:uppercase;margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-3.5px;line-height:1.02}h1{font-size:clamp(64px,6.2vw,90px);margin-bottom:24px}h1 em{font-weight:normal} .intro{max-width:350px;font-size:16px;line-height:1.75;margin-bottom:28px}.fine{font-size:12px;margin:13px 0 0}.hero-art{position:relative;min-width:0}.hero-art svg{display:block;width:100%;height:auto;overflow:visible}.art-note{text-align:center;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin:0}.ticker{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--yellow);display:flex;justify-content:space-evenly;gap:20px;padding:17px 20px;font-size:11px;font-weight:bold;letter-spacing:1.6px;text-transform:uppercase}.ticker span:before{content:'✳';font-size:20px;ver [... excerpt: first 3200 of 17993 characters]