bybit-exchange/svg-diagram
Agent skill that draws architecture, flowchart, sequence, data-flow and lifecycle diagrams as hand-placed SVG, to one linted house style.
svg‑diagram – AI 에이전트가 생성하는 SVG용 하우스 스타일 및 린터
무엇인가요 – 수작업으로 작성한 SVG 다이어그램에 대한 엄격한 시각적 스타일을 정의하고, 완성된 SVG가 그 스타일을 따르는지 검사하는 명령줄 린터(svg‑lint)를 제공하는, 의존성 없이 작동하는 소형 Node 도구입니다. 이 저장소는 Claude, Gemini, Copilot 등 여러 인기 있는 코딩 에이전트에 설치 가능한 스킬(markdown 파일 SKILL.md)을 포함하고 있어, 에이전트가 박스 크기, 텍스트 배치, 연결선 그리기, 색상 선택을 정확히 수행할 수 있도록 합니다.
AI 에이전트에게 왜 중요한가요 – 현대의 코드 생성 에이전트는 아키텍처 스케치, 플로우차트, 벤치마크 등 다이어그램을 출력해야 하는 경우가 많습니다. 모호한 "예쁘게 만들어"가 아니라 명확한 산술적 레시피를 제공함으로써, 출력 결과는 결정론적이며, 텍스트로만 검토 가능하고, 린터로 자동 검증이 가능해집니다. 이는 생성 후 수동 편집을 줄이고, 에이전트 간 일관성을 보장합니다.
주요 기능
- 하우스 스타일 – 고정된 viewBox 마진, 폰트 크기, 색상 트리플, 화살표 머리 기하학, CJK 호환 폰트 스택, 명시적 이스케이프 규칙. 모든 규칙은
SKILL.md에 문서화되어 있습니다. - 의존성 없는 린터 –
tools/svg‑lint/bin/svg‑lint.mjs라는 단일 Node 스크립트로,npm install없이도 어떤 기계에서도 실행 가능합니다. 12가지 검사(이스케이프, viewBox, 폰트 스택, 박스 치수, 베이스라인, 간격, 화살표 마커, 오버플로우, 겹침, 팔레트, 연결선 기하학, 문서 모델의 타당성 검사)를 수행합니다. - 에이전트 독립적 설치 –
npx skills add bybit-exchange/svg-diagram -g명령어로 스킬과 린터가 수십 개의 에이전트에 적절한 디렉터리에 복사됩니다. 스킬의 프론트마터name이 설치 경로를 결정하므로, 저장소를 이동해도 설치가 깨지지 않습니다. - 인간이 읽기 쉬운 수정 제안 – 각 린터 실패는 현재 값, 허용 범위/값, 그리고 1줄짜리 "수정" 제안을 보고합니다. 예:
font-family: absent → 'PingFang SC', …. - 준수 다이어그램 갤러리 – 10개의 예제 SVG가 모든 규칙(레이아웃, 작성 루프, 린터 게이트, 데이터 흐름, 스킬 라이프사이클, 리포지토리 아키텍처, 다중 에이전트 설치, CJK 폰트 처리, 계층적 라우팅, A/B 벤치마크)을 시각적으로 보여줍니다.
- 테스트 스위트 –
npm run lint:svg:all은 동봉된 SVG를 검증하고,npm test는 984개의 유닛 테스트를 실행하여 린터와 스킬의 신뢰성을 보장합니다.
사용 방법
- 에이전트용 스킬 설치:
npx skills add bybit-exchange/svg-diagram -g # 모든 에이전트용 글로벌 설치 - 새 에이전트 세션에서 다이어그램을 요청하세요. 에이전트는
svg‑diagram스킬을 사용 중임을 알리며, 해당 스킬에 정의된 산술 규칙을 따릅니다. - 에이전트가
diagram.svg를 출력한 후, 린터로 준수 여부를 검증합니다:
머신 리드블 출력을 원하면node ~/.claude/skills/svg-diagram/tools/svg-lint/bin/svg-lint.mjs diagram.svg--json을 추가하세요. - 검사가 실패하면, 수정 힌트에 따라 SVG를 편집하거나, 스킬 설명을 조정한 후 다시 실행하세요.
이 프로젝트가 존재하는 이유 – AI 생성 다이어그램을 코드처럼 검토 가능하게 만들기 위함입니다: 모든 좌표가 명시적이고, 모든 스타일이 프레젠테이션 속성이며, 린터가 레이아웃 엔진이나 외부 CSS에 의존하지 않고 공유된 시각 언어에 부합하는지 보장합니다. 이는 재현성 향상, diff 기반 리뷰 간소화, 그리고 플랫폼 간 CJK 문자 정확한 렌더링을 보장합니다.
라이선스 – MIT.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트