AWS Diagram Generator
Generates architecture diagrams for AWS infrastructure from CloudFormation templates, AWS CLI output, or natural language descriptions.
When to Use
Activate this skill when:
- User has AWS CloudFormation templates (YAML/JSON)
- User provides AWS CLI output (e.g.,
aws ec2 describe-instances)
- User wants to visualize AWS resources
- User mentions AWS services (EC2, S3, RDS, Lambda, VPC, etc.)
- User asks to "diagram my AWS infrastructure"
How It Works
This skill generates AWS-specific diagrams by parsing AWS resources and calling the Eraser API directly:
- Parse AWS Resources: Extract resources from CloudFormation, CLI output, or descriptions
- Map AWS Relationships: Identify VPCs, subnets, security groups, IAM roles
- Generate Eraser DSL: Create Eraser DSL code from AWS resources
- Call Eraser API: Use
/api/render/elements with diagramType: "cloud-architecture-diagram"
Instructions
When the user provides AWS infrastructure information:
-
Parse the Source
- CloudFormation: Extract
Resources section, identify types (AWS::EC2::Instance, etc.)
- CLI Output: Parse JSON output from
aws commands
- Description: Identify AWS service names and relationships
-
Identify AWS Components
- Networking: VPCs, Subnets, Internet Gateways, NAT Gateways, Route Tables
- Compute: EC2 Instances, Auto Scaling Groups, Lambda Functions, ECS Services
- Storage: S3 Buckets, EBS Volumes, EFS File Systems
- Databases: RDS Instances, DynamoDB Tables, ElastiCache Clusters
- Security: Security Groups, IAM Roles, IAM Policies, NACLs
- Load Balancing: ALB, NLB, CLB
- Other: SQS Queues, SNS Topics, API Gateway, CloudFront
-
Map Relationships
- EC2 instances in subnets
- Subnets in VPCs
- Security groups attached to instances
- IAM roles attached to services
- Load balancers targeting instances
- Databases accessed by applications
-
Generate Eraser DSL Convert AWS resources to Eraser DSL:
- CRITICAL: Label Formatting Rules
- Labels MUST be on a single line - NEVER use newlines inside label attributes
- Keep labels simple and readable - prefer separate labels over concatenating too much metadata
- Format DSL with proper line breaks (one node/group per line, but labels stay on single lines)
- If including metadata like CIDR blocks or instance types, include them in the same quoted label string:
[label: "VPC 10.0.0.0/16"]
Example:
-
Make the HTTP Request
IMPORTANT: You MUST execute this curl command after generating the DSL. Never stop after generating DSL without making the API call.
CRITICAL: In the X-Skill-Source header below, you MUST replace the value with your AI agent name:
- If you are Claude (Anthropic), use:
claude
- If you are running in Cursor, use:
cursor
- If you are ChatGPT (OpenAI), use:
chatgpt
- If you are Gemini (Google), use:
gemini
- Otherwise, use your model/agent name in lowercase
-
Track Sources During Analysis
As you analyze files and resources to generate the diagram, track:
- Internal files: Record each file path you read and what information was extracted (e.g.,
infra/main.tf - VPC and subnet definitions)
- External references: Note any documentation, examples, or URLs consulted (e.g., AWS VPC best practices documentation)
- Annotations: For each source, note what it contributed to the diagram
-
Handle the Response
CRITICAL: Minimal Output Format
Your response MUST always include these elements with clear headers:
-
Diagram Preview: Display with a header
Use the ACTUAL imageUrl from the API response.
-
Editor Link: Display with a header
Use the ACTUAL URL from the API response.
-
Sources section: Brief list of files/resources analyzed (if applicable)
-
Diagram Code section: The Eraser DSL in a code block with eraser language tag
-
Learn More link: You can learn more about Eraser at https://docs.eraser.io/docs/using-ai-agent-integrations
Additional content rules:
- If the user ONLY asked for a diagram, include NOTHING beyond the 5 elements above
- If the user explicitly asked for more (e.g., "explain the architecture", "suggest improvements"), you may include that additional content
- Never add unrequested sections like Overview, Security Considerations, Testing, etc.
The default output should be SHORT. The diagram image speaks for itself.
AWS-Specific Tips
- Show Regions and AZs: Include availability zones for multi-AZ deployments
- VPC as Container: Always show VPCs containing subnets and resources
- Security Groups: Include security group rules and attachments
- IAM Roles: Show IAM roles attached to services
- Data Flow: Show traffic flow (Internet → ALB → EC2 → RDS)
- Use AWS Icons: Request AWS-specific styling in the description
Expected Behavior
-
Parses CloudFormation:
- Networking: VPC, Subnet
- Compute: EC2 instance, Lambda function
- Storage: S3 bucket
- Database: RDS PostgreSQL instance
-
Generates DSL showing AWS service diversity:
Important: All label text must be on a single line within quotes. AWS-specific: Include service icons, show data flows between services, group by VPC when applicable.
-
Calls /api/render/elements with diagramType: "cloud-architecture-diagram"
Example: AWS CLI Output
Expected Behavior
-
Parses JSON to extract:
- Instance IDs, types, states
- Subnet IDs, VPC IDs
- Security groups
- Tags
-
Formats and calls API