Communitygithub.com

CSS to SVG Converter

CSS 아이콘 클래스를 고품질 SVG로 변환하는 AI 에이전트 및 결정적 CLI 도구입니다.

CSS to SVG Converter란 무엇인가요?

CSS to SVG Converter는 CSS 아이콘 클래스 선언을 고품질 SVG 파일로 변환하는 전문 도구입니다. 스크린샷이나 레이아웃 추론 없이 CSS 선택자와 의사 요소 규칙을 직접 읽어 결정적으로 변환하므로, 정확하고 재현 가능한 결과를 보장합니다. Claude Code, Cursor, Codex 등 다양한 AI 에이전트 플랫폼에서 사용할 수 있으며, Node.js CLI로 제공됩니다. 워크플로우는 단일 아이콘으로 변환을 테스트하고, 보고서를 검토한 후 브라우저 렌더링 CSS와 비교 승인하는 단계를 따릅니다. 지원하는 CSS 속성으로는 절대 위치 의사 요소, currentColor, 선형 그레이디언트, clip-path, 변형, 테두리 등이 있으며, 변환기는 16×16 viewBox, 투명 배경, currentColor를 기본 출력으로 생성합니다. 중요한 점은 이 도구가 '수동 검토' 상태나 경고가 발생할 경우 SVG를 브라우저 CSS와 반드시 비교하도록 요구하며, 공식 자산을 자동으로 대체하지 못하게 하는 안전장치를 갖추고 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add GitRuozhi/CSS-to-SVG-Converter

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

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

문서

CSS to SVG Converter은(는) 무엇을 하나요?

번들된 Node CLI를 사용하여 선택한 CSS 아이콘 클래스를 SVG 후보로 변환합니다. 변환기는 CSS 선언과 의사 요소 규칙을 직접 읽으며, 스크린샷에서 기하학을 유추하지 않으며 layout2vector에 의존하지 않습니다.

워크플로우

  1. 아이콘이 포함된 CSS 파일과 정확한 .icon-name 선택자를 식별합니다. 프로젝트의 전역 리셋/기초 CSS가 루트 지오메트리를 정의하는 경우 이를 포함합니다. 단, * 규칙이 의사 요소의 box-sizing을 변경한다고 가정하지 마십시오.

  2. 먼저 하나의 아이콘에 대해 변환기를 실행합니다.

    node scripts/convert-icons.mjs `
      --css "D:\Coding\VisualStandards\css\foundations.css" `
      --css "D:\Coding\VisualStandards\css\components-icon-basic.css" `
      --icon plus `
      --output "Temp\plus.svg" `
      --report "Temp\plus.report.json"
    

    수정자 상태의 경우, 의미론적 아이콘 이름은 유지하고 상태를 별도로 전달합니다.

    node scripts/convert-icons.mjs `
      --css "D:\Coding\VisualStandards\css\components-icon-page.css" `
      --icon checkbox `
      --variant checked `
      --output "Temp\checkbox-checked.svg" `
      --report "Temp\checkbox-checked.report.json"
    
  3. 보고서를 검사합니다. status: "manual-review" 또는 경고가 있으면 SVG를 브라우저에서 렌더링된 CSS 소스와 비교해야 하는 이유로 간주합니다.

  4. 배치 작업을 수락하기 전에 동일한 캔버스 크기로 CSS와 SVG를 렌더링합니다. 공식 자산을 자동으로 대체하지 마십시오.

  5. 시각적 비교 및 사용자 승인 후에만 SVG를 프로모션(정식 자산으로 승격)합니다.

지원되는 CSS

  • .icon-name, .icon-name::before, .icon-name::after 규칙
  • px 치수와 단순 오프셋을 가진 절대 위치 의사 요소
  • currentColor, 단색 배경, border, 개별 테두리
  • 사각형 레이어로 사용되는 linear-gradient(currentColor 0 0) ... / ... no-repeat
  • clip-path: polygon(...)
  • rotate(), scaleX(), scaleY() 변환
  • 단색 및 점선 사각형 테두리
  • 투명 테두리 CSS 삼각형
  • 채워진/선으로 그려진 사각형의 border-radius
  • SVG clipPath를 통한 클리핑된 둥근 테두리

출력은 기본적으로 16×16 viewBox, 투명 배경 및 currentColor를 사용합니다. viewBox는 아이콘의 디자인 캔버스입니다. 기본값이 아닌 .icon-name 상자는 해당 상대적 top/left 오프셋이 적용되기 전에 먼저 캔버스 중앙에 배치됩니다. 지오메트리 오류를 숨기기 위해 전역 오버플로우 재정의를 추가하지 마십시오. 이 도구는 VS border-box 루트 모델을 적용하고, 명시적으로 재정의되지 않는 한 의사 요소를 CSS 기본 content-box 모델로 유지하며, 절대 위치 자식을 루트 패딩 상자에 대해 해석하고, 단순 변환을 평탄화하며, 2px/2px 점선 테두리 리듬을 사용합니다. 지원되지 않는 선언은 숨기지 않고 보고합니다.

안전장치

  • 생성된 출력물은 검토 전까지 공식 아이콘 디렉토리와 분리하여 보관합니다.
  • --force 없이 기존 출력을 덮어쓰지 마십시오.
  • 배치 변환 시 보고서를 SVG와 함께 보관합니다.
  • 보고서에 manual-review가 있다면 변환 성공으로 설명하지 마십시오.
  • CSS 시각적 동등성이 수용 기준으로 남습니다. 변환기는 의도적으로 보수적으로 작동합니다.

CLI 참조

--css <file>       반복 가능한 CSS 입력 파일.
  --icon <name>      `icon-` 접두사가 없는 아이콘 클래스 접미사.
  --variant <name>   선택적 수정자 상태(예: `checked`).
--output <file>    SVG 출력 경로.
--report <file>    선택적 JSON 보고서 경로.
--size <number>    정사각형 캔버스 크기; 기본값 16.
--force            기존 출력 덮어쓰기 허용.

구현 세부 사항 및 인식된 패턴은 references/css-patterns.md를 읽으십시오.

관련 스킬