AI가 만든 AWS 다이어그램을 실제로 활용할 수 있게 하는 스킬을 만들었다
출처: Dev.to
AI로 만든 모든 AWS 아키텍처 다이어그램은 20~30분 정도의 수동 정리가 필요했습니다. 그룹 박스에 색이 입혀진 배경, 깨진 아이콘, 흐름 방향이 일관되지 않음, 엣지 라벨이 서비스와 겹치는 등. 이 정도라면 처음부터 직접 그리는 것이 낫겠더라고요.
같은 날 클라이언트에게 전달할 수 있는 초안을 원했어요. 그래서 AI에게 내 레이아웃과 스타일 규칙을 가르쳐 주는 skill(규칙과 참조 데이터를 담은 마크다운 파일)을 만들었습니다. Claude Code와 Kiro CLI 모두에서 동작합니다. 런타임 의존성도 없고 MCP 서버도 필요 없어요.
Claude Code와 Kiro CLI는 기본적으로 draw.io XML을 생성합니다. 출력물은 draw.io에서 열리지만, “열렸다”와 “전문적으로 보인다”는 별개의 문제죠.
아래는 원시 생성 결과가 실제로 어떻게 나오는지 보여줍니다:
- 그룹 배경 색: AWS Cloud 박스는 파란색, VPC 박스는 초록색으로 채워졌습니다. 실제 AWS 다이어그램은 테두리만 있는 투명 그룹을 사용합니다.
- 흐름 방향 불일치: 가끔은 좌→우, 가끔은 위→아래, 가끔은 무작위로 흐릅니다. 두 다이어그램이 같은 규칙을 따르는 경우는 없습니다.
- 아이콘 패턴 혼동: draw.io에는 서로 반대되는
strokeColor규칙을 가진 두 아이콘 패턴이 있습니다. 생성된 다이어그램에서 AI가 이를 약 4번 중 1번은 틀려서 빈 색상 사각형이 생깁니다. 레포지토리에서는 이것을 AI‑생성 다이어그램에서 아이콘이 깨지는 가장 큰 원인으로 지적하고 있습니다. - 아이콘 위에 엣지 라벨: 직교 라우팅에 명시적인 출입점이 없어서 라인이 다른 서비스 아이콘을 가로지릅니다.
- 간격 규칙 부재: 아이콘이 50 px 간격으로 빽빽이 붙어 있거나, 캔버스 전체에 흩어져 리듬이 없습니다.
각 문제는 30초 정도면 고칠 수 있지만, 모든 다이어그램에 모두 적용하면 20~30분 정도의 작업 시간이 쌓입니다.
draw.io의 AWS 라이브러리(mxgraph.aws4.*)에는 서로 반대되는 스타일을 요구하는 두 종류의 아이콘이 있습니다:
- 서비스 레벨:
strokeColor=#ffffff(흰색, 필수) - 리소스 레벨:
strokeColor=none(필수)
이 둘을 뒤섞으면 빈 사각형이나 보이지 않는 글리프가 됩니다. 아이콘 이름은 겉보기엔 교환 가능해 보이지만 실제로는 그렇지 않죠. 저는 draw.io 소스(Sidebar-AWS4.js)에서 270개가 넘는 아이콘 이름을 추출하고, 각각이 어떤 패턴을 사용하는지 문서화했습니다.
첫 번째 버전은 아이콘은 제대로 그렸지만 레이아웃은 여전히 형편없었습니다. 각 라운드는 draw.io에서 생성된 다이어그램을 열고 수동으로 고친 부분을 기록한 뒤, 그 수정을 규칙으로 코딩하는 방식으로 진행했습니다.
- Round 1 – 아이콘: 270개가 넘는 아이콘 이름을 추출하고 두 패턴을 문서화했습니다. “추측하지 말고 항상 찾아볼 것” 규칙을 추가했습니다.
- Round 2 – 레이아웃: 가로 간격을 150 px에서 220 px으로 늘렸습니다. 엣지에 명시적인 출입점을 추가하고, 아이콘 라벨과 중복되는 엣지 라벨을 제거했습니다.
- Round 3 – 엣지 라우팅:
rounded=0을rounded=1로 바꿔 날카로운 코너를 부드러운 곡선으로 바꾸었습니다. 수직 연결에exitX/exitY/entryX/entryY를 명시해 라인이 다른 아이콘을 통과하지 않게 했습니다. - Round 4·5 – 절제와 구조: AI가 모든 엣지에 “Write” 같은 명백한 라벨을 붙였기 때문에 “라벨을 붙이지 말아야 할 경우” 규칙과 1~2단어 제한을 추가했습니다. 이후 제목 블록, 깔끔한 PNG 추출을 위한 전체 캔버스 배경 사각형, 기술·비기술 청중 모드 토글(세부 수준 제어)을