Communitygithub.com

Inspiration Art Direction — 실제 레퍼런스로 사이트와 덱 만들기

실제 레퍼런스 사이트와 샷을 바탕으로 웹사이트, 랜딩, 앱 화면, 덱을 아트 디렉션하고 구축합니다. 정말 좋아하는 레이아웃·타이포·색·모션 패턴을 뽑아 픽셀 복사 없이 개인 사이트에 적용합니다.

Inspiration Art Direction — 실제 레퍼런스로 사이트와 덱 만들기란 무엇인가요?

「개인 웹사이트」 레시피 2단계(진짜 취향으로 다듬기). 출처는 huseyingayiran/inspiration-skills. 좋아하는 레퍼런스를 가리키면 구조·타이포 스케일·색·모션 규칙을 뽑고, 그 취향으로 개인 사이트·랜딩·덱을 아트 디렉션합니다. 게으른 클론 금지 규칙과 빌드 전 셋업 체크 포함.

지원 대상✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/huseyingayiran/inspiration-skills/tree/HEAD/skills/inspiration-art-direction

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

인스퍼레이션 아트 디렉션

브리프를 세심하게 고려된 페이지로 전환합니다. 인스퍼레이션 라이브러리에서 실제 레퍼런스를 활용하여 기본값 대신 사용합니다. 실행 시 사용자 프로젝트에 세 가지 결과물이 생성됩니다:

  • .inspiration/references.md: 스펙 시트 (5~8개의 참조된 레퍼런스, 각 레퍼런스가 제공하는 내용)
  • .inspiration/direction.md: 디자인 방향, 모든 결정 사항이 특정 스펙으로 추적됨
  • 빌드 결과물과 .inspiration-out/ 디렉토리 내 스크린샷 및 인스펙터 보고서. 프로젝트에 .gitignore가 있는 경우, 첫 번째 쓰기 작업 전에 .inspiration-out/을 추가합니다.

사용 시기

  • "랜딩 페이지 디자인", "이 사이트에 스타일 입히기", "히어로 섹션은 어떻게 보여야 할까", "레퍼런스를 찾아서 빌드해줘", "이 덱을 아트 디렉션 해줘"와 같은 요청
  • 사용자가 빌드 전에 서면 방향을 원하거나, 출력물이 평범하거나 템플릿처럼 보이거나 "AI가 만든 것 같다"며 프리미엄, 에디토리얼, 대담하거나 독특한 느낌을 원할 때
  • 단순 레퍼런스 조회(인스퍼레이션-레퍼런스 사용), 팔레트 및 타이포그래피 키트만 필요한 경우(인스퍼레이션-브랜드-키트 사용), 또는 시각적 디자인 질문이 없는 코드 변경(CSS 버그 수정, 리팩토링)에는 사용하지 않습니다.

엄격한 규칙

  1. 정확성. 실제로 열어본 이미지(get_image 또는 image_url 폴백)에서 본 내용만 설명하세요. 제목, why 문자열, 패싯은 단서일 뿐 증거가 아닙니다. 직접 보지 않은 레퍼런스는 절대 인용하지 마세요.
  2. 절대 복사 금지. 원칙을 취하되 픽셀을 복사하지 마세요. 레이아웃을 통째로 가져오지 말고, 레퍼런스의 카피, 이미지, 일러스트레이션, 로고 또는 라이선스가 있는 서체를 절대 재사용하지 마세요. 각 스펙은 무엇을 남겼는지 명시해야 합니다.
  3. 예산. 약 12회의 계량된 도구 호출을 계획하세요(아래 예산 참조). 오류가 발생한 호출을 포함하여 모든 계량 호출 횟수를 계산하세요. 배치: get_image는 최대 6개의 id, get_inspiration은 리스트를 받습니다.
  4. 보드는 옵트인. 사용자가 요청하지 않는 한 save_to_board, create_board 또는 add_to_board를 절대 호출하지 마세요.
  5. 명명. 소스를 "인스퍼레이션 라이브러리" 또는 "VASA.Works의 Inspiration"이라고 부르세요. 항목을 https://inspiration.vasa.works/item/<id> 및 도구가 반환하는 image_url 값으로 연결하세요. 항목의 출처로 타사 사이트를 절대 연결하지 마세요. 글꼴 파운드리 또는 라이선스 페이지 및 보드 URL은 괜찮습니다.

