Mermaid Architect - 종합 다이어그램 및 문서화 스킬
버전 2.0 - 지능형 오케스트레이션을 갖춘 계층적 아키텍처
온디맨드 가이드 로딩, 코드-투-다이어그램 생성, 파이썬 유틸리티를 사용하여 Mermaid 다이어그램과 디자인 문서를 생성하는 강력한 Claude Code 스킬입니다.
설치
Skilz Marketplace를 통한 원클릭 설치
Skilz Marketplace에서 이 스킬을 즉시 설치하세요:
skilz install SpillwaveSolutions_design-doc-mermaid/design-doc-mermaid
수동 설치
Claude Code 스킬 디렉토리에 직접 클론합니다:
# 스킬 디렉토리로 이동
cd ~/.claude/skills
# 저장소 클론
git clone https://github.com/SpillwaveSolutions/design-doc-mermaid.git
설치 확인
설치 후 스킬이 사용 가능한지 확인하세요:
# 설치된 스킬 목록 확인
ls ~/.claude/skills/design-doc-mermaid
# 또는 Claude Code에게 물어보기
# "내 설치된 스킬 목록 보여줘"
이 스킬의 기능
지능형 다이어그램 생성:
- 활동 다이어그램 (워크플로우, 프로세스, 비즈니스 로직)
- 배포 다이어그램 (클라우드 인프라, K8s, 서버리스)
- 아키텍처 다이어그램 (시스템 구성 요소, 마이크로서비스)
- 시퀀스 다이어그램 (API 흐름, 서비스 상호작용)
- 임베디드 다이어그램이 포함된 완전한 디자인 문서
코드-투-다이어그램 변환:
- Spring Boot 애플리케이션에서 아키텍처 추출
- 구성 파일에서 배포 다이어그램 생성
- 메서드 호출에서 시퀀스 다이어그램 생성
- ETL 파이프라인 및 데이터 흐름 문서화
다이어그램 관리:
- 마크다운 파일에서 Mermaid 다이어그램 추출
- mermaid-cli로 다이어그램 구문 검증
- 다이어그램을 PNG/SVG 이미지로 변환
- 전체 디렉토리 일괄 처리
빠른 시작
활동 다이어그램 생성
사용자: "이메일 인증이 있는 사용자 등록을 위한 활동 다이어그램 생성"
스킬이 다음을 수행합니다:
references/guides/diagrams/activity-diagrams.md로드- 등록 패턴 템플릿 사용
- 유니코드 기호 추가 (🔐 보안, 📧 이메일, ✅ 성공)
- 고대비 스타일 적용
- 완전한 Mermaid 다이어그램 출력
코드에서 생성
사용자: "여기 내 Spring Boot application.yml이 있어 - 배포 다이어그램 생성해줘"
스킬이 다음을 수행합니다:
- 구성 분석 (데이터소스, 캐시, 보안)
references/guides/diagrams/deployment-diagrams.md로드examples/spring-boot/README.md로드- 구성을 클라우드 리소스에 매핑
- 리소스 사양과 함께 배포 다이어그램 생성
디자인 문서 생성
사용자: "연락처 API를 위한 API 디자인 문서 생성"
스킬이 다음을 수행합니다:
assets/api-design-template.md로드- 관련 다이어그램 가이드 로드 (시퀀스, ER, 아키텍처)
- 임베디드 다이어그램이 포함된 완전한 문서 생성
docs/design/api-contacts-v1-2025-01-13.md에 저장
구조
계층적 조직
mermaid-architect/
├── SKILL.md # 결정 트리가 있는 메인 오케스트레이터
├── README.md # 이 파일
├── CLAUDE.md # Claude Code 지침
│
├── references/ # 참조 자료
│ ├── mermaid-diagram-guide.md # 레거시 일반 가이드
│ └── guides/ # 전문화된 가이드 (온디맨드 로딩)
│ ├── diagrams/
│ │ ├── activity-diagrams.md # ✅ 완료
│ │ ├── deployment-diagrams.md # ✅ 완료
│ │ ├── architecture-diagrams.md # ✅ 완료
│ │ └── sequence-diagrams.md # ✅ 완료
│ ├── code-to-diagram/
│ │ └── README.md # ✅ 완료 (마스터 가이드)
│ ├── unicode-symbols/
│ │ └── guide.md # ✅ 완료 (100개 이상 기호)
│ └── troubleshooting.md # ✅ 완료 (28가지 일반 오류)
│
├── scripts/ # 파이썬 유틸리티
│ ├── extract_mermaid.py # ✅ 다이어그램 추출 및 검증
│ └── mermaid_to_image.py # ✅ PNG/SVG로 변환
│
├── examples/ # 언어별 패턴
│ ├── spring-boot/ # ✅ 완료
│ ├── fastapi/ # ✅ 완료
│ ├── react/ # ✅ 완료
│ ├── python-etl/ # ✅ 완료
│ ├── node-webapp/ # ✅ 완료
│ └── java-webapp/ # ✅ 완료
│
└── assets/ # 디자인 문서 템플릿
├── architecture-design-template.md
├── api-design-template.md
├── feature-design-template.md
├── database-design-template.md
└── system-design-template.md
주요 기능
1. 유니코드 의미 기호
모든 다이어그램은 의미 있는 유니코드 기호를 사용합니다:
graph TB
User[👤 클라이언트] --> Gateway[🌐 API 게이트웨이]
Gateway --> Auth[🔐 인증 서비스]
Gateway --> API[⚙️ API 서비스]
API --> DB[(💾 데이터베이스)]
API --> Cache[(⚡ Redis)]
API --> Queue[📬 메시지 큐]
Queue --> Worker[⚙️ 백그라운드 워커]
기호 카테고리:
- 인프라: ☁️ 🌐 🔌 📡 🗄️
- 컴퓨팅: ⚙️ ⚡ 🔄 🚀 💨
- 데이터: 💾 📦 📊 📈 🗃️
- 메시징: 📨 📬 📤 📥 🐰
- 보안: 🔐 🔑 🛡️ 🚪 👤
- 모니터링: 📝 📊 🚨 ⚠️ ✅ ❌
2. 고대비 스타일링
모든 다이어그램은 접근성이 좋은 고대비 색상을 사용합니다 - 자세한 내용은 SKILL.md를 참조하세요.
3. 파이썬 유틸리티
다이어그램 추출
# 파일의 모든 다이어그램 목록
python scripts/extract_mermaid.py document.md --list-only
# 별도의 .mmd 파일로 추출
python scripts/extract_mermaid.py document.md --output-dir diagrams/
# 모든 다이어그램 검증
python scripts/extract_mermaid.py document.md --validate
# 다이어그램을 이미지 참조로 교체 (Confluence용)
python scripts/extract_mermaid.py document.md --replace-with-images \
--image-format png --output-markdown output.md
이미지로 변환
# 단일 파일
python scripts/mermaid_to_image.py diagram.mmd output.png
# 사용자 정의 테마 및 크기
python scripts/mermaid_to_image.py diagram.mmd output.svg \
--theme dark --background white --width 1200
# 디렉토리 일괄 변환
python scripts/mermaid_to_image.py diagrams/ output/ \
--format png --recursive
# stdin에서
echo "graph TD; A-->B" | python scripts/mermaid_to_image.py - output.png
요구 사항
다이어그램 생성용
- Claude Code 스킬 시스템 (자동)
- 가이드 및 템플릿 (이 스킬에 포함)
검증 및 이미지 변환용
# mermaid-cli 글로벌 설치
npm install -g @mermaid-js/mermaid-cli
# 설치 확인
mmdc --version
파이썬 스크립트용
- Python 3.7+
- 추가 패키지 필요 없음 (표준 라이브러리만 사용)
학습 경로
Mermaid 다이어그램이 처음이신가요?
- 활동 다이어그램으로 시작 -
references/guides/diagrams/activity-diagrams.md읽기 - 유니코드 기호 배우기 -
references/guides/unicode-symbols/guide.md읽기 - 예제 시도 -
examples/spring-boot/의 패턴 사용 - 작업 검증 -
python scripts/extract_mermaid.py --validate실행
기존 코드 문서화가 필요하신가요?
- 프레임워크 식별 - Spring Boot, FastAPI, React 등
- 예제 가이드 로드 -
examples/{your-framework}/README.md읽기 - 패턴 매칭 - 예제에서 유사한 코드 패턴 찾기
- 다이어그램 생성 - 가이드의 템플릿 사용
- 검증 - 검증 스크립트 사용
디자인 문서 생성 중이신가요?
- 템플릿 유형 선택 - 아키텍처, API, 기능, 데이터베이스 또는 시스템
- 템플릿 로드 -
assets/{type}-design-template.md에서 읽기 - 섹션 채우기 - 자리 표시자를 실제 내용으로 교체
- 다이어그램 추가 - 각 섹션에 필요에 따라 다이어그램 가이드 로드
- 기호 사용 - 전체에 유니코드 기호로 향상
- 저장 - 타임스탬프와 함께
docs/design/에 저장
계층적 시스템 작동 방식
전통적 접근 방식 (비효율적)
- 전체 스킬 문서 로드 (~50KB)
- AI가 모든 템플릿과 예제 처리
- 높은 토큰 사용량
- 느린 응답 시간
계층적 접근 방식 (효율적)
- 사용자 요청 → AI가 의도 분석
- 결정 트리 활성화 → 필요한 가이드 결정
- 필요한 것만 로드 → 특정 가이드 읽기 (~2-5KB)
- 출력 생성 → 대상 템플릿 사용
- 토큰 효율적 → 필요 컨텍스트 10배 감소
예제 흐름
사용자: "내 Docker Compose 설정에 대한 배포 다이어그램 생성"
결정 트리:
1. 분석: "배포 다이어그램" + "Docker Compose"
2. 판단: deployment-diagrams.md 필요
3. 로드: references/guides/diagrams/deployment-diagrams.md (2KB)
4. 패턴 찾기: Docker Compose 템플릿 존재
5. 생성: 템플릿 + 유니코드 기호 사용
6. 출력: 30초 이내에 완전한 다이어그램
사용된 토큰: ~2,000 (전통적 방식의 ~10,000 대비)
완료 상태
✅ 완료:
- 계층적 결정 트리 오케스트레이터
- 템플릿이 있는 활동 다이어그램 가이드
- 배포 다이어그램 가이드 (AWS, GCP, K8s, 서버리스, Docker)
- 유니코드 기호 가이드 (100개 이상 기호)
- 검증 기능이 있는 Mermaid 추출 스크립트
- Mermaid to 이미지 변환 스크립트
- Spring Boot 코드-투-다이어그램 예제
- 디자인 문서 템플릿 (5가지 유형)
- 고대비 스타일링 시스템
🚧 진행 중:
- FastAPI 예제
- React 컴포넌트 아키텍처 예제
- Python ETL 파이프라인 예제
📋 계획됨:
- 아키텍처 다이어그램 가이드
- 시퀀스 다이어그램 가이드
- 코드-투-다이어그램 마스터 가이드
- Node.js/Express 예제
- Java 웹 앱 예제
기여하기
새 다이어그램 유형 가이드를 추가하려면:
references/guides/diagrams/{type}-diagrams.md에 가이드 생성- 포함 사항:
- 사용 시기
- 기본 구문
- 일반적인 패턴 (3-5개 템플릿)
- 유니코드 기호 예제
- 모범 사례
SKILL.md결정 트리 업데이트- 코드 매핑이 있는 예제 추가
새 언어 예제를 추가하려면:
examples/{framework}/에 디렉토리 생성README.md추가:- 프레임워크 개요
- 구조에서 아키텍처 다이어그램
- 구성에서 배포 다이어그램
- 코드에서 시퀀스 다이어그램
- 로직에서 활동 다이어그램
SKILL.md코드-투-다이어그램 테이블 업데이트
라이선스
Claude Code Skills의 일부 - MIT 라이선스
관련 스킬
- confluence - Confluence에 다이어그램 업로드
- plantuml - 대체 다이어그램 형식
링크
- GitHub 저장소
- Skilz Marketplace 목록
- Mermaid 공식 문서
버전: 2.0.0 업데이트: 2025-01-13 유지 관리자: SpillwaveSolutions


