TrendShift 딥다이브 · 2026-07-13 · Daily #10

hallmark 딥다이브
— AI가 만든 티가 나는 UI(‘AI 슬롭’)를 거부하는 디자인 스킬

hallmarkClaude Code·Cursor·Codex 같은 AI 코딩 에이전트가 화면(UI)을 만들 때 "딱 봐도 AI가 뽑았네" 싶은 뻔한 결과물을 거부하도록 가르치는 디자인 규칙집이다. 코드를 실행하는 앱이 아니라, 에이전트의 머릿속에 이식하는 "디자인 취향(taste) 레이어" — 마크다운으로 쓰인 규칙 뭉치다. 브리프(요구사항)에 맞는 거시구조(페이지 골격)를 먼저 고르고, 20종 테마 중 하나를 입히고, 58개 '슬롭 테스트' 관문과 출력 직전 자기비평을 거쳐, 모든 LLM이 학습으로 굳어버린 "기본값"(보라→파랑 그라데이션, Inter 폰트, 3열 아이콘 그리드…)을 밀어낸다. 그래서 서로 다른 브리프로 만든 두 페이지가 "색만 바꾼 같은 템플릿"이 아니라 정말 다른 사이트처럼 느껴진다. (저장소: Nutlope/hallmark · 제작 Together AI(Hassan El Mghari) · v1.1.0 · MIT · 최신 커밋 2026-06-04 · TrendShift 오늘 Daily #10)
목차
  1. 프로젝트 한 줄 요약
  2. 왜 지금 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트
  7. 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한 줄 요약

이름부터 뜯어보기 — Hallmark(품질 각인) = 은·금에 찍는 순도 보증 도장. "이건 AI가 뽑은 게 아니라 사람이 지은 것"이라는 인증

hallmark"AI 코딩 에이전트가 만드는 UI가 'AI스럽지 않게' 보이도록 강제하는 디자인 스킬"이다. 여기서 'hallmark(홀마크)'는 은·금 세공품에 찍는 순도·진품 보증 각인을 뜻한다. 실제로 이 스킬은 완성한 페이지의 CSS 맨 위에 /* Hallmark · macrostructure: … · tone: … */ 같은 "각인(stamp)"을 찍는다 — "이 화면은 (58개 검사를 통과한) 의도적으로 지어진 물건"이라는 도장이다.

배포 방식이 특이하다. npm 패키지처럼 npx skills add nutlope/hallmark 한 줄로 설치하는데, 설치되는 건 실행 코드가 아니라 마크다운 규칙 파일 뭉치다. 이 뭉치가 Claude Code·Cursor·Codex의 "스킬" 폴더에 들어가, 에이전트가 UI를 만들 때마다 참조하는 디자인 헌법이 된다.

한 문장 비유

"실력은 좋은데 취향이 없는 신입 디자이너에게, 깐깐한 아트 디렉터의 체크리스트를 통째로 쥐여주는 것"

요즘 AI 코딩 도구는 손은 엄청나게 빠른데 취향이 밋밋한 신입 같다. 시키면 화면을 뚝딱 만들지만, 늘 비슷하게 생겼다 — 보라색 그라데이션 히어로, Inter 폰트, 가운데 정렬, 3열 카드. 학습 데이터의 "평균값"으로 수렴하기 때문이다.

hallmark은 이 신입 옆에 깐깐한 아트 디렉터를 붙인다. "이 브리프면 페이지 골격부터 다시 골라. 그 폰트 금지. 그 그라데이션 금지. 상호작용 상태 8개 다 만들었어? 지어낸 숫자 넣지 마." — 이런 규칙 58개를 통과해야만 결과를 내놓게 한다. 그래서 "빠른 손"에 "안 뻔한 취향"이 더해진다.

핵심 용어
AI 슬롭 (AI slop)
AI가 대량 생성하는 영혼 없이 비슷비슷한 결과물을 낮잡아 부르는 말. UI 맥락에서는 "어느 LLM에게 시켜도 똑같이 나오는 뻔한 디자인"을 뜻한다 — 보라→파랑 그라데이션, 어디나 Inter 폰트, 화면 꽉 채운 가운데 정렬 히어로, 3열 아이콘 그리드, 지어낸 통계 등. hallmark은 이걸 "모델이 학습으로 굳어버린 기본값(on-distribution default)"으로 규정하고 조직적으로 거부한다.
핵심 용어
스킬 (Skill / SKILL.md)
AI 코딩 에이전트에게 특정 작업 절차·규칙을 마크다운으로 가르치는 확장 패키지. 코드가 아니라 "이럴 땐 이렇게 하라"는 지시서다. hallmark은 skills/hallmark/SKILL.md(558줄)를 진입점으로, 100개가 넘는 references/ 규칙 파일을 필요할 때만 불러 읽는 큰 스킬이다. Claude Code·Cursor·Codex 세 harness를 모두 지원한다.

2왜 지금 주목받는가

TrendShift Daily #10 · "AI가 만든 UI는 왜 다 똑같이 못생겼나"라는 공감대 + 유명 개발자 + Together AI

2026년 현재 개발자 사이에서 가장 피부에 와닿는 불만 중 하나가 "AI한테 시키면 화면은 나오는데, 죄다 똑같이 생겼고 어딘가 싸구려 티가 난다"는 것이다. hallmark은 이 정확한 통증을 겨냥해, "취향을 규칙으로 코드화"한다는 명쾌한 컨셉으로 등장했다. (TrendShift의 굵은 숫자는 별 수가 아니라 사회적 언급 모멘텀이다.)

주목 포인트 1 — 문제 정의가 날카롭다: "시각적 다양성"이 아니라 "구조적 다양성"

대부분의 "예쁘게 만들기" 프롬프트는 색·폰트만 바꾼다. hallmark의 핵심 통찰은 진짜 지루함은 '페이지 골격(macrostructure)'이 늘 똑같은 데서 온다는 것이다. 그래서 색을 고르기 전에 21종 골격(벤토 그리드·긴 문서·마퀴 히어로·통계 주도·선언문…) 중 하나를 먼저 정하고, "직전에 쓴 골격과 다른 걸 써라"는 다양화 규칙까지 건다. "색만 다른 같은 템플릿"을 구조적으로 차단한다.

주목 포인트 2 — 만든 사람과 배경 (Together AI · Hassan El Mghari)

제작자 Hassan El Mghari(@nutlope)는 roomGPT·llama-coder 등 여러 화제의 오픈소스 AI 앱을 만든 유명 개발자이고, 후원은 오픈소스 추론 플랫폼 Together AI다. 저자가 AI Engineer World's Fair 2026에서 한 강연 "Stop letting your agents ship ugly UIs(에이전트가 못생긴 UI를 내보내게 두지 마라)"가 저장소 docs/talk-slides.md에 실려 있어, 프로젝트 자체가 하나의 "선언"으로 읽힌다.

주목 포인트 3 — "취향은 에이전트 스택의 한 레이어다"

강연의 큰 명제는 "Design taste is a layer in the agent stack" — 모델·툴·메모리·RAG·평가(evals)·오케스트레이션과 나란히 취향(TASTE)도 하나의 레이어라는 것이다. hallmark은 이 레이어를 실제로 구현한 오픈소스 예시로 제시된다. "AI 에이전트를 잘 쓰는 법"에 관심 있는 사람들에게 개념적으로 신선하다.

주목 포인트 4 — 도구 중립 + 즉시 설치 가능

특정 도구에 묶이지 않는다. npx skills add nutlope/hallmark 한 줄이면 Claude Code(~/.claude/skills/)·Cursor(.cursor/rules/)·Codex(.codex/skills/)에 바로 꽂힌다. "당장 오늘 내 에이전트에 붙여볼 수 있다"는 진입 장벽의 낮음이 확산을 도왔다. 라이선스도 MIT라 부담이 없다.

3기술 스택 전체 지도

"실행 코드가 거의 없는" 소프트웨어 — 스택의 본체는 마크다운 규칙 + 그 규칙을 스스로 시연하는 정적 사이트

hallmark의 스택을 이해하는 열쇠는 "이건 앱이 아니라 지식(규칙)이다"라는 점이다. 저장소 전체를 세어보면 마크다운 128개(약 11,500줄)가 본체이고, 나머지 HTML/CSS/JS는 전부 "규칙을 실제로 보여주는 전시장(site/)"이다. 빌드 단계도 없다. 스택을 3개 계층으로 나눠 보자.

계층 1 — 규칙 계층 (스킬 본체, 마크다운)

구성역할
skills/hallmark/SKILL.md진입점(558줄). 4개 동사(verb)·6대 공통 규율·9단계 디자인 흐름·게으른 로딩 규칙을 정의. 에이전트가 가장 먼저 통째로 읽는 헌법.
references/ (100+ 파일)주제별 상세 규칙(약 9,591줄). 타이포그래피·색·레이아웃·모션·카피·안티패턴·거시구조 21종·컴포넌트 50종·테마·장르… 필요할 때만 골라 읽는다(§4 게으른 로딩).
references/slop-test.md58개 관문의 체크리스트 + 6축 자기비평. 빌드 맨 마지막에만 로드해 "출고 검사"로 돌린다.
docs/사람이 읽는 문서: recipes.md(9개 브리프→조합 예시), study-examples.md(3개 분석 워크스루), talk-slides.md(저자 강연 전문).

계층 2 — 디자인 산출물이 쓰는 "실제 기술"

스킬이 지시하는 웹 기술들이다. hallmark을 공부하면 이 현대 CSS 스택을 배우게 된다.

기술hallmark에서의 쓰임
OKLCH 색 공간모든 색을 OKLCH로 정의(hex/HSL 금지). 밝기·채도를 사람 눈에 맞게 다뤄 "탁한 회색·형광 사고"를 피한다. 순수 #000/#fff 금지.
디자인 토큰 + Tailwind v4 @theme색·간격·폰트를 이름 있는 토큰으로 잠그고, 렌더 도중 인라인 색 즉흥 삽입 금지. tokens.css를 항상 함께 출력.
DTCG tokens.json · shadcn 변수토큰을 4개 표준 포맷(tokens.css·Tailwind @theme·DTCG tokens.json·shadcn/ui CSS 변수)으로 내보내기(export-formats.md).
@property · 스크롤 구동 애니메이션 · View Transitions API선언적 모션의 최신 CSS 기법. transform/opacity만 애니메이트, 이징 3종만 명명해 사용.
접근성 원칙:focus-visible, prefers-reduced-motion, APCA/WCAG 대비, 44px 터치 타깃, 요소당 상호작용 상태 8개.

계층 3 — 자기 시연용 정적 사이트 (site/)

규칙을 "말"로만 두지 않고 스스로 규칙을 지켜 만든 데모 사이트로 증명한다(도그푸딩). 빌드 도구·프레임워크가 전혀 없다 — 순수 HTML/CSS/JS다.

정적 서빙프레임워크 없음(vercel.json: framework=null, build=null). python3 -m http.serversite/를 그대로 서빙.
site/js/main.js (1,126줄)랜딩의 인터랙션. 테마 맵, T키로 테마 순환, document.startViewTransition(View Transitions API)로 테마 전환, 호버 재생 비디오.
site/_tests/ · examples/서로 다른 브리프로 만든 30여 개 예시 페이지(각각 자기완결 HTML+CSS). 일부엔 스킬이 쓴 .hallmark/log.json(프로젝트 메모리)도 남아 있다.
주의 — 문서 안의 숫자가 서로 조금 안 맞는다
"20 themes / 57 gates" vs "58 gates"

README 산문에는 "twenty themes(20개 테마)"·"fifty-seven slop-test gates(57개 관문)"로 적혀 있지만, 실제 SKILL.mdslop-test.md58개 관문(57 + 게이트 38a 등 추가분)을 정의한다. recipes.md는 또 "21 거시구조 × 16 테마 × 8 강화 = 2,688 지문"이라고 계산해 테마 수(16)가 본문의 20과 다르다. 규칙집이 빠르게 진화하며 생긴 사소한 표기 불일치이니, 정확한 수는 항상 소스 파일 기준으로 볼 것.

4아키텍처 심화 분석

"골격 먼저, 색은 나중" — 9단계 파이프라인 + 게으른 로딩 + 프로젝트 메모리로 매번 다른 결과를 강제

hallmark의 "아키텍처"는 서버 구조가 아니라 에이전트가 UI 하나를 만들 때 밟는 사고 절차다. 기본 동사(그냥 "이런 페이지 만들어줘")가 실행되면 다음 흐름을 탄다.

[브리프: "팟캐스트 랜딩 페이지 만들어줘"] │ ▼ 0 · 사전 스캔(pre-flight) 기존 코드의 폰트·색·간격·프레임워크 6종 신호를 먼저 읽음 │ → .hallmark/preflight.json 에 캐시 ▼ 1 · 디자인 컨텍스트 게이트 반드시 물음: 청중 · 용도 · 톤(극단적으로) │ → 장르 판별(editorial/modern-minimal/atmospheric/playful 4종) ▼ 2 · 거시구조 먼저 고르기 ★ 21종 골격 중 1개 (+ "직전과 다르게" 다양화 규칙) │ 나브 archetype(14종)·푸터(8종)도 여기서 선택 ▼ 2.5 · 프로젝트 메모리 확인 .hallmark/log.json (최근 20개) 읽어 "지난번과 겹치지 마" │ ▼ 2.6 · 테마 경로 catalog(20종 중) · custom(맞춤 팔레트) · studied(study 결과) │ ▼ 3 · 시각 규칙 로드 ┄┄┄┄┄┄ 필요한 references 파일만 골라 읽음 (게으른 로딩) │ typography.md · color.md · layout-and-space.md … ▼ 4 · 히어로 강화 대부분 불필요(tier 0). 필요시 A(CSS)→…→E(Lottie, 최후수단) │ ▼ 5 · 프리뷰 6줄 TL;DR 제시(골격·테마·강화·섹션·모션·슬롭테스트) │ ▼ 6 · 빌드 OKLCH 토큰·4pt 간격·상태 8개·이징 3종, CSS에 "각인" 찍기 │ → .hallmark/log.json 에 이번 선택 append ▼ 7 · 슬롭 테스트 ┄┄┄┄┄┄┄┄ 58개 관문 통과해야 출고 (모든 답이 "no"여야 함) │ ▼ [자기완결 HTML + CSS + tokens.css] ← 골격이 CSS 주석에 각인됨

핵심 설계 패턴 1 — 게으른 로딩(progressive disclosure)으로 컨텍스트 절약

references 파일이 100개가 넘는데 이걸 다 읽으면 에이전트의 컨텍스트가 폭발한다. 그래서 SKILL.md는 "항상 로드 / 목록만 보고 하나 골라 로드 / 빌드마다 로드 / 조건부 로드 / 맨 끝에만 로드"로 파일마다 로딩 시점을 규정한다. 예컨대 거시구조는 슬림 색인(목록)만 먼저 읽고 고른 1개 파일만 펼친다. 슬롭 테스트(58관문)는 7단계에서야 로드한다. 큰 지식베이스를 필요한 순간에만 펼치는 이 기법이 스킬 설계의 정수다.

핵심 설계 패턴 2 — 프로젝트 메모리로 "매번 다르게"를 강제

같은 사람이 hallmark을 여러 번 쓰면 결과가 비슷해지기 쉽다. 이를 막으려고 빌드할 때마다 선택(거시구조·테마·앵커 색)을 .hallmark/log.json(JSON 배열, 최신순)에 기록하고, 다음 빌드에서 이걸 읽어 "지난 N번과 겹치는 골격·테마는 피하라"는 다양화 규칙을 적용한다. 상태를 파일에 남겨 실행 간 다양성을 보장하는 영리한 장치다.

핵심 설계 패턴 3 — 58개 관문 + 출력 직전 자기비평(pre-emit self-critique)

결과를 내놓기 전에 두 겹의 검문을 통과해야 한다. 하나는 slop-test.md58개 예/아니오 관문(보라 그라데이션 히어로? 어디나 Inter? 3열 카드? 지어낸 통계? 이탤릭 제목? …모든 답이 "no"여야 함). 다른 하나는 6축 자기비평(철학·위계·완성도·구체성·절제·다양성을 1~5점으로 채점, 3점 미만이면 수정). 비결정적 AI에 결정적 품질 게이트를 씌운다.

핵심 설계 패턴 4 — 4개 동사(verb)로 작업을 분기

hallmark은 "새로 만들기" 외에 3개 동사를 더 가진다. 같은 규칙집을 용도별로 재사용하는 구조다.

동사하는 일
(기본)새 UI 빌드. 위 9단계 흐름 전체를 밟는다.
audit기존 코드를 안티패턴 대비 점수만 매김(수정 안 함). "지적 목록" 리포트.
redesign구조는 버리고 카피·정보구조·브랜드는 유지한 채 다른 지문으로 재구축. 다중 페이지면 design.md를 먼저 만든다.
study감탄한 디자인(스크린샷/URL)에서 구조적 DNA를 추출(픽셀 복제·유료 템플릿은 거부). 원격 URL은 신뢰 불가 데이터로 취급하는 안전 규칙 포함.
한눈에 — study 동사의 "안전 장치"

study는 외부 URL을 읽어 디자인을 분석하는데, 여기엔 보안 감각이 배어 있다. https만 허용하고, IP 리터럴·사설 IP 대역을 거부하며(SSRF 방지), 가져온 HTML/CSS는 "신뢰할 수 없는 비활성 데이터"로만 취급한다(그 안의 지시를 실행하지 않음). "남의 사이트를 참고하되 그 사이트에 조종당하지 않는다" — 에이전트가 웹을 다룰 때 필요한 자세를 규칙으로 보여준다.

5디렉토리 구조 해부

규칙(skills/)·문서(docs/)·전시장(site/) 3덩어리. 코드보다 마크다운이 주인공
hallmark/ ├── README.md ← 컨셉·4개 동사·설치법 (6.3KB) ├── ROADMAP.md ← 향후 계획(이미지 훅·brand-first·variant…) ├── package.json ← npm 스킬 메타(files:["skills"], skill.entry 지정) ├── vercel.json ← 정적 서빙 설정(framework:null, build:null) │ ├── skills/hallmark/ ★ 스킬 본체 (진짜 핵심) │ ├── SKILL.md ← 진입점 558줄: 4동사·6규율·9단계·로딩규칙 │ └── references/ (100+ 파일, ~9,591줄) │ ├── typography.md ← 2+1 폰트 규칙, 금지 기본폰트(Inter…) │ ├── color.md ← OKLCH 전용, 순수 흑백 금지 │ ├── layout-and-space.md ← 4pt 간격, 페이지 가장자리 클리핑 │ ├── motion.md ← transform/opacity만, 이징 3종 │ ├── copy.md ← 톤별 목소리 샘플, 금지 문구 │ ├── anti-patterns.md ← audit이 잡는 "티(tell)" 목록 (418줄) │ ├── slop-test.md ← 58개 관문 + 6축 자기비평 │ ├── macrostructures.md ← 21종 골격 색인 (+ 낱개 파일 01~21) │ ├── component-cookbook.md ← 50종 컴포넌트(나브14·푸터8·히어로9…) │ ├── components/ (54개) ← 아키타입별 낱개 규칙 │ ├── genres/ (4개) ← editorial/modern-minimal/atmospheric/playful │ ├── themes/ (4개) ← carnival·cobalt·hum·lumen 상세 스펙 │ ├── hero-enrichment.md · custom-craft.md · assets.md · imagery-kit.md │ ├── interaction-and-states.md · microinteractions.md · responsive.md │ ├── custom-theme.md · design-md.md · export-formats.md │ └── verbs/ (audit.md · redesign.md) · study.md · contract.md │ ├── docs/ │ ├── recipes.md ← 9개 브리프 → 어떤 조합을 고르나 (예시) │ ├── study-examples.md ← study 워크스루 3개 │ └── talk-slides.md ← 저자 강연 "Stop shipping ugly UIs" 전문 │ └── site/ ← 규칙을 스스로 지켜 만든 전시장(빌드 없음) ├── index.html · css/ · js/main.js(1,126줄, View Transitions) ├── _tests/ ← 브리프별 예시 빌드 13개 + custom/ + verbs/ └── examples/ ← 완성도 높은 데모 20여 개(각 tokens.css 포함)

구조가 곧 메시지다. 실행 코드(site/js)는 곁가지이고, 저장소의 무게중심은 skills/hallmark/references/의 마크다운 규칙 100여 개에 있다. 이 프로젝트는 "소프트웨어"라기보다 잘 조직된 디자인 지식베이스이며, site/examples/는 그 지식이 실제로 다른 결과를 낳는다는 증거 전시장이다. "말한 대로 만들어 보여준다"는 도그푸딩이 신뢰를 만든다.

6학습 포인트

"디자인 잘하는 법"이 아니라 "AI 에이전트에게 취향을 어떻게 규칙으로 이식하나"를 배운다

이 저장소의 진짜 교육 가치는 두 갈래다 — (A) 프롬프트/스킬 엔지니어링(AI에게 판단을 위임하는 법)과 (B) 현대 웹 디자인 원칙(뻔하지 않은 UI를 만드는 구체 규칙). 기술별로 정리하면:

① 스킬 엔지니어링 — 큰 지식베이스의 게으른 로딩

100개가 넘는 규칙 파일을 "언제 무엇을 읽을지"로 계층화한 로딩 전략은, 컨텍스트 한계 안에서 방대한 지식을 다루는 에이전트 설계의 정석이다. 항상 로드 / 색인 후 선택 / 조건부 / 맨 끝 로드 — 이 progressive disclosure는 자기 프로젝트용 스킬을 쓸 때 그대로 응용할 수 있다.

② 비결정적 AI에 결정적 게이트 씌우기

58개 예/아니오 관문 + 6축 자기채점은 "AI가 알아서 잘하겠지"에 기대지 않고 출고 검사(QA)를 규칙으로 명문화한다. 통과 기준을 이진(모든 답이 "no")으로 못박는 설계는, 평가(eval)·가드레일을 만들 때의 좋은 본보기다.

③ 프로젝트 메모리로 다양성 보장

.hallmark/log.json에 과거 선택을 남겨 "지난번과 겹치지 마"를 강제하는 패턴은, 상태를 파일에 외재화해 실행 간 행동을 제어하는 기법이다. 에이전트에게 "기억"을 주는 가장 단순하고 견고한 방법을 보여준다.

④ OKLCH · 디자인 토큰 · 다중 포맷 내보내기

색을 OKLCH로만 다루고, 모든 값을 이름 있는 토큰으로 잠그고, 이를 tokens.css·Tailwind @theme·DTCG tokens.json·shadcn 변수 4종으로 내보내는 흐름은 디자인 시스템 실무의 축소판이다. "색을 손으로 즉흥 삽입하지 않는다"는 규율만 익혀도 UI 완성도가 올라간다.

⑤ 안티패턴 카탈로그 — "AI스러움"의 정체

anti-patterns.md(418줄)는 "왜 AI가 만든 화면은 티가 나는가"를 명명된 목록으로 해부한다: 보라 그라데이션 히어로, 어디나 Inter, 3열 아이콘 그리드, 카드 속 카드, 그라데이션 제목, 화면 꽉 채운 가운데 히어로, 이탤릭 제목, 지어낸 지표… 이 목록 자체가 디자인 감식안을 기르는 체크리스트다. hallmark 없이도 이 파일만 읽어도 배운다.

⑥ 웹을 다루는 에이전트의 보안 감각

study가 외부 URL을 https만 허용·사설IP 거부·가져온 내용을 비활성 데이터로 취급하는 규칙은, SSRF·프롬프트 인젝션을 규칙 레벨에서 막는 실전 예다. "에이전트가 인터넷에 나갈 때 무엇을 조심해야 하나"를 구체적으로 보여준다.

7시스템 요구사항

하드웨어 요구 없음 — 필요한 건 "지원되는 AI 코딩 에이전트" 하나뿐
목적필요한 것
스킬 설치Node.js/npx 환경 + npx skills add nutlope/hallmark. 또는 SKILL.md+references/를 폴더에 수동 복사.
실제 사용지원 harness 셋 중 하나 — Claude Code(~/.claude/skills/hallmark/) · Cursor(.cursor/rules/hallmark.mdc, frontmatter 제외) · Codex(~/.codex/skills/hallmark/ 또는 프로젝트 .codex/skills/).
데모 사이트 로컬 실행Python만 있으면 됨: npm run serve(내부적으로 python3 -m http.server --directory site 4173). 빌드·설치 과정 없음.
산출물 열람브라우저. 생성되는 페이지는 외부 의존성 없는 자기완결 HTML+CSS라 그대로 열린다.
GPU/메모리전혀 불필요. 무거운 건 에이전트가 호출하는 LLM 쪽이고, hallmark 자체는 텍스트 규칙일 뿐이다.

정리하면 "AI 코딩 도구를 이미 쓰고 있다면 추가 준비물은 사실상 없다". 그게 이 스킬의 진입 장벽이 낮은 이유다. 학습 목적이라면 저장소를 클론해 skills/hallmark/ 마크다운을 읽고, site/examples/를 브라우저로 여는 것만으로 충분하다.

8직접 해볼 수 있는 실습 과제

규칙을 읽기만 하지 말고, 붙여보고·부숴보고·흉내 내보기 — 난이도별
실습 A · 난이도 ★☆☆

내 에이전트에 붙여 같은 브리프 두 번 시키기

npx skills add nutlope/hallmark로 설치한 뒤, 똑같은 브리프("가계부 SaaS 랜딩 만들어줘")를 두 번 시켜보자. .hallmark/log.json이 쌓이며 두 번째가 다른 거시구조·테마로 나오는지 확인 — 프로젝트 메모리의 다양화가 체감된다.

실습 B · 난이도 ★☆☆

내 옛 프로젝트에 audit 돌리기

예전에 AI로 만든 화면에 hallmark audit을 걸어보자. 보라 그라데이션·Inter·3열 카드 같은 "티" 목록이 몇 개나 잡히는지 세어보면, anti-patterns.md가 지적하는 슬롭이 내 코드에 얼마나 있었는지 정면으로 마주하게 된다.

실습 C · 난이도 ★★☆

anti-patterns.md만으로 "슬롭 린터" 만들기

hallmark의 안티패턴 몇 개(순수 #000/#fff, font-family: Inter, 100vh 가운데 히어로, 3열 그리드)를 정규식/CSS 파서로 검출하는 작은 린터를 짜보자. "취향을 코드로 강제"하는 경험 — hallmark의 슬롭 테스트를 축소 재현하는 셈이다.

실습 D · 난이도 ★★☆

나만의 미니 스킬 쓰기 (게으른 로딩 흉내)

좁은 주제(예: "이메일 HTML 작성 규칙")로 SKILL.md + references/ 몇 개를 만들고, "색인만 먼저 읽고 필요한 파일만 펼치는" progressive disclosure 구조를 흉내 내보자. hallmark의 로딩 규칙 섹션이 좋은 골격 참고서다.

실습 E · 난이도 ★★★

study로 좋아하는 사이트의 "DNA" 뽑아 재현

감탄한 사이트 스크린샷에 hallmark study를 걸어 거시구조·타입 페어링 역할·앵커 색 진단을 받고, 그 DNA로 내 브리프를 빌드해보자. "픽셀 복제가 아니라 구조 추출"이 무엇인지, 그리고 유료 템플릿·서명적 작업을 왜 거부하는지 몸으로 익힌다.

9관련 기술 심화 학습 로드맵

"AI 에이전트에 디자인 취향을 입히는 엔지니어"로 가는 4주 코스
주차주제핵심 질문 · 자료
1주차스킬/프롬프트 엔지니어링에이전트에게 절차를 어떻게 글로 못박나. 게으른 로딩·동사 분기·가드레일. → SKILL.md 정독 + references 로딩 규칙.
2주차안티슬롭 디자인 원칙"AI스러움"의 정체와 반례. 거시구조·타이포·색·모션의 구체 규칙. → anti-patterns.md·typography.md·color.md·macrostructures.md.
3주차현대 CSS · 디자인 토큰OKLCH, 4pt 간격, 상태 8개, @property·스크롤 애니메이션·View Transitions, 토큰 4종 내보내기. → export-formats.md·interaction-and-states.md·site/ 코드.
4주차평가·메모리·에이전트 안전슬롭 테스트(eval), 프로젝트 메모리, study의 원격 URL 안전. → slop-test.md·study.md·.hallmark/log.json.
학습 순서 팁
"규칙을 읽는다 → 규칙을 부순 예를 본다 → 규칙을 스스로 쓴다" 순으로

먼저 anti-patterns.mdslop-test.md부터 읽어라 — "무엇이 슬롭인가"를 알아야 나머지 규칙이 왜 있는지 이해된다. 그다음 site/examples/의 서로 다른 페이지들을 나란히 열어 "골격이 다르면 얼마나 달라 보이는지"를 눈으로 확인하라. 마지막으로 작은 나만의 스킬을 써보면, "취향을 규칙으로 옮기는" 이 프로젝트의 핵심 역량이 손에 남는다. 디자인 감각이 없어도 좋다 — 이 레포는 "센스"가 아니라 "센스를 절차로 바꾸는 법"을 가르친다.

비교하며 배우기 — 이웃 프로젝트들

hallmark은 "AI 스킬" 물결의 한 갈래다. emilkowalski/skills·mattpocock/skills는 각각 UI·엔지니어링 노하우를 스킬로 옮긴 사촌이고, github/spec-kit은 같은 발상을 "명세 주도 개발"에 적용했다. 디자인 쪽 무기로는 컴포넌트 라이브러리 shadcn/ui(저자 강연이 "먼저 이걸 쓰라"고 권함)와 Tailwind v4(@theme 토큰)가 hallmark이 전제하는 토대다. 이들을 나란히 보면 "AI에게 무엇을, 어떤 형태로 가르칠 것인가"의 서로 다른 답이 보인다.

10핵심 키워드 사전

문서에 나온 용어를 한눈에
용어
AI 슬롭 (AI slop)
AI가 대량 생성하는 영혼 없이 비슷한 결과물. UI에서는 "어느 LLM에게 시켜도 똑같이 나오는 뻔한 디자인"(보라 그라데이션·Inter·가운데 히어로 등)을 뜻한다.
용어
스킬 (Skill)
AI 코딩 에이전트에게 절차·규칙을 마크다운으로 가르치는 확장. 진입점 SKILL.md + 상세 references/로 구성. Claude Code·Cursor·Codex가 지원.
용어
거시구조 (macrostructure)
페이지의 큰 골격/뼈대. hallmark은 21종(벤토 그리드·긴 문서·마퀴 히어로·통계 주도·선언문·카탈로그…)을 정의하고, 색보다 먼저 고르게 한다. "구조적 다양성"의 핵심.
용어
슬롭 테스트 (slop test)
출고 전 통과해야 하는 58개 예/아니오 관문. 시각·구조·상호작용·타이포·모바일 등 범주별로 "슬롭 여부"를 묻고, 모든 답이 "no"여야 통과.
용어
사전 자기비평 (pre-emit self-critique)
결과를 내놓기 직전, 철학·위계·완성도·구체성·절제·다양성 6축을 1~5점으로 스스로 채점해 3점 미만이면 수정하는 절차. 각인에 점수가 남는다.
용어
게으른 로딩 (progressive disclosure)
100+개 규칙 파일을 한 번에 안 읽고 "필요할 때 필요한 것만" 펼치는 로딩 전략. 컨텍스트 한계 안에서 큰 지식을 다루는 에이전트 설계의 핵심.
용어
프로젝트 메모리 (.hallmark/log.json)
빌드마다 선택(거시구조·테마·앵커 색)을 기록하는 파일. 다음 빌드가 이를 읽어 "지난번과 겹치지 마"를 적용 — 실행 간 다양성을 보장한다.
용어
OKLCH
사람 눈의 밝기 지각에 맞춰 설계된 색 공간(Lightness·Chroma·Hue). hallmark은 색을 OKLCH로만 정의하게 해 탁한 회색·형광 사고를 방지한다.
용어
디자인 토큰 · Tailwind @theme
색·간격·폰트를 이름 있는 변수로 잠그는 방식. hallmark은 토큰을 tokens.css·Tailwind @theme·DTCG tokens.json·shadcn 변수 4종으로 내보낸다.
용어
동사 (verb): audit / redesign / study
기본 "빌드" 외의 3가지 작업 모드. audit=점수만 매김, redesign=구조만 갈아엎기, study=참고 디자인의 구조 DNA 추출(픽셀 복제 거부).
용어
도그푸딩 (dogfooding)
자기 제품을 스스로 써서 증명하기. hallmark의 site/는 hallmark 규칙을 지켜 만든 데모라, "말한 대로 결과가 달라진다"를 눈으로 보여준다.

11참고 링크

공식 소스와 함께 볼 자료
구분링크 / 위치
GitHub 저장소github.com/Nutlope/hallmark
TrendShifttrendshift.io/repositories/33587
라이브 데모usehallmark.com (테마 순환: T키)
설치npx skills add nutlope/hallmark
핵심 파일skills/hallmark/SKILL.md (진입점 558줄)
핵심 파일skills/hallmark/references/slop-test.md (58개 관문)
핵심 파일skills/hallmark/references/anti-patterns.md ("AI스러움" 해부 418줄)
핵심 파일skills/hallmark/references/macrostructures.md (21종 골격)
읽을거리docs/talk-slides.md (저자 강연 "Stop letting your agents ship ugly UIs")
이웃 프로젝트emilkowalski/skills · mattpocock/skills · github/spec-kit · shadcn/ui · Tailwind v4
연관 개념AI 슬롭 · 스킬/프롬프트 엔지니어링 · progressive disclosure · OKLCH · 디자인 토큰 · View Transitions API