0단계: 설정 확인

search_inspiration이라는 도구가 서버 접두사(mcp__plugin_inspiration_inspiration__ (Claude Code 플러그인 설치용), mcp__inspiration__, mcp__Inspiration__, 커넥터 이름 또는 접두사 없음)로 사용 가능한지 확인하세요. 호스트가 도구를 지연(deferred) 상태로 나열하는 경우, 호스트의 도구 검색을 통해 로드하는 것은 사용 가능한 것으로 간주됩니다. 이 스킬의 도구는 접두사 없이 명명됩니다.

  • 사용 가능: 계속 진행합니다.
  • 누락: references/setup.md를 읽고 사용자에게 해당 클라이언트에 대한 단일 설정 단계를 한 번만 알려줍니다. 그런 다음, 사용자가 먼저 연결하겠다고 하지 않는 한 아래 "라이브러리 없이" 모드로 계속 진행합니다.
  • {"error": "subscription_required"}를 반환하는 호출은 서버가 연결되었지만 로그인되지 않았음을 의미합니다: references/setup.md에서 로그인 단계를 알려줍니다.

1단계: 브리프 및 주제 인벤토리

검색하기 전에 (저장소 또는 대화에서 추론할 수 없는 것만 물어보고) 다음을 기록하세요:

  • 정의: 한 문장으로 된 제품 또는 주제, 그리고 방문자가 반드시 이해해야 할 한 가지.
  • 대상: 누구인지, 이미 알고 있는 것, 신뢰하게 만들 요소.
  • 포함해야 할 콘텐츠: 실제 헤드라인, 증거(사용자가 실제로 가지고 있는 숫자, 로고, 인용문), 사용 가능한 제품 비주얼, CTA, 법적 또는 가격 콘텐츠. 목록을 작성하세요; 이 내용이 섹션을 결정합니다.
  • 제약 사항: 스택, 기존 컴포넌트, 브랜드 자산(로고, 색상, 라이선스가 있는 글꼴), 접근성 요구 사항, 마감일, 라이트/다크 선호도.
  • 기존 브랜드? .inspiration/brand-kit.md 또는 .inspiration/tokens.css가 존재하는 경우, 이를 기존 브랜드로 취급합니다. 기존 브랜드가 있다면, 방향은 이를 대체하지 않고 확장해야 합니다. 브랜드와 일치하는 website-styles 슬러그(온-브랜드 랭킹을 위한 brand 매개변수)를 기록하세요.
  • 페이지 구성: 페이지에 필요한 순서가 있는 섹션 (예: 히어로, 로고, 기능, 작동 방식, 가격, FAQ, CTA, 푸터). 주장을 전달하는 2~4개 섹션을 표시하세요; 해당 섹션은 별도로 검색합니다.

프롬프트에 콘텐츠가 전혀 없는 경우(증거, 가격 또는 비주얼이 없는 한 줄짜리) 질문을 멈추지 말고 브리프에서 누락된 항목을 명확하게 표시된 플레이스홀더로 나열하고 계속 진행하세요.

이 내용을 .inspiration/direction.md의 첫 번째 블록으로 작성하여 사용자가 초기에 수정할 수 있도록 하세요.

2단계: 리서치 계획

references/research.md에서 페이지 유형별 쿼리 레시피, 필터 예제 및 예산 테이블을 읽으세요. 기본 계획:

#호출계량목적
alist_facets(category="website-sections")아니오subtype, style, mood, layout, typography를 위한 실제 어휘
b1~2회 무드 검색예전반적인 느낌, 카테고리 전체 (no category or website-sections)
c2~3회 섹션 검색예핵심 섹션별 1회, category="website-sections", filters={"subtype": ["hero"]} 등
d1회 교차 카테고리 검색예질감: fonts, website-styles, branding 또는 editorial-print, 브리프에 가장 필요한 것
e선택 사항 1회 similar_items(id), 첫 get_image 배치 후예실제로 본 가장 강력한 후보에서 확장 및 다양화; 첫 번째 배치에 이미 범위가 있으면 건너뛰기
f2회 get_image([...6 ids])예최종 후보 목록 확인
g1회 get_inspiration([kept ids])예유지된 세트의 팔레트 헥스 코드, 타이포그래피 노트, 전체 설명
h선택 사항 analyze_palette 또는 generate_palette예팔레트 확인 또는 확장

