Kubai Icons
이 스킬은 완전한 구현체(엔진, 예제 아이콘 세트, 데모 페이지, 자동 검사 스크립트, 정적 내보내기 스크립트)를 제공합니다. 사용자의 역할은 규칙에 따라 새 아이콘을 작성하는 것이지 엔진을 재작성하는 것이 아닙니다.
포함된 내용
PROMPT.md: 모든 디자인 규칙. 각 항목은 필수 요구사항입니다. 작업을 시작하기 전에 전체를 반드시 읽어야 합니다.src/engine.js: 엔진. 색상 추론, 외곽선 마스크, 그라데이션이 있는 두께, 그림자 및 내부 발광 필터, 보간 애니메이션, 색상 팔레트를 포함합니다. 그대로 재사용하고 수정하지 마십시오.src/icons.js: 예제 아이콘. 새 아이콘은 동일한 형식으로 추가합니다.src/app.js,index.html: 데모 페이지.ORDER가 표시할 아이콘과 순서를 결정합니다.scripts/check.mjs: 자동 검사 스크립트. 무인 Chrome에서 정적, 호버, 호버 중간 프레임, 24px, 28px, 모든 팔레트의 스크린샷을 캡처하고 각 페이지의 스크립트 오류를 읽습니다. 임시 파일은 출력 디렉토리에 저장되며 실행 후 자동으로 정리됩니다.scripts/export.mjs: 정적 내보내기. 아이콘을 스크립트 및 스타일시트에 의존하지 않는 독립 실행형 SVG 파일로 렌더링합니다. 팔레트, 강조 색상, 정적 또는 호버 상태를 지정할 수 있습니다.
워크플로우
-
PROMPT.md를 읽습니다. -
전달 형식을 결정합니다. 사용자가 명확히 말하지 않은 경우 먼저 질문합니다:
- 동적(기본값): SVG + JS, 호버 시 형태 변형,
src/engine.js가 페이지에서 실행됩니다. 웹페이지 및 JS를 실행할 수 있는 인터페이스에 적합합니다. - 정적: 독립 실행형
.svg파일, 애니메이션 없음, 디자인 도구, 네이티브 앱, 문서,<img>등 어디서나 사용할 수 있습니다. 사용자가 "이미지 추출", "SVG 파일", "Figma에 넣기", "앱에서 사용" 등을 언급하면 정적을 의미합니다. - 둘 다: 동적으로 만든 후 마지막에 정적 버전을 내보냅니다.
- 동적(기본값): SVG + JS, 호버 시 형태 변형,
-
작업 위치를 결정합니다:
- 새 세트 생성: 이 스킬의
index.html,src/,scripts/를 대상 위치(새 디렉토리 또는 저장소)에 복사하고 해당 복사본에서 작업합니다. 각 파일 시작 부분의 저작권 표시를 유지합니다.PROMPT.md와SKILL.md는 스킬에만 남기고 복사하지 마십시오(LICENSE3조 참조). - 기존 세트에 추가: 해당
src/icons.js에 직접 추가합니다. - kubai-icons 저장소의 오픈소스 아이콘 라이브러리에 기여: 각 아이콘은
icons/아래에 별도 파일로 저장합니다. 형식, 이름, 뱃지는docs/authoring.md를 참조하고, 자동 검사는node tools/check.mjs --only 이름 --with folder,mail,download를 사용합니다. 규칙은 여전히PROMPT.md를 따릅니다. - 정적만 필요한 경우: 작업 디렉토리에 복사하여 아이콘을 그리고, 최종적으로 내보낸 SVG만 사용자에게 전달합니다.
- 새 세트 생성: 이 스킬의
-
제품 코드를 읽고 기능을 나열합니다. 동적 버전의 경우 각 기능에 대해 "객체 + 호버 동작" 한 문장으로 작성합니다. 정적 버전의 경우 객체만 결정하면 됩니다(
PROMPT.md섹션 1). -
각 아이콘을 작성하기 전에
src/icons.js에서 구조가 가장 유사한 예제를 하나 또는 두 개 찾아 읽고(예: 열리는 것은 편지와 달력, 앞판이 잘리는 것은 다운로드와 업로드, 회전하는 것은 기어와 별표), 그들의 작성 방식을 따릅니다. -
src/app.js의ORDER에 이름을 추가합니다. 사용되지 않는 예제는ORDER에 넣지 않으면 표시되지 않습니다. -
자동 검사를 실행하고 새 아이콘과 몇몇 기존 아이콘을 함께 확인합니다:
node scripts/check.mjs --only 새아이콘A,새아이콘B --with 폴더,메일,다운로드스크린샷은
check-out/에 저장됩니다.PROMPT.md섹션 10의 체크리스트를 항목별로 확인합니다. 스크립트에서 오류가 발생하면 먼저 오류를 수정합니다. 반복 동작은frames.png를 확인합니다. 틈새 확인 시--scale 3을 추가합니다. 밝은 강조 색상의 마크 확인 시--accent #F59E0B를 추가하고 모든 아이콘을 동일한 강조 색상으로 변경합니다.--only없이 실행하면 전체 세트를 검사합니다. 정적 버전의 경우rest.png,size-24.png,size-28.png,palettes.png만 확인하면 충분합니다. -
모든 검사를 통과할 때까지 수정한 후, README에 언급된 아이콘 수와 데모 페이지의 각 중단점 열 수를 업데이트합니다(열 수는 전체 아이콘 수를 나눌 수 있어야 하며, 중단점은 추가/제거 가능).
-
정적 버전이 필요한 경우 사용자가 지정한 디렉토리로 내보내고 사용 중인 팔레트를 알려줍니다:
node scripts/export.mjs --only 새아이콘A,새아이콘B --palette 컬러 --out 대상디렉토리--palette는 이름으로 팔레트를 선택합니다(컬러, 블루그레이, 청자켓, 민트, 라벤더, 살구, 블랙).--accent #hex는 모든 아이콘을 하나의 강조 색상으로 변경합니다.--state hover는 호버가 끝난 상태를 내보냅니다.--size는 픽셀 크기를 설정합니다.--pad는 그림자 여백을 추가합니다. 각 아이콘은이름.svg파일로 생성됩니다.
환경
- Node 18 이상 및 Chrome. 브라우저 경로는 환경 변수
CHROME으로 재정의할 수 있습니다. - 모든 검사는 무인 모드로 수행되며, 보이는 창을 열거나 사용 중인 브라우저에 영향을 주지 않습니다.
Copyright (c) 2026 Kubai087. Kubai Icons License에 따라 사용 허가됨; LICENSE 참조.