A reusable skill for generating AWS architecture diagrams in draw.io format. Works with any AI assistant — ChatGPT, Claude Projects, Kiro CLI, Claude Code, or any internal AI agent that supports custom prompts and file uploads.
Generates production-quality .drawio files using official AWS Architecture Icons with proper styling, layout, and color coding.
- Left-to-right flow — UI/Frontend on left, data sources on right
- Official AWS icons — from draw.io's built-in
mxgraph.aws4stencil library (sourced from AWS Architecture Icons) - Verified icon catalog — only icons confirmed to render correctly
- Consistent styling — 78px icons, strokeWidth=2 edges, proper AWS color palette
- Export support — PNG/SVG/PDF via draw.io Desktop CLI with embedded XML
npx skills add vidanov/aws-architecture-diagram-skillInstall to a specific agent:
npx skills add vidanov/aws-architecture-diagram-skill --agent claude-code
npx skills add vidanov/aws-architecture-diagram-skill --agent cursor
npx skills add vidanov/aws-architecture-diagram-skill --agent kiroInstall globally (available in all projects):
npx skills add vidanov/aws-architecture-diagram-skill --globalNo code or CLI required. Works with any AI that supports custom instructions and file uploads:
- Copy the prompt from
chatgpt/PROMPT.mdinto your assistant's system prompt / custom instructions field - Upload the reference files from
chatgpt/references/to the knowledge base / project files - Start asking for AWS architecture diagrams
This works with:
- ChatGPT → Custom GPT or Project with instructions + files
- Claude Projects → Project instructions + project knowledge
- Internal corporate AI agents → System prompt + knowledge base uploads
- Any LLM with file context → Paste prompt + reference content
Tip: Set temperature to 0.3 for consistent XML output.
/plugin marketplace add vidanov/aws-architecture-diagram-skill
/plugin install aws-architecture-diagram@vidanov-skillsThen use it:
/aws-architecture-diagram:aws-architecture-diagram
Or just ask naturally — the skill activates automatically when you mention AWS architecture diagrams.
mkdir -p ~/.claude/skills/aws-architecture-diagram
cp claude/SKILL.md ~/.claude/skills/aws-architecture-diagram/SKILL.md
cp -r references ~/.claude/skills/aws-architecture-diagram/references# Global (all projects)
mkdir -p ~/.kiro/skills/aws-architecture-diagram
cp kiro/SKILL.md ~/.kiro/skills/aws-architecture-diagram/SKILL.md
cp -r references ~/.kiro/skills/aws-architecture-diagram/references
# Per-project
mkdir -p .kiro/skills/aws-architecture-diagram
cp kiro/SKILL.md .kiro/skills/aws-architecture-diagram/SKILL.md
cp -r references .kiro/skills/aws-architecture-diagram/referencesJust ask to create an AWS architecture diagram:
Create an AWS architecture diagram for a serverless API with Lambda, DynamoDB, and API Gateway
Or with export:
Create an AWS architecture diagram as PNG for a real-time data pipeline with Kinesis, Lambda, and S3
"Create an event-driven order processing architecture with SQS, Lambda, DynamoDB, and EventBridge"
"Create a real-time IoT analytics pipeline with Kinesis, Lambda, S3 data lake, and DynamoDB"
"Create a 3-tier web application with CloudFront, ALB, ECS Fargate, Aurora, and ElastiCache"
aws-architecture-diagram-skill/
├── README.md
├── LICENSE
├── chatgpt/
│ ├── PROMPT.md # Universal prompt (ChatGPT, Claude Projects, any AI)
│ └── references/ # Same icons in .txt format for upload
│ ├── aws-icons-common.txt
│ ├── aws-icons-compute.txt
│ ├── aws-icons-database.txt
│ ├── aws-icons-integration.txt
│ ├── aws-icons-networking.txt
│ ├── aws-icons-storage.txt
│ ├── aws-icons-security.txt
│ ├── aws-icons-analytics-ml.txt
│ └── aws-icons-iot-migration-devtools.txt
├── kiro/
│ └── SKILL.md # Kiro CLI version
├── claude/
│ └── SKILL.md # Claude Code version
└── references/
├── aws-icons-compute.md # Lambda, EC2, ECS, EKS, Fargate (25+ icons)
├── aws-icons-database.md # DynamoDB, RDS, Aurora, ElastiCache (40+ icons)
├── aws-icons-integration.md # API GW, SQS, SNS, EventBridge, Step Functions (35+ icons)
├── aws-icons-networking.md # CloudFront, Route 53, VPC, ELB (40+ icons)
├── aws-icons-storage.md # S3, EFS, EBS, Glacier, Backup (40+ icons)
├── aws-icons-security.md # IAM, Cognito, KMS, WAF, Shield (45+ icons)
├── aws-icons-analytics-ml.md # Kinesis, Athena, Bedrock, SageMaker (45+ icons)
└── aws-icons-common.md # Groups, general resources, edge styles, base template
draw.io AWS icons have two patterns with opposite strokeColor rules:
| Pattern | Style | strokeColor | Use for |
|---|---|---|---|
| Service-level | shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.<name> |
#ffffff (REQUIRED) |
Main service icons (colored square + white glyph) |
| Resource-level | shape=mxgraph.aws4.<name> |
none (REQUIRED) |
Sub-resources (silhouette icons) |
Confusing these patterns is the #1 cause of broken icons in AI-generated diagrams.
draw.io stencil names don't always match current AWS service names. Renamed services keep their old stencil identifiers:
| AWS Service | draw.io resIcon |
Reason |
|---|---|---|
| Amazon OpenSearch Service | elasticsearch_service |
Renamed from Elasticsearch (2021) |
Empty icon = wrong stencil name. The skill includes a verified icon catalog to prevent this.
The skill instructs the AI agent to:
- Generate the
.drawioXML - Export to PNG and visually review for broken icons or layout issues
- Fix and re-export
This catches rendering problems that are invisible in raw XML.
| Category | Icons |
|---|---|
| Compute | Lambda, EC2, ECS, EKS, Fargate |
| App Integration | API Gateway, SNS, SQS, EventBridge, Step Functions |
| Database | DynamoDB, RDS, Aurora, ElastiCache |
| Storage | S3, EFS, EBS |
| Networking | CloudFront, Route 53, VPC, ELB (ALB/NLB) |
| Security | IAM, Cognito, KMS, WAF |
These resIcon values do NOT render in draw.io — avoid them:
mxgraph.aws4.dynamodb_table→ usemxgraph.aws4.dynamodbinsteadmxgraph.aws4.dynamodb_stream→ usemxgraph.aws4.dynamodbwith labelmxgraph.aws4.general_saml_token→ usemxgraph.aws4.traditional_server
| Solution | Type | Output | Editable | Zero-deps | Verified Icons |
|---|---|---|---|---|---|
| aws-architecture-diagram-skill | Agent Skill | .drawio |
✅ | ✅ | ✅ |
| jgraph/drawio-mcp | MCP Server + Skill | .drawio |
✅ | ❌ (MCP) | ❌ |
| awslabs/aws-diagram-mcp-server | MCP Server (Python) | PNG | ❌ | ❌ (Python+GraphViz) | N/A |
| awslabs/diagram-as-code | CLI (Go) | PNG/SVG | ❌ | ❌ (Go binary) | N/A |
| carlosmgv02/diagram-ai-generator | MCP Server | Multi-cloud | ❌ | ❌ (MCP) | ❌ |
| clouda.ai | SaaS | PNG | ❌ | N/A | N/A |
Why this approach wins:
- No runtime dependencies. It's a markdown file, not a server.
- Output is native
.drawioXML you can open, edit, and version-control. - Verified icon catalog documents which
mxgraph.aws4.*names actually render vs. silently break. - Opinionated layout: left-to-right flow with consistent spacing, not random placement.
- Works with any AI assistant: ChatGPT, Claude, Kiro CLI, or internal corporate agents.
Contributions are welcome! Here's how you can help:
- Fork this repository
- Create a branch for your feature or fix (
git checkout -b my-feature) - Make your changes — add icons, fix stencil names, improve layout rules, etc.
- Submit a Pull Request with a clear description of what you changed and why
You can also open an Issue if you:
- Found a broken icon or wrong stencil name
- Want to request support for a new AWS service
- Have suggestions for layout or styling improvements
- Encountered a bug with a specific AI agent
MIT



