Generate AWS architecture diagrams in draw.io format. Activates when the user asks to create, generate, or build an architecture diagram, system diagram, or draw.io diagram for AWS services.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aws-architecture-diagram:aws-architecture-diagramThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a draw.io (.drawio) XML file representing an AWS architecture diagram.
references/aws-icons-analytics-ml.mdreferences/aws-icons-common.mdreferences/aws-icons-compute.mdreferences/aws-icons-database.mdreferences/aws-icons-integration.mdreferences/aws-icons-iot-migration-devtools.mdreferences/aws-icons-networking.mdreferences/aws-icons-security.mdreferences/aws-icons-storage.mdtemplates/README.mdtemplates/event-driven-processing.drawiotemplates/serverless-rest-api.drawiotemplates/static-website.drawiotemplates/three-tier-web-app.drawiotemplates/vpc-networking.drawioGenerate a draw.io (.drawio) XML file representing an AWS architecture diagram.
pageWidth="2400" pageHeight="1400" minimumdx="2800" dy="1600" for proper viewport<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>
mxgraph.aws4 stencil library — the official AWS Architecture Icons (https://aws.amazon.com/architecture/icons/, updated quarterly)sketch=0 on all iconsstrokeColor=#ffffff on all AWS service iconsBase edge style (all edges):
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;
Rules for edge labels:
verticalAlign=bottom; in the edge stylealign=right; in the edge stylelabelBackgroundColor=#F5F5F5; so labels don't overlap linesvalue attribute entirely (don't use value="")Edge label positioning (prevents overlap with icons):
<mxCell value="Label" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;labelBackgroundColor=#F5F5F5;fontSize=11;" edge="1" source="a" target="b" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
For edges that go to services ABOVE or BELOW the main flow:
exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;Edge types:
strokeWidth=2): primary data flowstrokeWidth=2;dashed=1;): optional/async pathstrokeWidth=2;dashed=1;strokeColor=#DD344C;): error pathWhen NOT to label edges:
Pattern 1: Service-level (resourceIcon frame)
shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.<name>strokeColor=#ffffff — without it, the white glyph disappearsPattern 2: Resource-level (standalone shape)
shape=mxgraph.aws4.<name> directly (no resIcon)strokeColor=none — using #ffffff breaks theseConfusing these patterns guarantees broken icons.
references/aws-icons-compute.md — Lambda, EC2, ECS, EKS, Fargatereferences/aws-icons-database.md — DynamoDB, RDS, Aurora, ElastiCachereferences/aws-icons-integration.md — API Gateway, SQS, SNS, EventBridge, Step Functionsreferences/aws-icons-networking.md — CloudFront, Route 53, VPC, ELBreferences/aws-icons-storage.md — S3, EFS, EBS, Glacier, Backupreferences/aws-icons-security.md — IAM, Cognito, KMS, WAF, Shieldreferences/aws-icons-analytics-ml.md — Kinesis, Athena, Bedrock, SageMakerreferences/aws-icons-common.md — Groups, general resources, edge styles, base templateAlways look up icons from reference files. Never guess icon names.
shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_aws_cloud_alt;strokeColor=#232F3E;fillColor=noneshape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_account;strokeColor=#CD2264;fillColor=noneshape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_on_premise;strokeColor=#5A6C86;fillColor=nonewhiteSpace=wrap;html=1;fillColor=none;dashed=1;dashPattern=8 8fillColor=nonePlace a full-canvas rectangle as the FIRST element (lowest z-order):
<mxCell value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=none;" vertex="1" parent="1">
<mxGeometry x="0" y="0" width="2400" height="1400" as="geometry" />
</mxCell>
This prevents black background on PNG export. Use strokeColor=none (not E0E0E0).
For complex architectures, use multiple pages (tabs) in one .drawio file:
<mxfile>
<diagram id="overview" name="Overview">...</diagram>
<diagram id="networking" name="Networking Detail">...</diagram>
<diagram id="data-flow" name="Data Flow">...</diagram>
</mxfile>
Place below the title block if the diagram has multiple edge types:
Since draw.io XML can be large, split creation across multiple tool calls:
Before generating, assess the target audience:
If unclear, ask: "Technical audience or executive/non-technical?"
Instead of technical labels, show flow order with circled numbers:
Use edge labels: value="①" with fontSize=14;fontStyle=1;labelBackgroundColor=#ffffff;
After generating the .drawio file, also generate a markdown guide:
.md extension (e.g., serverless-api.drawio + serverless-api.md)After generating the initial .drawio file:
This catches rendering problems (wrong stencil names, broken styles) that are invisible in raw XML.
draw.io stencil names do NOT always match current AWS service names. Services that were renamed keep their legacy stencil names:
| AWS Service Name | draw.io resIcon name | Why |
|---|---|---|
| Amazon OpenSearch Service | elasticsearch_service | Renamed from Elasticsearch in 2021 |
| Amazon EventBridge | eventbridge | Was CloudWatch Events |
| AWS Fargate | fargate | Correct |
Rule: Always verify icon names from the reference files. If a service icon renders as an empty box, the stencil name is wrong. Check the draw.io source at src/main/webapp/js/diagramly/sidebar/Sidebar-AWS4.js for the canonical name.
After generating XML, mentally verify:
resIcon= value exists in the reference filesstrokeColor=#ffffffstrokeColor=none<mxGeometry relative="1" as="geometry" />.drawioopen command (macOS) or xdg-open (Linux) after creation/Applications/draw.io.app/Contents/MacOS/draw.io -x -f png -e -b 10 -o output.drawio.png input.drawiodrawio -x -f png -e -b 10 -o output.drawio.png input.drawio
Flags: -x export, -f format, -e embed diagram XML, -b 10 bordername.drawio.png (signals embedded XML, re-editable in draw.io)<!-- -->) — they cause parse errors& < > "id values for each mxCell<mxGeometry relative="1" as="geometry" /> as child elementid="0" and id="1" (parent="0")npx claudepluginhub vidanov/aws-architecture-diagram-skill --plugin aws-architecture-diagramGenerates validated AWS architecture diagrams as draw.io XML using official AWS4 icons. Supports analyzing existing codebases (CloudFormation, CDK, Terraform) or brainstorming from scratch.
Generates AWS architecture diagrams as .drawio XML files using official AWS4 icons for VPC layouts, multi-tier apps, serverless designs with Lambda/EC2/RDS, and network topologies.
Generates Draw.io (.drawio) XML diagrams for architecture, flowcharts, sequence diagrams, ERDs, networks, and C4 models. Supports AWS icons for cloud architectures. Useful for visualizing systems and processes.