이는 711회의 계량 호출(bh)이므로 약 12회의 예산은 한 번의 재시도를 위한 여유를 남깁니다. 사용자가 Pro라고 말하면 섹션 검색이나 세 번째 이미지 배치를 추가할 수 있지만, 유지되는 세트는 5~8개로 유지됩니다.

검색 위생:

  • 쿼리는 보이는 것을 설명하는 구문으로 작성: "좋은 히어로"가 아닌 "과장된 세리프 헤드라인과 제품 스크린샷이 있는 어두운 히어로"
  • 통제된 값은 filters에 배치 (키 간 AND, 키 내에서 any-of). 필터가 표현할 수 없는 것은 쿼리에 남겨둡니다.
  • 이미 본 id는 exclude_ids로 전달하여 이후 검색에서 반복되지 않도록 합니다. diversify는 켜 둡니다.
  • 결과가 0개이면 suggestions를 반환: 제안 중 하나로 한 번 재시도한 후 계속 진행합니다.
  • list_facets가 오류를 반환하면 references/research.md에 나열된 일반적인 값(특히 subtype)을 filters에 계속 사용합니다; 해당 검색이 0개의 결과를 반환하는 경우에만 필터를 제거합니다.

검색 결과에서 최대 12개 id의 후보 목록을 작성합니다. 하나의 스타일에 12개 버전이 아닌, 다양한 구조와 무드를 위해 선택합니다.

3단계: 확인 및 최종 선정

  1. 호출당 최대 6개 후보 id로 get_image를 호출하고, 최대 2회 호출합니다. 응답은 매니페스트(order, errors)로 시작합니다. 각 이미지를 해당 순서로 id에 매핑하고 errors에 나열된 id는 제외합니다. 두 배치 사이에 선택적으로 본 가장 강력한 이미지(2단계, e행)에 대해 similar_items를 실행하고 최고 선택을 두 번째 배치에 넣습니다. get_image가 실패하면, references/library-rules.md의 이미지 폴백(공개 image_url, 계량 호출 없음)을 통해 후보를 확인합니다.
  2. 각 이미지를 제대로 살펴봅니다: 구조, 타이포그래피(분류, 크기 대비, 케이스, 자간), 색상 필드와 악센트, 밀도, 이미지, 독특한 움직임 하나.
  3. 5~8개를 유지합니다. 모든 유지된 레퍼런스는 역할(무드, 히어로, 명명된 섹션, 타이포그래피, 팔레트 또는 질감)을 얻어야 합니다. 중복과 구체적으로 말할 수 없는 것은 제거합니다.
  4. 유지된 id(리스트)로 get_inspiration을 한 번 호출하여 팔레트 헥스와 타이포그래피 노트를 얻습니다. 그 텍스트를 보조 세부 정보로 취급합니다; 차이가 있을 경우 자신의 관찰이 우선합니다. 오류가 발생하면 재시도하지 마십시오: 연 이미지에서 헥스를 샘플링하고(예: magick <n>.png -resize 200x200 -colors 6 -format %c histogram:info:- (ImageMagick 필요); 없으면 본 것을 기반으로 추정하고 그렇게 명시), 시트에 헥스가 샘플링되었다고 명시하고 픽셀에서 타이포그래피를 판단합니다.

4단계: 스펙 시트

