Loading...
Loading...
Generate architecture diagrams as .excalidraw files from codebase analysis. Use when the user asks to create architecture diagrams, system diagrams, visualize codebase structure, or generate excalidraw files.
npx skill4agent add ooiyeefei/ccc excalidraw.excalidraw"Generate an architecture diagram for this project"
"Create an excalidraw diagram of the system"
"Visualize this codebase as an excalidraw file".excalidraw| Semantic Meaning | Rectangle Style |
|---|---|
| Orchestrator/Hub | Coral ( |
| Decision Point | Orange ( |
label// 1. Shape with boundElements reference
{
"id": "my-box",
"type": "rectangle",
"boundElements": [{ "type": "text", "id": "my-box-text" }]
}
// 2. Separate text element with containerId
{
"id": "my-box-text",
"type": "text",
"containerId": "my-box",
"text": "My Label"
}{
"type": "arrow",
"roughness": 0, // Clean lines
"roundness": null, // Sharp corners
"elbowed": true // 90-degree mode
}| Edge | Formula |
|---|---|
| Top | |
| Bottom | |
| Left | |
| Right | |
references/arrows.md| Type | Use For |
|---|---|
| Services, databases, containers, orchestrators |
| Users, external systems, start/end points |
| Labels inside shapes, titles, annotations |
| Data flow, connections, dependencies |
| Grouping boundaries, separators |
references/json-format.md| Codebase Type | What to Look For |
|---|---|
| Monorepo | |
| Microservices | |
| IaC | Terraform/Pulumi resource definitions |
| Backend API | Route definitions, controllers, DB models |
| Frontend | Component hierarchy, API calls |
Glob**/package.json**/Dockerfile**/*.tfGrepapp.get@ControllerCREATE TABLEReadRow 1: Users/Entry points (y: 100)
Row 2: Frontend/Gateway (y: 230)
Row 3: Orchestration (y: 380)
Row 4: Services (y: 530)
Row 5: Data layer (y: 680)
Columns: x = 100, 300, 500, 700, 900
Element size: 160-200px x 80-90pxreferences/examples.mdidboundElementscontainerIdreferences/colors.mdpointsreferences/arrows.mdstrokeStyle: "dashed"docs/references/validation.md{ "points": [[0, 0], [0, 110]], "x": 590, "y": 290 }{ "points": [[0, 0], [-325, 0], [-325, 125]], "x": 525, "y": 420 }{ "points": [[0, 0], [50, 0], [50, -125], [20, -125]], "x": 710, "y": 440 }points [[0,0], [-440,0], [-440,70]] → width=440, height=705 arrows: 20%, 35%, 50%, 65%, 80% across edge width| Component | Background | Stroke |
|---|---|---|
| Frontend | | |
| Backend/API | | |
| Database | | |
| Storage | | |
| AI/ML | | |
| External APIs | | |
| Orchestration | | |
| Message Queue | | |
| Cache | | |
| Users | | |
references/colors.mdelbowed: trueroundness: nullreferences/validation.md| Issue | Fix |
|---|---|
| Labels don't appear | Use TWO elements (shape + text), not |
| Arrows curved | Add |
| Arrows floating | Calculate x,y from shape edge, not center |
| Arrows overlapping | Stagger start positions across edge |
references/validation.md| File | Contents |
|---|---|
| Element types, required properties, text bindings |
| Routing algorithm, patterns, bindings, staggering |
| Default, AWS, Azure, GCP, K8s palettes |
| Complete JSON examples, layout patterns |
| Checklists, validation algorithm, bug fixes |
docs/architecture/system-architecture.excalidraw