프로젝트 소개

drawio-skill은 오픈소스 Agent Skills 패키지(MIT 라이선스)로, Claude Code, Cursor, Copilot, OpenClaw, Codex, Autohand Code, Hermes 또는 Agent Skills 호환 호스트와 같은 AI 코딩 에이전트가 자연어 프롬프트와 실제 시스템 소스에서 전문적인 draw.io 다이어그램을 생성, 유지 관리 및 재사용할 수 있게 합니다. 핵심 생성 흐름: 스킬은 레이아웃을 계획하고, .drawio XML을 작성하고, 초안 PNG를 내보내고, 렌더링을 자체 점검하여 겹침, 잘린 레이블, 쌓인 가장자리를 자동 수정(최대 2회)한 후, 최종 내보내기 전에 5회 사용자 피드백 루프를 실행합니다. 11가지 다이어그램 유형 프리셋이 내장되어 있습니다: ERD, UML 클래스, 시퀀스, C4, 아키텍처, ML/딥러닝, 순서도, SysML, BPMN, 네트워크 토폴로지, 크로스펑셔널 스윔레인. Mermaid 텍스트(마인드맵, 간트, 타임라인, 저니, 파이, 생키, 칸반 포함 28가지 표준 유형)는 draw.io ≥ 30에서 기본 편집 가능한 .drawio로 변환되며, raster2drawio.py 도구는 화이트보드 사진이나 레거시 PNG를 편집 가능한 다이어그램으로 재구축합니다. 소스-투-다이어그램 임포터는 Python, JS/TS, Go, Rust 가져오기 그래프와 Python 클래스 계층 구조를 다룹니다. Terraform, Kubernetes, docker-compose 구성은 공식 AWS/Azure/GCP/K8s 아이콘을 사용하며, `terraform show -json`, `docker inspect`, `kubectl get -o json`의 라이브 인프라 스냅샷, SQL DDL에서 ERD, OpenAPI/Swagger에서 HTTP 메서드별 색상 API 다이어그램, AsyncAPI에서 이벤트 기반 아키텍처 다이어그램, Protocol Buffers에서 메시지/서비스 다이어그램, GraphQL SDL에서 엔티티 유형 다이어그램, GitHub Actions/GitLab CI에서 파이프라인 DAG를 지원합니다. 시퀀스 다이어그램은 계산된 라이프라인과 활성화 막대를 사용하며, C4 모델은 클릭하여 드릴다운 가능한 다중 페이지입니다. 장기 유지 관리는 의미, 출처, 기하학을 분리하는 Diagram IR을 통해 처리되어, 임원, 시스템, 배포, 데이터 흐름, 보안 뷰를 하나의 모델에서 투영할 수 있습니다. `diagramctl sync`는 수동으로 조정된 좌표, 스타일, 주석을 보존하는 증분 업데이트를 수행하며, 제거 사항은 검토 가능하게 유지됩니다. YAML/JSON의 다이어그램-애즈-테스트 규칙(인터넷-투-데이터베이스 접근, 주기, 고아, 신뢰 경계, 대비)은 공식 GitHub Action이 모든 PR에서 강제하며, 시각적 차이를 렌더링하는 PR 액션도 함께 제공됩니다. 추가 도구는 구성 요소, 소유자, 경로를 쿼리하고, 연결 지점과 높은 결합도를 찾고, 장애 전파를 시뮬레이션하며, 접근 가능한 스토리 워크스루를 게시합니다. 드리프트는 두 다이어그램 또는 두 라이브 스냅샷 간의 색상 코딩된 차이로 시각화되며, 타임랩스 플레이어는 git 기록을 통해 코드베이스 아키텍처가 성장한 방식을 재생합니다. 공유 및 스타일 재지정은 단일 명령 작업입니다: 팬/줌/검색이 가능한 대화형 HTML 뷰어, PowerPoint 덱, 애니메이션 데이터 흐름 SVG, Mermaid 또는 Markdown 내보내기, 클릭스루 런북, 실행 요약 압축. 스타일 프리셋(기본, 기업, 손그림, 색각 안전 Okabe-Ito, 다크)은 사용자 자신의 .drawio 파일에서 학습할 수 있으며, 이중 언어 레이블 변형은 레이아웃을 보존하고, 데이터 기반 히트맵은 CSV/JSON에서 노드를 음영 처리하며, 튜브 맵 모드는 파이프라인을 런던 지하철 스타일 지도로 재스타일링합니다. shapesearch.py 도구는 10,000개 이상의 공식 draw.io 셰이프(AWS, Azure, GCP, Cisco, Kubernetes, UML, BPMN, ER, 전기, P&ID)에서 정확한 스타일 문자열을 해결하며, aiicons.py는 draw.io에 없는 321개 AI/LLM 브랜드 로고(OpenAI, Claude, Gemini, Mistral, Llama, Cohere, DeepSeek, Qwen, Ollama, LangChain, HuggingFace 등)와 18개 데이터 스토어 브랜드(Redis, Postgres, MongoDB, Qdrant, Milvus, Supabase)를 해결합니다. 모든 것은 단일 `diagramctl` CLI(doctor/build/sync/views/query/test/review/whatif/story/publish/transform)로 구동되며, 핵심 워크플로는 표준 라이브러리 전용 및 오프라인입니다. 선택적 MCP 서버는 동일한 명령을 Claude Desktop, Cursor, VS Code, Codex 및 모든 MCP 호스트에 노출합니다. 레이아웃은 Graphviz(선택 사항)를 사용하여 배치, 직교 라우팅, 전이적 축소, 중첩 모듈 컨테이너를 처리하며, 결정적 validate.py 린터는 CI용 `--score` 및 `--strict` 게이트를 제공합니다. 설치에는 draw.io 데스크톱 CLI(≥ 30 권장)와 `npx skills add Agents365-ai/drawio-skill -g` 또는 에이전트 스킬 디렉토리에 수동 클론이 필요합니다. 이 프로젝트는 각각 다른 다이어그램 스타일을 대상으로 하는 excalidraw-skill, mermaid-skill, plantuml-skill, tldraw-skill과 함께 Agents365-ai 다이어그램 스킬 제품군의 일부입니다.