Install any skill in seconds. Free to start, no credit card required.
Get Started Free →디자인 시스템에 맞는 로고를 생성합니다. 프로젝트의 토큰(색·타이포·형태 언어)과 브랜드 보이스를 먼저 읽어 생성 프롬프트에 반영하므로, 만들어진 로고가 브랜드와 어긋나지 않습니다. 로고는 히어로·OG 이미지와 달리 작아도 보이고 컬러·흑백·단색으로 변형되어야 하므로 벡터/심볼 접근으로 다룹니다. 다음과 같은 요청 시 사용하세요: - "로고 만들어 줘", "브랜드 마크 디자인" - "워드마크", "레터마크", "심볼 로고" - "앱 아이콘 만들어 줘", "파비콘 디자인" - "로고 컨셉 몇 개 뽑아 줘", "로고 아이디어" - "기존 로고 다른 스타일로", "로고 리디자인" 이미지 생성 실행·모델 선택·비용 고지는 moai-media:media-higgsfield-core 계약에 위임하고, 이 스킬은 "무엇을 만들지"(로고 타입·브랜드 정합·제약)까지만 정합니다. 로고는 recraft_v4_1 벡터 계열로 생성합니다. 브랜드 비주얼(히어로·OG·목업)은 design-brand-vis
.claude/skills/modu-ai-design-logo/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 113% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 222% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 158% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 85% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 65% | 0% |
> moai-designer | 브랜드 컨텍스트 → 로고 타입 → 제약 → 생성 위임 → 정합 검증 (생성 실행: moai-media)
로고는 브랜드의 가장 작고 가장 오래 쓰이는 자산이다. 히어로 이미지와 달리 16px 파비콘에서 빌보드까지 모든 크기에서 읽혀야 하고, 컬러·흑백·단색으로 변형되어야 한다. 그래서 로고는 래스터 비주얼이 아니라 벡터/심볼로 접근한다.
이 스킬은 생성 전에 프로젝트의 브랜드 컨텍스트(토큰·보이스)를 읽고, 로고 타입을 선택한 뒤, 그 값을 recraft 벡터 프롬프트 제약으로 바꾸어 생성으로 넘긴다.
moai-media:media-higgsfield-core 계약에 위임한다(§5 생성 위임). 모델은 recraft_v4_1 벡터 계열이지만, 라이브 파라미터 조회·비용·폴링은 전부 위임처가 한다.로고, 브랜드 마크, 워드마크, 레터마크, 모노그램, 심볼, 로고타입, 픽토그램, 앱 아이콘, 파비콘, 로고 컨셉, 로고 아이디어, 로고 리디자인, 엠블럼, 콤비네이션 마크, 애브스트랙트 마크
| 파일 | 언제 | |---|---| | references/logo-types.md | 로고 타입 7종 분류와 "어떤 타입을 고를까" 선택 가이드 | | references/logo-craft.md | recraft_v4_1 프롬프트 크래프트 · 디자이너 용어 사전 · R1/R3 적용 | | references/logo-principles.md | 로고 5원칙 · 스케일러빌리티 · 변형 시스템 · 정합 검증 체크리스트 |
생성 프롬프트를 쓰기 전에 프로젝트의 진실원을 찾아 읽는다. 우선순위:
DESIGN.md 또는 그에 준하는 브랜드 아이덴티티 문서없으면 없는 대로 진행하되, 토큰 근거 없이 색을 지어내지 않는다. 근거가 없다는 사실을 결과에 명시한다.
사용자 요청과 브랜드 성격으로 로고 타입을 정한다 (references/logo-types.md의 선택 가이드 참조):
| 타입 | 어울릴 때 | |---|---| | 워드마크 | 이름이 짧·인지도가 있거나 이름 자체가 차별점 | | 레터마크 | 이름이 길거나 두문어가 이미 익숙 | | 심볼/픽토그램 | 보편적 형상이 브랜드와 연결될 때 | | 애브스트랙트 | 구체 형상 없이 독자적 기하학적 마크 | | 마스코트 | 캐릭터가 브랜드 인격 | | 콤비네이션 | 심볼+워드마크 둘 다 필요 | | 엠블럼 | 전통·공식·기관 이미지 |
사용자가 타입을 명시하지 않았고 브랜드 맥락만으로 정해지지 않으면, blocker로 2~3개 후보를 올려 오케스트레이터가 확인하게 한다. 한 번에 탐색하려면 콤비네이션으로 여러 컨셉을 count 병렬 생성하는 것도 유효하다.
읽은 브랜드 컨텍스트를 recraft 프롬프트 제약으로 바꾼다. 이 변환이 이 스킬의 핵심 산출이다.
| 브랜드 항목 | 프롬프트 제약 | |---|---| | 팔레트 | 정확한 색을 hex로 명시, 그 밖의 색조 금지 | | 타이포 | 워드마크/레터마크면 폰트 성격(serif/sans/script/mono) | | 형태 언어 | 각진/둥근, 기하학적/유기적 | | 무드 | 차분한/대담한/따뜻한/장난기 | | 금지 규칙 | 부정이 아니라 긍정 서술로 변환(→ 코어 R1) |
금지 규칙 변환 주의: "그라디언트 쓰지 마"를 그대로 넣으면 모델이 그라디언트에 주목한다. "flat solid fills only"처럼 원하는 것을 서술한다.
로고는 텍스트가 핵심인 경우가 많으니 R3(리터럴 텍스트는 따옴표 + 폰트 지정) 가 특히 중요하다 — 워드마크 "GLOW"는 "the word 'GLOW' in a geometric sans-serif" 처럼.
선택한 로고 타입과 제약으로 recraft_v4_1 프롬프트를 조립한다 (references/logo-craft.md):
contained mark, horizontal lockup, lettermark, negative space cutout, monoline style, serif letterforms. 일상어("예쁜 로고")는 의도를 흐린다.로고 탐색 단계면 count: 4로 여러 컨셉을 병렬 생성하는 것이 효과적이다.
조립한 프롬프트와 제약을 moai-media:media-higgsfield-core 계약에 넘긴다. 모델(recraft_v4_1) 선택·라이브 파라미터 조회(models_explore)·비용 프리플라이트(get_cost)·폴링(job_status)은 전부 그쪽이 한다.
> moai-media 미설치 시: 완성된 프롬프트를 텍스트로 출력하고 Higgsfield 웹(https://higgsfield.ai)에서 recraft 모델로 직접 생성하도록 안내한다. stock 이미지·래스터 아이콘·CSS 그라디언트로 대체 금지.
받은 로고를 로고 특유의 기준으로 점검한다 (references/logo-principles.md):
어긋나면 제약을 강화해 재생성한다. 어긋난 로고를 "대체로 맞다"고 넘기지 않는다 — 로고는 근사치를 허용하지 않는 종류의 기준이다.
## 로고 결과
- 로고 타입: [워드마크 | 심볼 | 콤비네이션 | ...] · 컨셉 수: [N]
- 참조한 브랜드 컨텍스트: [읽은 파일 경로] (없으면 "근거 없음" 명시)
- 적용 제약: [팔레트 hex / 타이포 / 형태 언어 / 무드]
- 생성 위임: moai-media:media-higgsfield-core (recraft_v4_1)
- 결과 URL: [생성 결과들]
- 정합 점검: [통과 | 어긋난 항목과 조치]
- 권장 변형 산출: [컬러 / 흑백 / 단색 실루엣 / 앱 아이콘]| 스킬 | 시점 | |---|---| | moai-media:media-higgsfield-core | 위임: 생성 실행·비용·모델 | | moai-media:media-higgsfield-image | 인접: recraft 프롬프트 크래프트 SSOT | | moai-designer:design-brand-visual | 형제: 히어로·OG·목업 비주얼 | | moai-designer:design-brand-system | 선행: 브랜드 디자인 시스템 정의 | | moai-designer:design-slop-check | 후속: AI 슬롭 점검 |
moai-media:media-higgsfield-core 라이브 계약.references/logo-types.md, references/logo-principles.md 각 파일에 명시.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | pass→pass | 12,498 | 20,230 | +62% | 1 | 1 | 0% | 2,158 | 5,132 | +138% | 0 | 0 | — |
case-22 | pass→pass | 10,538 | 9,632 | -9% | 1 | 1 | 0% | 884 | 4,285 | +385% | 0 | 0 | — |
case-23 | pass→pass | 12,355 | 21,827 | +77% | 1 | 1 | 0% | 1,201 | 5,282 | +340% | 0 | 0 | — |
case-05 | fail→pass | 14,586 | 11,757 | -19% | 1 | 1 | 0% | 1,772 | 3,779 | +113% | 0 | 0 | — |
case-11 | fail→pass | 9,625 | 22,956 | +139% | 1 | 1 | 0% | 1,711 | 5,515 | +222% | 0 | 0 | — |
case-12 | fail→pass | 16,561 | 12,202 | -26% | 1 | 1 | 0% | 1,782 | 4,595 | +158% | 0 | 0 | — |
case-01 | fail→pass | 21,494 | 29,751 | +38% | 1 | 1 | 0% | 3,419 | 6,320 | +85% | 0 | 0 | — |
case-02 | fail→fail | 22,727 | 9,642 | -58% | 1 | 1 | 0% | 3,142 | 2,953 | -6% | 0 | 0 | — |
case-03 | fail→pass | 21,439 | 26,239 | +22% | 1 | 1 | 0% | 3,675 | 6,047 | +65% | 0 | 0 | — |
case-04 | fail→fail | 23,774 | 26,925 | +13% | 1 | 1 | 0% | 5,219 | 7,203 | +38% | 0 | 0 | — |
case-06 | fail→pass | 2,335 | 16,394 | +602% | 1 | 1 | 0% | 311 | 4,279 | +1276% | 0 | 0 | — |
case-07 | fail→pass | 10,665 | 23,482 | +120% | 1 | 1 | 0% | 1,699 | 5,117 | +201% | 0 | 0 | — |
case-08 | pass→pass | 13,864 | 12,204 | -12% | 1 | 1 | 0% | 2,124 | 4,731 | +123% | 0 | 0 | — |
case-09 | pass→fail | 27,113 | 17,023 | -37% | 1 | 1 | 0% | 3,465 | 5,368 | +55% | 0 | 0 | — |
case-10 | pass→pass | 20,278 | 14,249 | -30% | 1 | 1 | 0% | 2,543 | 5,228 | +106% | 0 | 0 | — |
case-14 | pass→pass | 16,457 | 18,557 | +13% | 1 | 1 | 0% | 1,791 | 4,882 | +173% | 0 | 0 | — |
case-15 | pass→pass | 19,637 | 21,339 | +9% | 1 | 1 | 0% | 2,303 | 5,120 | +122% | 0 | 0 | — |
case-16 | pass→pass | 16,677 | 16,707 | +0% | 1 | 1 | 0% | 2,082 | 4,611 | +121% | 0 | 0 | — |
case-17 | fail→fail | 13,435 | 15,656 | +17% | 1 | 1 | 0% | 2,191 | 5,208 | +138% | 0 | 0 | — |
case-18 | fail→pass | 23,015 | 13,719 | -40% | 1 | 1 | 0% | 2,559 | 5,031 | +97% | 0 | 0 | — |
case-19 | pass→pass | 12,791 | 13,912 | +9% | 1 | 1 | 0% | 1,258 | 4,157 | +230% | 0 | 0 | — |
case-20 | pass→pass | 24,368 | 22,366 | -8% | 1 | 1 | 0% | 3,164 | 5,563 | +76% | 0 | 0 | — |
case-21 | pass→pass | 16,427 | 18,304 | +11% | 1 | 1 | 0% | 1,896 | 4,726 | +149% | 0 | 0 | — |
case-24 | pass→pass | 8,575 | 22,035 | +157% | 1 | 1 | 0% | 1,365 | 5,292 | +288% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 23 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +29 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.