references/specimen-sheet.md의 정확한 형식을 사용하여 .inspiration/references.md를 작성합니다. 각 유지된 레퍼런스에 대해:

  • id, 제목, 역할, 링크 https://inspiration.vasa.works/item/<id>, 그리고 image_url.
  • 확인된 사실: 구체적으로 볼 수 있는 2~4개의 사실.
  • 차용할 점: 빌려오는 원칙. 다른 주제에도 적용될 수 있도록 설명.
  • 남겨둘 점: 의도적으로 사용하지 않는 것 (레이아웃, 카피, 이미지, 브랜드 마크, 서체, 이 브리프에 부적합한 모든 것).
  • 적용 방법: 이 페이지에서 원칙이 구체적으로 어떻게 구현되는지.

세트의 공통점과 해결해야 할 하나의 긴장감을 한 줄로 설명하며 시트를 마무리합니다.

5단계: 방향

스펙에서 방향을 도출하세요. 미리 정해진 스타일을 적용하지 마세요. 다음 제목으로 .inspiration/direction.md를 작성하고(브리프 블록 뒤), 각 결정 사항 뒤에 대괄호 안에 스펙 id를 인용하세요:

  1. 컨셉 라인. 디자이너가 논쟁할 수 있는 한 문장, 예: "대시보드가 아닌 필드 가이드".
  2. 안티-목표. 이 페이지가 절대 닮지 말아야 할 3~5가지 (당신이 달리 만들었을 일반적인 기본값 포함: 중앙 정렬 히어로, 보라색 그라데이션, 세 개의 아이콘 카드 등, 브리프에 도움이 되지 않는 경우).
  3. 타이포그래피 시스템. 패밀리와 역할(디스플레이, 본문, UI, 선택적 모노), 1440px 및 390px 너비에서의 px 단위 크기 척도, 행간, 자간, 케이스. 프로젝트가 합법적으로 로드할 수 있는 글꼴 사용(오픈 라이선스 패밀리 또는 사용자의 라이선스 글꼴). 라이브러리 글꼴 항목은 분류와 페어링을 알려줍니다; 라이선스를 부여하지는 않습니다. 예산이 허락하면 글꼴 id에 대한 suggest_pairing이 도움이 됩니다.
  4. 팔레트. 역할(배경, 표면, 텍스트, 흐린 텍스트, 악센트, 상태 색상)이 있는 헥스 코드와 각 텍스트 쌍의 대비. 선택적으로 analyze_palette(hexes) 또는 generate_palette(color)를 실행하여 램프를 생성합니다.
  5. 레이아웃 및 그리드. 컬럼 수, 최대 콘텐츠 너비, 거터, 섹션 간격 리듬, 정렬 규칙, 중단점.
  6. 섹션. 순서가 있는 페이지, 각 섹션의 역할, 인벤토리에서 가져오는 콘텐츠, 참조하는 스펙.
  7. 이미지 및 그래픽. 어떤 비주얼이 존재하는지, 무엇을 만들 것인지(다이어그램, 크롭, 일러스트레이션 스타일), 피해야 할 것.
  8. 모션. 이해를 돕는 위치, 지속 시간과 이징, 축소 모션 대체. 기본값은 적게.
  9. 시그니처 디테일. 스펙에서 비롯되어 재해석된, 기억에 남고 구축 가능한 하나의 움직임. 복사가 아닌 재해석.

짧은 메시지로 사용자에게 컨셉 라인, 안티-목표 및 시그니처 디테일을 보여줍니다. 사용자가 반대하거나 먼저 승인을 요청하지 않는 한 계속 진행합니다.

6단계: 빌드

  • 프로젝트의 스택과 컴포넌트를 사용합니다. 프로젝트가 없으면 인라인 CSS(및 최소한의 JS)로 정적 index.html 하나를 빌드합니다.
  • 토큰부터 시작: 방향의 타이포그래피 척도, 간격, 색상 및 반경에 대한 CSS 사용자 정의 속성. 그런 다음 페이지 순서로 섹션.
  • 인벤토리의 실제 콘텐츠. 콘텐츠가 없는 경우 명확하게 표시된 플레이스홀더를 사용합니다. 고객 로고, 사용 후기, 지표 또는 상을 실제로 있는 것처럼 절대 만들어내지 마세요.
  • 시맨틱 HTML: 하나의 h1, 순서가 있는 제목, 모든 의미 있는 이미지에 alt, 보이는 포커스 상태, 입력에 레이블.
  • 모바일과 데스크톱을 함께 빌드합니다; 마지막이 아니라 진행하면서 390px 너비를 확인합니다.

