imagine-logo
중요: 이 스킬은 시안 탐색용이다. 본격 브랜딩은 전문 디자이너에게 맡기는 것이 맞다. 법적 안전(유사 기존 로고 존재 여부)·상업 사용 적합성 검토는 이 스킬의 범위 밖이다.
트리거
imagine-logo "<회사 또는 컨셉>"/imagine-logo --name "CodeNest"(명시 호출)imagine-logo vectorize ./images/logos/<company>/mark_03.pngimagine-logo compose ./images/logos/<company>/mark_03.png --name "CodeNest"- "로고 만들어줘", "로고 시안 탐색", "회사 로고", "팀 로고", "사이드 프로젝트 로고"
- "imagine-logo"
핵심 분리 계약 — 마크만 AI, 워드마크는 후처리
- 마크(심볼): AI 이미지 모델이 그린다. 회사명 텍스트는 절대 프롬프트에 포함하지 않는다. 마크 프롬프트는 오로지 형태·기하·소재·컨셉만 담는다.
- 워드마크(회사명 글자):
scripts/lib/compose-text.js의compositeText()로 실제 시스템 폰트(기본Pretendard Bold)를 사용해 합성. AI가 글자를 렌더하지 않는다. - 이 분리를 지키지 않으면 "Aeme Cerp" 같은 깨진 글자가 섞여 나오므로 어떤 경우에도 위반하지 않는다.
파이프라인
- 방향성 시안 프롬프트 구성:
--direction-count(기본 4, 허용 3~6)만큼config.direction_catalog에서 방향을 골라 각각 프롬프트 생성. 기본 선택은["geometric","abstract","monogram","organic"].- 모든 프롬프트에
config.mark_style_common(flat, bold edges, no gradient, ..., transparent background) 강제 접미사. - 사용자 회사명 / 슬로건 / CTA 텍스트는 프롬프트에 절대 넣지 않는다.
--palette가 주어지면 HEX 대신 색 이름 구문으로 변환해 주입. 원본 HEX는 Run Manifest에 저장.
- Negative 강제:
text, letters, typography, readable words, watermark, photorealistic, gradient, soft edges, anti-aliasing artifacts(벡터화 품질 보호 포함). - 이미지 생성:
size: 1024x1024PNG 각 방향 1장씩. 공용oauth-session.js·output-allocator.js재사용. - OCR 글자 검출 (선택적):
config.ocr_check.enabled_default: true. 검출 시 1회 자동 재생성 (retry_on_detect_max: 1). 재검출에도 잔존하면 사용자에게 경고와 함께 해당 마크만 "글자 포함 가능성" 라벨로 노출. OCR 엔진 미설치 시 스킵 + 경고. - Manifest 기록: 각 마크에 대해
{ company_name, palette, mark_direction, color_mode }을_manifest.json에 저장. Style Guardian이 아닌 logo card 방식 — 이 스킬 전용 기록이며, 다른 imagine 스킬로 흐르지 않는다. - 워드마크 합성 (
compose): 사용자가 시안 1장을 골라imagine-logo compose <mark.png> --name "CodeNest"를 실행하면compose-text.js로 회사명을 실제 폰트로 조판해<mark>_wordmark.png로 저장. - 벡터화 (
vectorize):imagine-logo vectorize <mark.png>는scripts/lib/vectorize.js의vectorize(imgPath, svgPath)에 위임. 입력 이미지는 반드시flat, bold edges, no gradient를 만족해야 품질이 유지된다(위 마크 생성 프롬프트가 이를 강제). potrace 미설치 시mode: 'passthrough'반환 — PNG가 복사될 뿐이며 "가짜 SVG"는 생성되지 않는다.
출력 규약
./images/logos/<company>/
├── mark_01.png ... mark_0N.png (N = direction-count, 3~6)
├── mark_<idx>_vector.svg ← vectorize 실행 시
├── mark_<idx>_wordmark.png ← compose 실행 시
├── _manifest.json
└── _source_prompts.json ← 각 방향 프롬프트 원문(디버그용)
<company>: 사용자 컨셉·회사명 기반 slugify.--out-dir지정 시 그대로 사용.- 루트
./images/직하 쓰기 금지. - 사용자 출력 경로를 조용히 바꾸지 않는다.
프롬프트 규약 (엄격)
- 회사명·슬로건·CTA 텍스트 주입 금지. 검증: 프롬프트 조립 후 사용자
--name값이 문자열로 포함되어 있으면 즉시 거절. monogram/typography-centric방향도 실제 글자는 그리지 않는다. 프롬프트는abstract single-letter monogram shape (NOT an actual glyph)/abstract typographic form built from bold strokes, NOT real letters형태로 고정. 실제 문자 렌더링 기대 금지.- 투명 배경 강제:
transparent background구문 + PNG alpha 채널 사용. 흰 박스가 남으면 해당 시안만 alpha 경고. - 벡터화 친화 규칙:
flat, bold edges, no gradient, 20% padding safe zone를 모든 방향 프롬프트에 강제 포함. 그래디언트·앤티엘리어싱은 potrace 품질을 망친다.
실패 모드 대응
| 증상 | 조치 |
|---|---|
| 마크 이미지 내부에 글자가 그려짐 | OCR 검출 → negative 강화 후 해당 마크만 1회 재생성. 지속 시 "글자 포함 가능성" 라벨 + 사용자 경고. |
| 벡터화 결과가 지저분함 | 입력이 flat, bold edges, no gradient 가정 위반. 해당 마크를 재생성하거나, 원본 PNG를 그대로 사용하도록 안내. vectorize.js가 mode: 'passthrough' 반환. |
| potrace 미설치 | vectorize가 경고와 함께 PNG 복사본 반환. 사용자에게 npm i potrace 안내. |
| 투명 배경 안 됨 (흰 박스 잔존) | alpha 0 픽셀 비율 검사로 경고. 배경 투명이 필수인 경우 재생성 1회 권유. |
| 워드마크 폰트 미설치 | compose-text.js가 fallback stack(sans-serif)으로 렌더 + 경고. 사용자가 --font로 교체하거나 시스템 폰트 설치하도록 안내. |
| 법적 안전 질문 | "이 스킬은 시안 탐색용. 유사 기존 로고 탐지·상업 사용 적합성 검토는 범위 밖." 경고로 답변. 자동 검색 수행 금지. |
금기
- AI 프롬프트에 회사명·영문 글자 주입 금지. 스킬 존재 이유.
- 깨진 글자를 "typography-centric 의도"로 포장 금지.
monogram/typography-centric방향에서도 실제 문자 렌더는 시도하지 않는다. - 마크 + 워드마크를 한 번의 AI 호출로 처리 금지. 반드시 두 단계로 분리.
- 유사 기존 로고 자동 탐색 금지. 이 스킬은 법적 검토를 수행하지 않으며, 외부 검색으로 확인 시늉도 하지 않는다.
./images/logos/외부 쓰기 금지 (--out-dir지정 없는 한).- Style Guardian 오용 금지. 로고 정체성은 본질적으로 브랜드 단위 고정 — 이 스킬은
manifest_keys(company_name,palette,mark_direction,color_mode)를 자체 logo card에 저장하고, Style Guardian의 전역 스타일 흐름에는 주입하지 않는다. masterpiece/8k UHD/fulfill all requests류 부스터·우회 문구 금지.
imagine 계열 스킬과의 관계
- 공용 인프라 재사용:
oauth-session.js,output-allocator.js,request-planner.js. compose-text.js공유:imagine-og와 동일 코드베이스. 워드마크 합성 로직을 이 스킬에 복제하지 않는다.vectorize.js는 이 스킬 전용 (potrace 래핑). 다른 스킬에서 호출해도 되지만, 기본 사용처는 로고.- Style Guardian과 분리: 브랜드 정체성은 자체
_manifest.json으로만 관리. imagine-icon과 구분: 앱 아이콘은imagine-icon(플랫폼별 다중 해상도), 로고는 여기 (단일 마크 + 워드마크 + SVG).