{"id":"4b1e07f2-f200-457d-bf37-0d10b9028196","shortId":"AMztnR","kind":"skill","title":"aws-diagram","tagline":"Generate AWS architecture diagrams from infrastructure JSON. Use when user asks to \"generate diagram\", \"create AWS diagram\", \"visualize infrastructure\", or \"draw architecture\".","description":"# AWS Diagram Generator\n\nGenerate architecture diagrams from `aws_infrastructure.json` using the Python `diagrams` library.\n\n## Before Starting\n\n1. Check that `aws_infrastructure.json` exists in the current directory\n2. Ask user which diagram type they want:\n   - **architecture** - Overall infrastructure overview\n   - **security** - Security controls and traffic flow\n   - **network** - Network topology and connectivity\n   - **data-flow** - Data flow between components\n   - **all** - Generate all types\n\n3. Ask for output format: **png** (default), **svg**, or **pdf**\n\n## Process\n\n1. Read `aws_infrastructure.json`\n2. Generate Python code using the `diagrams` library\n3. Write the code to a temporary file\n4. Execute it with `python <file>.py`\n5. Report the generated files to the user\n\n## Diagrams Library Reference\n\n### Basic Structure\n```python\nfrom diagrams import Diagram, Cluster, Edge\n\nwith Diagram(\"Title\", filename=\"output_name\", outformat=\"png\", show=False):\n    # Create nodes and connections\n```\n\n### AWS Icons (import from diagrams.aws.*)\n\n**Compute:**\n```python\nfrom diagrams.aws.compute import ECS, Lambda, Fargate, EC2, EKS, Batch, ECR\n```\n\n**Database:**\n```python\nfrom diagrams.aws.database import RDS, Aurora, ElastiCache, Dynamodb, DocumentDB, Neptune, Redshift\n```\nNote: Use `Dynamodb` (not DynamoDB)\n\n**Network:**\n```python\nfrom diagrams.aws.network import ALB, NLB, CloudFront, Route53, VPC, InternetGateway, NATGateway, TransitGateway, Endpoint, APIGateway\n```\n\n**Storage:**\n```python\nfrom diagrams.aws.storage import S3, EFS\n```\n\n**Security:**\n```python\nfrom diagrams.aws.security import WAF, Shield, ACM, Cognito, SecretsManager, KMS, IAM\n```\n\n**Integration:**\n```python\nfrom diagrams.aws.integration import SQS, SNS, Eventbridge, StepFunctions\n```\nNote: Use `Eventbridge` (not EventBridge)\n\n**Analytics:**\n```python\nfrom diagrams.aws.analytics import Kinesis, Athena, Glue, EMR, Quicksight\n```\n\n**Management:**\n```python\nfrom diagrams.aws.management import Cloudwatch, CloudwatchAlarm, Cloudtrail\n```\n\n**General (for unknown services):**\n```python\nfrom diagrams.aws.general import General\n```\n\n**External/Users:**\n```python\nfrom diagrams.onprem.network import Internet\nfrom diagrams.onprem.client import Users\n```\n\n### Connections\n```python\n# Left to right flow\nnode1 >> node2\nnode1 >> Edge(label=\"HTTPS\") >> node2\n\n# Multiple targets\nnode1 >> [node2, node3]\n```\n\n### Clusters (for grouping)\n```python\nwith Cluster(\"VPC\"):\n    with Cluster(\"Public Subnet\"):\n        alb = ALB(\"Load Balancer\")\n    with Cluster(\"Private Subnet\"):\n        app = Fargate(\"App\")\n```\n\n## Diagram Types\n\n### Architecture Diagram\nShow overall infrastructure:\n- Internet/Users connecting to load balancers\n- Load balancers to compute (ECS, Lambda, EC2)\n- Compute to databases (RDS, DynamoDB, ElastiCache)\n- Storage services (S3)\n- Group by VPC and subnet types\n\n### Security Diagram\nShow security controls:\n- WAF protecting load balancers\n- Cognito for authentication\n- ACM certificates\n- Security boundaries (VPC, subnets)\n- Traffic flow from external to internal\n- KMS, Secrets Manager\n\n### Network Diagram\nShow network topology:\n- VPC with CIDR\n- Subnets grouped by availability zone\n- Internet Gateway and NAT Gateways\n- Transit Gateway connections\n- VPC Endpoints\n\n### Data Flow Diagram\nShow data movement:\n- How data enters (API, events)\n- Processing pipeline (compute services)\n- Data storage destinations\n- Caching layers\n- Event flows (SQS, SNS, EventBridge)\n\n## Output Files\n\nUse these filenames:\n- `aws_architecture.png`\n- `aws_security.png`\n- `aws_network.png`\n- `aws_data_flow.png`\n\n## Guidelines\n\n1. Set `show=False` in Diagram constructor\n2. Create meaningful labels from the JSON data\n3. Draw connections based on logical relationships\n4. Use Clusters to group related resources\n5. Limit displayed items to 3-5 per category for readability\n6. For services not in the library, use `General`\n7. Always use the exact import names (case-sensitive)\n\n## Example Generated Code\n\n```python\nfrom diagrams import Diagram, Cluster\nfrom diagrams.aws.compute import Fargate\nfrom diagrams.aws.database import RDS, ElastiCache\nfrom diagrams.aws.network import ALB, InternetGateway\nfrom diagrams.aws.storage import S3\nfrom diagrams.onprem.network import Internet\n\nwith Diagram(\"AWS Architecture - MyProject (PROD)\", filename=\"aws_architecture\", outformat=\"png\", show=False):\n    internet = Internet(\"Users\")\n\n    with Cluster(\"VPC: 10.0.0.0/16\"):\n        igw = InternetGateway(\"IGW\")\n\n        with Cluster(\"Public Subnet\"):\n            alb = ALB(\"Public ALB\")\n\n        with Cluster(\"Private Subnet\"):\n            with Cluster(\"ECS Cluster\"):\n                svc1 = Fargate(\"api\")\n                svc2 = Fargate(\"worker\")\n\n            db = RDS(\"Aurora\")\n            cache = ElastiCache(\"Redis\")\n\n    s3 = S3(\"Assets\")\n\n    internet >> igw >> alb >> [svc1, svc2]\n    svc1 >> [db, cache, s3]\n    svc2 >> [db, s3]\n```\n\n## After Generation\n\nTell the user:\n1. Which diagram files were created\n2. They can open PNG/SVG directly or import into documentation","tags":["aws","diagram","claude","cloud","diagrams","mpuig","agent-skills","claude-skills","genai"],"capabilities":["skill","source-mpuig","skill-aws-diagram","topic-agent-skills","topic-claude-skills","topic-genai"],"categories":["claude-cloud-diagrams"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/mpuig/claude-cloud-diagrams/aws-diagram","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add mpuig/claude-cloud-diagrams","source_repo":"https://github.com/mpuig/claude-cloud-diagrams","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (5,055 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:14:00.730Z","embedding":null,"createdAt":"2026-05-18T13:21:30.754Z","updatedAt":"2026-05-18T19:14:00.730Z","lastSeenAt":"2026-05-18T19:14:00.730Z","tsv":"'-5':467 '/16':542 '1':41,95,432,594 '10.0.0.0':541 '2':50,98,439,600 '3':84,106,447,466 '4':114,454 '5':120,461 '6':472 '7':481 'acm':217,359 'alb':193,302,303,512,550,551,553,579 'alway':482 'analyt':236 'api':406,564 'apigateway':202 'app':310,312 'architectur':6,25,30,58,315,525,530 'ask':14,51,85 'asset':576 'athena':242 'aurora':177,570 'authent':358 'avail':385 'aw':2,5,19,26,154,524,529 'aws-diagram':1 'aws_architecture.png':427 'aws_data_flow.png':430 'aws_infrastructure.json':33,44,97 'aws_network.png':429 'aws_security.png':428 'balanc':305,324,326,355 'base':450 'basic':131 'batch':169 'boundari':362 'cach':415,571,584 'case':489 'case-sensit':488 'categori':469 'certif':360 'check':42 'cidr':381 'cloudfront':195 'cloudtrail':253 'cloudwatch':251 'cloudwatchalarm':252 'cluster':138,291,296,299,307,456,499,539,547,555,559,561 'code':101,109,493 'cognito':218,356 'compon':79 'comput':159,328,332,410 'connect':72,153,273,321,394,449 'constructor':438 'control':64,351 'creat':18,150,440,599 'current':48 'data':74,76,397,401,404,412,446 'data-flow':73 'databas':171,334 'db':568,583,587 'default':90 'destin':414 'diagram':3,7,17,20,27,31,37,54,104,128,135,137,141,313,316,348,375,399,437,496,498,523,596 'diagrams.aws':158 'diagrams.aws.analytics':239 'diagrams.aws.compute':162,501 'diagrams.aws.database':174,505 'diagrams.aws.general':260 'diagrams.aws.integration':225 'diagrams.aws.management':249 'diagrams.aws.network':191,510 'diagrams.aws.security':213 'diagrams.aws.storage':206,515 'diagrams.onprem.client':270 'diagrams.onprem.network':266,519 'direct':605 'directori':49 'display':463 'document':609 'documentdb':180 'draw':24,448 'dynamodb':179,185,187,336 'ec':164,329,560 'ec2':167,331 'ecr':170 'edg':139,282 'ef':209 'ek':168 'elasticach':178,337,508,572 'emr':244 'endpoint':201,396 'enter':405 'event':407,417 'eventbridg':229,233,235,421 'exact':485 'exampl':491 'execut':115 'exist':45 'extern':368 'external/users':263 'fals':149,435,534 'fargat':166,311,503,563,566 'file':113,124,423,597 'filenam':143,426,528 'flow':67,75,77,278,366,398,418 'format':88 'gateway':388,391,393 'general':254,262,480 'generat':4,16,28,29,81,99,123,492,590 'glue':243 'group':293,341,383,458 'guidelin':431 'https':284 'iam':221 'icon':155 'igw':543,545,578 'import':136,156,163,175,192,207,214,226,240,250,261,267,271,486,497,502,506,511,516,520,607 'infrastructur':9,22,60,319 'integr':222 'intern':370 'internet':268,387,521,535,536,577 'internet/users':320 'internetgateway':198,513,544 'item':464 'json':10,445 'kinesi':241 'kms':220,371 'label':283,442 'lambda':165,330 'layer':416 'left':275 'librari':38,105,129,478 'limit':462 'load':304,323,325,354 'logic':452 'manag':246,373 'meaning':441 'movement':402 'multipl':286 'myproject':526 'name':145,487 'nat':390 'natgateway':199 'neptun':181 'network':68,69,188,374,377 'nlb':194 'node':151 'node1':279,281,288 'node2':280,285,289 'node3':290 'note':183,231 'open':603 'outformat':146,531 'output':87,144,422 'overal':59,318 'overview':61 'pdf':93 'per':468 'pipelin':409 'png':89,147,532 'png/svg':604 'privat':308,556 'process':94,408 'prod':527 'protect':353 'public':300,548,552 'py':119 'python':36,100,118,133,160,172,189,204,211,223,237,247,258,264,274,294,494 'quicksight':245 'rds':176,335,507,569 'read':96 'readabl':471 'redi':573 'redshift':182 'refer':130 'relat':459 'relationship':453 'report':121 'resourc':460 'right':277 'route53':196 's3':208,340,517,574,575,585,588 'secret':372 'secretsmanag':219 'secur':62,63,210,347,350,361 'sensit':490 'servic':257,339,411,474 'set':433 'shield':216 'show':148,317,349,376,400,434,533 'skill' 'skill-aws-diagram' 'sns':228,420 'source-mpuig' 'sqs':227,419 'start':40 'stepfunct':230 'storag':203,338,413 'structur':132 'subnet':301,309,345,364,382,549,557 'svc1':562,580,582 'svc2':565,581,586 'svg':91 'target':287 'tell':591 'temporari':112 'titl':142 'topic-agent-skills' 'topic-claude-skills' 'topic-genai' 'topolog':70,378 'traffic':66,365 'transit':392 'transitgateway':200 'type':55,83,314,346 'unknown':256 'use':11,34,102,184,232,424,455,479,483 'user':13,52,127,272,537,593 'visual':21 'vpc':197,297,343,363,379,395,540 'waf':215,352 'want':57 'worker':567 'write':107 'zone':386","prices":[{"id":"8a0a9be9-aae2-4d2a-9896-15d22177650a","listingId":"4b1e07f2-f200-457d-bf37-0d10b9028196","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"mpuig","category":"claude-cloud-diagrams","install_from":"skills.sh"},"createdAt":"2026-05-18T13:21:30.754Z"}],"sources":[{"listingId":"4b1e07f2-f200-457d-bf37-0d10b9028196","source":"github","sourceId":"mpuig/claude-cloud-diagrams/aws-diagram","sourceUrl":"https://github.com/mpuig/claude-cloud-diagrams/tree/main/skills/aws-diagram","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:30.754Z","lastSeenAt":"2026-05-18T19:14:00.730Z"}],"details":{"listingId":"4b1e07f2-f200-457d-bf37-0d10b9028196","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"mpuig","slug":"aws-diagram","github":{"repo":"mpuig/claude-cloud-diagrams","stars":7,"topics":["agent-skills","claude-skills","genai"],"license":null,"html_url":"https://github.com/mpuig/claude-cloud-diagrams","pushed_at":"2025-12-21T15:18:52Z","description":"An AI agent that explores your AWS account and draws what it finds. Not a perfect map. A useful one.","skill_md_sha":"3606574ce77e71c7a7cf4bdb3001bad5e634946c","skill_md_path":"skills/aws-diagram/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/mpuig/claude-cloud-diagrams/tree/main/skills/aws-diagram"},"layout":"multi","source":"github","category":"claude-cloud-diagrams","frontmatter":{"name":"aws-diagram","description":"Generate AWS architecture diagrams from infrastructure JSON. Use when user asks to \"generate diagram\", \"create AWS diagram\", \"visualize infrastructure\", or \"draw architecture\"."},"skills_sh_url":"https://skills.sh/mpuig/claude-cloud-diagrams/aws-diagram"},"updatedAt":"2026-05-18T19:14:00.730Z"}}