7단계: 확인 및 수정 루프

references/critique.md에서 평가 기준을 읽으세요. 그런 다음 최대 3라운드 동안:

  1. 렌더링. 이 스킬의 폴더(SKILL.md가 있는 폴더)에서 인스펙터를 실행합니다: node <skill-folder>/scripts/inspect.mjs <url-or-html-path> --out .inspiration-out/round-<n> 이 명령은 page-1440.png, page-390.png 및 report.json(사용된 글꼴, 텍스트 및 배경색, 제목 크기, 행 길이, 오버플로, 누락된 alt, 저대비 샘플)을 작성합니다. Playwright가 없으면 한 줄 수정 사항(npx -y -p [email protected] node <skill-folder>/scripts/inspect.mjs ...)을 출력합니다. 호스트에 자체 브라우저 또는 스크린샷 도구가 있어도 괜찮습니다.
  2. 확인. 스크린샷을 열고 보고서를 읽습니다. 각 섹션을 참조하는 스펙과 비교하고 전체 페이지를 컨셉 라인 및 안티-목표와 비교합니다.
  3. 평가. 각 평가 기준 항목을 0~2점으로 평가하고 가장 눈에 띄는 순서대로 가장 큰 문제 3가지를 나열합니다. 둘 다 .inspiration/direction.md의 "Round " 아래에 작성합니다.
  4. 수정. 해당 3가지 문제를 수정한 후 다시 렌더링합니다.

모든 평가 기준 항목이 2점, 3라운드 후, 또는 라운드에서 실질적인 변경 사항이 없을 때 중지합니다. 브라우저를 전혀 실행할 수 없는 경우 코드를 평가 기준과 비교하여 검토하고, 사용자가 제공할 수 있으면 스크린샷을 요청하며 시각적 확인이 수행되지 않았음을 명확히 말합니다.

8단계: 인계

사용자에게 간략하게 알립니다:

  • 빌드된 내용과 위치, 컨셉 라인.
  • 사용된 레퍼런스: id, 제목, 링크 https://inspiration.vasa.works/item/<id>, 각각이 기여한 한 가지.
  • 마지막 인스펙터 라운드에서 여전히 지적하는 사항 (있는 경우).
  • 실행에 사용된 계량 호출의 대략적인 횟수와 건너뛰거나 저하된 단계(서버 오류, image_url 폴백, 할당량).
  • 제안: "이 레퍼런스들을 Inspiration 보드에 저장할까요?" 라고 묻습니다. '예'인 경우에만 save_to_board(title, ids=[...])를 호출하고 반환된 보드 URL을 공유합니다.

할당량 및 오류

도구가 오류, quota_exhausted 또는 capped를 반환하는 경우 처음으로 references/library-rules.md를 읽으세요. 간단히: quota_exhausted는 모든 계량 호출을 중지하고(https://inspiration.vasa.works/pricing 링크, 가진 것으로 마무리), capped는 더 이상 페이지가 없음을 의미하며, subscription_required는 로그인을 의미하고(0단계), 두 개의 다른 도구에서 동일한 서버 오류는 저하된 모드를 의미합니다. 오류가 발생한 호출도 예산에 포함됩니다.

라이브러리 없이

MCP가 연결되지 않았을 때(설정 단계를 한 번 제공한 후) 사용자가 먼저 연결을 요청하지 않은 경우:

  • 한 번 명확히 말합니다: "Inspiration 라이브러리 없이 계속 진행하므로, 이 방향은 레퍼런스에 기반하지 않습니다."
  • 2~4단계를 건너뜁니다. 레퍼런스 id, 제목, 링크 또는 설명을 만들지 말고, 특정 레퍼런스에서 비롯된 외관이라고 주장하지 마세요.
  • 브리프만으로 .inspiration/direction.md를 작성하고 상단에 "사용된 레퍼런스 없음"이라고 표시합니다. 안티-목표와 시그니처 디테일을 유지합니다.

(번역됨 - Huseyin Gayiran의 inspiration-skills)

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