Diagram Design: dạy AI agent vẽ sơ đồ kỹ thuật gọn, đẹp và đúng màu thương hiệu
Diagram Design là một skill mã nguồn mở (giấy phép MIT) của Cathryn Lavery, dùng cho các AI agent như Claude Code, Codex và GitHub Copilot. Cài vào rồi, bạn chỉ cần bảo agent "vẽ sơ đồ kiến trúc cho hệ thống này" là nhận về một file HTML chứa sơ đồ gọn gàng, bố cục rõ ràng, không còn cảnh hộp chồng hộp hay mũi tên chéo lung tung. Nó vẽ được 44 loại sơ đồ và vẽ lại được sơ đồ cũ từ draw.io, Mermaid, Excalidraw. Màu, font và nền tối đổi được theo thương hiệu của bạn. Riêng với tiếng Việt, bạn nên đổi font tiêu đề, vì font mặc định thiếu nhiều chữ có dấu.
Bài này là bài giới thiệu, chưa phải đánh giá sau thời gian dài sử dụng. Thông tin lấy từ README trên GitHub và file hướng dẫn SKILL.md của bản 2.6.68. Phần font tiếng Việt và độ tương phản màu là tôi tự kiểm tra.
Vài thuật ngữ trước khi đọc
Bài có dùng một số từ tiếng Anh vì đó là tên gọi trong tài liệu gốc. Nghĩa của chúng trong bài như sau:
| Thuật ngữ | Nghĩa |
|---|---|
| Skill | Một bộ hướng dẫn bằng văn bản cài vào agent, dạy agent cách làm một việc cụ thể. Nó không phải code chạy được. |
| Node | Một ô trong sơ đồ: hộp chữ nhật, hình thoi, hình bầu dục… |
| Màu nhấn (accent) | Màu nổi bật duy nhất trong sơ đồ, dùng để chỉ chỗ quan trọng nhất |
| Skin | Phần "da" của sơ đồ: màu và font. Đổi skin không làm thay đổi bố cục. |
| Token | Một giá trị thiết kế có tên, ví dụ accent = #eb6c36 |
| Hồ sơ (profile) | Một bộ skin được lưu lại có tên, để dùng lại về sau |
Vì sao cần nó
Khi bạn bảo một AI agent "vẽ giúp sơ đồ kiến trúc", kết quả thường rơi vào một trong hai kiểu.
Kiểu thứ nhất là một đoạn Mermaid. Nội dung đúng, nhưng bố cục do máy tự xếp, các mũi tên cắt chéo nhau, nhìn là biết máy làm.
Kiểu thứ hai là một trang HTML nền tối, viền phát sáng màu xanh tím, mười mấy cái hộp giống hệt nhau, hộp nào cũng được tô màu "quan trọng".
README của Diagram Design gọi kiểu thứ hai là "AI slop", tạm hiểu là "đồ AI làm cẩu thả". Skill liệt kê rõ từng lỗi để agent tránh:
| Lỗi thường gặp | Vì sao bị cấm |
|---|---|
| Nền tối kèm viền phát sáng xanh, tím | Trông có vẻ "kỹ thuật" nhưng không có chủ đích thiết kế nào |
| Dùng font mono (JetBrains Mono) cho mọi chữ | Font mono chỉ dành cho nội dung kỹ thuật như port, lệnh, URL |
| Mọi node là một cái hộp giống hệt nhau | Người đọc không biết cái nào chính, cái nào phụ |
| Đổ bóng | Bị cấm hoàn toàn, chỉ dùng viền |
| Bo góc thật tròn | Tối đa 6–10px, hoặc không bo |
| Tô màu nhấn cho mọi node "quan trọng" | Màu nhấn chỉ cho 1–2 chỗ, tô nhiều thì mất tác dụng |
| Giữ nguyên bố cục do Mermaid tự xếp | Bố cục tự động thường rối, thiếu chủ đích |
Cài đặt và vẽ sơ đồ đầu tiên
Với Claude Code, chạy hai lệnh:
/plugin marketplace add cathrynlavery/diagram-design
/plugin install diagram-design@diagram-design
Với Codex:
codex plugin marketplace add cathrynlavery/diagram-design
codex plugin add diagram-design@diagram-design
Với GitHub Copilot CLI:
copilot plugin marketplace add cathrynlavery/diagram-design
copilot plugin install diagram-design@diagram-design
Với các agent khác hỗ trợ chuẩn Agent Skills:
npx skills add cathrynlavery/diagram-design
README còn có hướng dẫn cho Factory Droid, Pi, Kiro, OpenCode và Claude Cowork.
Cài xong, bạn không cần gõ lệnh gì đặc biệt. Cứ yêu cầu như bình thường, ví dụ "vẽ sơ đồ sequence cho luồng đăng nhập OAuth", skill sẽ tự được kích hoạt.
Ngoài ra có vài lệnh cho việc cụ thể:
| Lệnh | Việc nó làm |
|---|---|
/diagram-design:doctor | Kiểm tra máy đã đủ điều kiện chạy chưa |
/diagram-design:import-mermaid | Vẽ lại một sơ đồ Mermaid |
/diagram-design:import-drawio | Vẽ lại một file draw.io |
/diagram-design:import-excalidraw | Vẽ lại một bảng Excalidraw |
/diagram-design:export-diagram | Xuất file HTML ra ảnh .svg và .png |
/diagram-design:profile | Lưu, nạp, xoá hồ sơ thương hiệu |
Muốn xuất ảnh PNG thì cài thêm Playwright và Chromium:
pip install playwright && playwright install chromium
Một lưu ý an toàn: README nói rõ bản chính thức chỉ có ở repository này. Hãy tin lời đó. Skill là văn bản được nạp thẳng vào agent, nên cài một bản lạ cũng giống như để người lạ viết hướng dẫn cho agent của bạn.
Agent vẽ một sơ đồ như thế nào
Sơ đồ dưới đây mô tả các bước agent đi qua khi nhận một yêu cầu vẽ. Bản thân nó cũng được vẽ bằng Diagram Design, dùng skin mặc định.