claude-design
현재 코드베이스(또는 폴더)를 분석해 "디자인 컨텍스트 브리프"(스택/디자인 토큰/컴포넌트/ 라우트/실제 UI 카피/큐레이션된 에셋/레포 링크)를 합성하고, 그걸…
Maximum-craft one-page landing — the wow bar. omd:landing 의 구조 위에 마감(서체 조달·그레인·깊이·색보정·스크롤 타임라인)과 최고급 에셋을 얹고, 랜딩 검사 전 항목 통과를 합격선으로 삼는다. Trigger: '와우', '압도적인', '최고급', '쇼케이스용', 'aphrodite', '데모용 랜딩', '이거 자랑할 거야'.
$ npx -y skills add kwakseongjae/oh-my-design --skill omd-aphrodite --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/omd-aphroditeContext preview
The summary Claude sees to decide when to auto-load this skill.
Maximum-craft one-page landing — the wow bar. omd:landing 의 구조 위에 마감(서체 조달·그레인·깊이·색보정·스크롤 타임라인)과 최고급 에셋을 얹고, 랜딩 검사 전 항목 통과를 합격선으로 삼는다. Trigger: '와우', '압도적인', '최고급', '쇼케이스용', 'aphrodite', '데모용 랜딩', '이거 자랑할 거야'.
name: omd-aphrodite description: "Maximum-craft one-page landing — the wow bar. omd:landing 의 구조 위에 마감(서체 조달·그레인·깊이·색보정·스크롤 타임라인)과 최고급 에셋을 얹고, 랜딩 검사 전 항목 통과를 합격선으로 삼는다. Trigger: '와우', '압도적인', '최고급', '쇼케이스용', 'aphrodite', '데모용 랜딩', '이거 자랑할 거야'." argument-hint: "<브랜드 또는 가상 브랜드 + 톤/업종 + 목적>" user-invocable: true
이 문서가 설치된 디렉터리를 `<omd-aphrodite-skill-root>` 로 둔다. 아래 도구와 reference는 모두 그 디렉터리 안에 함께 설치되며, 현재 프로젝트나 oh-my-design 저장소의 경로로 바꾸지 않는다.
**이 스킬은 `omd:landing` 의 대체가 아니라 그 위의 합격선이다.** 구조(섹션 리듬·에셋 배치·밀도)는 `omd:landing` 과 같은 절차를 그대로 쓴다. 다른 것은 **통과 조건**과 **마감·에셋의 등급**이다. 일상 랜딩은 `omd:landing`, 자랑할 한 장은 이 스킬이다.
밀도만 채운 페이지는 여전히 밋밋했다. 2026-09-03 계측에서 우리 최고 산출물은 디스플레이 서체가 OS 기본이었고 그림자·글래스·마스크·블렌드·3D·클립패스·그레인이 **전부 0**이었다 (`docs/reviews/landing-craft-gap-2026-09-03.md`). 코덱스 LC-1~36 은 **무엇을 어디에 놓는가**만 규정했고 마감 층이 없었다. 그 층이 LC-37~47 이고, 이 스킬은 그것을 강제한다.
| 검사 | 조건 | |---|---| | `omd check landing` | **LI-1~40 전 항목 ok**. 특히 LI-24 화면 잉크 · LI-25 폴드 미디어 · LI-26 미디어 밀도 · LI-27 디스플레이 서체 · LI-28 깊이 · LI-29 메시/그레인 · LI-30 브라우저 기본값 · LI-31 미디어 색보정 · LI-32 alt 구체성 · LI-33 정착 타이밍 · **LI-34 주 미디어 점유율 · LI-35 호버 관문 0 · LI-36 초점비 · LI-37 폴드 ≤5 · LI-38 모션 채널 ≤2 · LI-39 홀드 콘텐츠 · LI-40 여백 덩어리** | | `omd check contrast` | FAIL 0 · no-JS 숨김 0 | | `omd check render` | 1440×900 · 390×844 양쪽 PASS | | `omd-designer-review` | BLOCK 0 — 리뷰어는 **검사기 결과를 보기 전에** 렌더만 보고 먼저 판단한다(§5) | | 페르소나 워크스루 3인 | 마우스 데스크탑 · 한 손 엄지 모바일 · 키보드/호버 없음 — 각자 "입력 없이 본 것" 이 섹션마다 있고 관문에 막힌 곳 0 (§5) |
검사를 못 돌리는 상황(브라우저 없음 등)은 **통과가 아니라 실패**다. 그 사실을 `trace.md` 에 적는다.
`node scripts/omd-setup-detect.mjs` (설치본: `omd setup detect`) 로 지금 쓸 수 있는 이미지·영상 채널을 확인하고 `trace.md` 첫 줄에 적는다. 채널이 바뀌면 결과의 등급이 바뀐다 — 나중에 왜 이 품질이 나왔는지 설명하려면 기록이 필요하다.
(마스크 리빌, 스크롤 연동 변형, SVG 경로 애니메이션, 그레인 셰이더 흉내)이 대안이며, 수상작 상당수가 실제로 이 방식이다. 「영상 없음」을 `trace.md` 에 사유와 함께 남긴다.
omd font inline --list omd font inline --family fraunces --out /tmp/display.css
"렌더 시 네트워크 요청 0" 은 **라이브러리 0 이 아니다.** 라이선스가 허용하는 오픈소스는 minified 소스를 `<script>`/`<style>` 로 인라인한다. 검증된 조합은 `<omd-aphrodite-skill-root>/docs/design-excellence/fx-library/` 에 있다 — 스크롤 안무는 `scroll-gsap/`(GSAP 3.15 + ScrollTrigger, 114.7KB, 라이선스 `lib/LICENSES.md` 인용 필수), CSS 효과는 INDEX.md 의 17종(전부 재배포 가능, 데모 콘솔 에러 0). 예산: 인라인 라이브러리 **≤ 120KB**, 효과 종류 **≤ 7/페이지**. 라이브러리 밖의 효과를 새로 쓰면 같은 구조(README+demo+snippet)로 fx-library 에 편입해 다음 런이 재사용하게 한다.
`omd:landing` §1~2 를 그대로 따르되, 스토리보드에 **개수·크기·마감을 숫자로** 적는다.
어디에 비네트(LC-45), 스크롤 타임라인은 어느 리빌에(LC-40), 스프링 이징은 **한 순간에만**(LC-41).
이미지를 그냥 쓴 페이지다(60점 라운드의 원인). 동사는 `fx-library/scroll-gsap/recipes` 의 레시피 번호로 적는다.
섹션 태그·캡션에 액센트 금지 — 10개 사이트 실측에서 액센트는 CTA 에 산다.
`<omd-aphrodite-skill-root>/docs/design-excellence/storyboard-review.md` v2 의 A(색)·B(구도)·C(효과, C9 크기 락·C10 정직한 K 포함)·**D(사용자: 입력 없이 보이는 것·터치·키보드·첫 5초 문장·관문 0)**·E(자기 표절 시험) 표를 스토리보드에 채워 넣고 판정한다. **FAIL 이 하나라도 있으면 §3·§4 로 가지 않는다.** 빌드 뒤 리뷰는 늦다 — 색·구도·효과 예산은 여기서 잡는다. 판정 결과는 런 디렉터리의 `storyboard-*.md` 끝에 남긴다. 업종 무관: 특정 색·톤이 아니라 역할·빈도·숫자로만 판정한다.
`omd:media` 를 쓰되 이 스킬에서는 아래를 **필수**로 지킨다.
**프롬프트 순서**: 배경·장면 → 피사체 → 핵심 디테일 → 제약 → 용도. `8k`, `ultra detailed`, `masterpiece` 류는 쓰지 않는다 — 약한 컨셉을 보정하지 못하고, 구도·조명이 비면 모델이 AI 기본값(과한 대칭·플라스틱 질감·가짜 보케)으로 채운다.
**조명·렌즈를 말로 지정한다**: 소프트박스/림라이트/렘브란트/골든아워 백라이트 같은 세팅 이름과 85mm·50mm·35mm·24mm 의 성격을 프롬프트에 넣는다. 이것이 "스튜디오에서 찍은 것 같다"와 "AI 그림"을 가른다.
**일관성은 스타일 접미사로만 잡는다.** 우리 이미지 채널(grok `image_gen`, Codex `$imagegen`)에는 **시드 파라미터가 없다**(조사로 확인). 그래서 한 세트의 모든 프롬프트 끝에 **토씨 하나 바꾸지 않은** 공통 블록을 붙인다 — 브랜드 팔레트 hex + 조명 성격 + 재질 어휘 + 그레인/필름 표현. Recraft 키가 있으면 참조 1~10장으로 `style_id` 를 만들어 쓰는 쪽이 더 강하다.
**회피 문구를 넣는다**: plastic/waxy texture, perfect symmetry, generic AI aesthetic, oversaturated, fake bokeh. 긍정 지시로 바꿔 적는 편이 더 잘 듣는다 — film grain, off-center framing, imperfect surface.
**비율은 슬롯에서 가져온다**(`omd:media` §1). 기본값 16:9 로 뽑아 놓고 잘라 넣지 않는다.
**영상(채널이 있을 때)**: 클립당 카메라 이동 **1개만**, 피사체 움직임은 최소. 시작·끝 프레임이 거의 같아야 루프 이음새가 안 보인다. 6초 무음 `loop` `muted` `playsinline`, `prefers-reduced-motion` 에서는 같은 프레임의 정지 이미지로 대체하고 `poster` 를 채운다.
인라인만 쓴다. 렌더 시 네트워크 요청 금지 — 라이브러리는 §1.5 정책대로 소스를 인라인한다(출처·라이선스를 trace 에).
`opacity: .05~.15` + `mix-blend-mode: overlay`. 넓은 단색·그래디언트 면마다 얹는다.
Give your AI coding agent a design system. One command installs 500+ quality-graded company DESIGN.md references + skills into Claude Code, Codex, Cursor, and OpenCode. Free, MIT, zero AI calls.
Repo: kwakseongjae/oh-my-design
현재 코드베이스(또는 폴더)를 분석해 "디자인 컨텍스트 브리프"(스택/디자인 토큰/컴포넌트/ 라우트/실제 UI 카피/큐레이션된 에셋/레포 링크)를 합성하고, 그걸…
Reference catalog authoring compatibility gate. Core v2 cutover가 끝나기 전에는 신규 legacy DESIGN.md…
프로젝트 DESIGN.md를 UI/시각 작업의 brand context로 적용. 컴포넌트·색상·폰트·레이아웃 수정 같은 구체적 요청과 톤·분위기 표현 — KR '좀 더…
사용자 product UI 생성 시 placeholder 자리를 generic SVG가 아닌 **실제 free-license CDN 자산**으로 채운다.…
One-prompt autonomous product design and implementation. Use automatically for broad…
Reference batch writer compatibility gate during the DESIGN.md Core v2 catalog cutover.