Skill detail
aws-architecture-diagram
Creates editable AWS and cloud architecture diagrams.
Inspect before use
Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.
SKILL.md
The saved excerpt is a snapshot from review. The external source remains the complete and most current version.
--- name: aws-architecture-diagram description: Always use when user asks to create, generate, or build an AWS architecture diagram, cloud infrastructure diagram, or system diagram with AWS services. Also activates for draw.io diagrams mentioning AWS services like Lambda, DynamoDB, S3, API Gateway, etc. --- # AWS Architecture Diagram Skill Generate AWS architecture diagrams as native `.drawio` files using official AWS Architecture Icons. Optionally export to PNG, SVG, or PDF with embedded XML (so exported files remain editable in draw.io). ## How to create a diagram 1. **Generate draw.io XML** in mxGraphModel format following the rules below 2. **Write the XML** to a `.drawio` file using the Write tool 3. **If the user requested an export format** (png, svg, pdf), export using the draw.io CLI (see Export section) 4. **Open the result** with `open` (macOS), `xdg-open` (Linux), or print the path ## Layout Rules - **Left-to-right flow** for data/request path - **UI/Frontend on the LEFT** (users access from left side) - **Data sources / external systems on the RIGHT** - Use horizontal lanes for parallel paths (top lane, bottom lane) - **Minimum 220px horizontal spacing** between icons (room for edge labels) - **Minimum 250px vertical spacing** between lanes - Secondary/auxiliary services (monitoring, DLQ) go BELOW main flow with 280px+ gap - Canvas: `pageWidth="2400" pageHeight="1400"`, viewport `dx="2800" dy="1600"` - Always include a title block after the background rectangle: ```xml <mxCell value="<b>Diagram Title</b><br>Author | Date | Version" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;fontSize=14;spacing=8;" vertex="1" parent="1"> <mxGeometry x="40" y="30" width="420" height="60" as="geometry" /> </mxCell> ``` ## Icon Style - Icons are from draw.io's built-in `mxgraph.aws4` stencil library — the **official AWS Architecture Icons** (https://aws.amazon.com/architecture/icons/) - Icon size: **78x78px** for main services, **65x65px** for secondary - Use `sketch=0` on all icons - Use `strokeColor=#ffffff` on all AWS service icons - Font size: **12px** for labels - **NO colored backgrounds** on group boxes — always `fillColor=none` ### 3D / Isometric Diagrams — use a different icon library If the user asks for a **3D**, **isometric**, or "AWS 3D" diagram, do NOT fake it by placing flat `aws4` icons on hand-built platform/pedestal shapes. draw.io has a real, separate built-in library for this: `mxgraph.aws3d.*`. - Load `references/aws-icons-3d.md` before picking any icon — it has the verified shape table, style prefix, sizes, and the native `isometricEdgeStyle` edge templates. - This library is a legacy pre-2019 icon set with **much smaller coverage** than `aws4` (no API Gateway, ECS/EKS/Fargate, Step Functions, EventBridge, SNS, Aurora, CloudWatch, IAM, etc.). Check the gap table in that reference file before assuming an icon exists, and flag substitutions to the user rather than guessing a stencil name. - For generic hardware (clients, on-prem servers, racks, switches) with no AWS-specific icon, see `references/aws-icons-allied-telesis.md` — a separate bundled isometric image library that fills that gap. - These icons are already 3D on their own — arrange them in an ascending isometric staircase (diagonal offsets between nodes), don't add fake platforms underneath. - Use `edgeStyle=isometricEdgeStyle` (with `endArrow=block` override for reliable arrowheads) instead of `orthogonalEdgeStyle` for connectors. ## Edge Style — CRITICAL FOR CLEAN DIAGRAMS **Base edge style:** ``` edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0; ``` **Edge label rules:** - Keep labels SHORT (1-2 words max). Detail goes in icon labels, not edge labels. - Always add `labelBackgroundColor=#F5F5F5;fontSize=11;` to edges with labels - For edges WITHOUT labels: omit `value` entiRead the full source on GitHub (opens external page)