Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. Use this skill when the user asks for a diagram of their Azure resources or help in understanding how the resources relate to each other.
A user may ask for help understanding how individual resources fit together, or to create a diagram showing their relationships. Your mission is to examine Azure resource groups, understand their structure and relationships, and generate comprehensive Mermaid diagrams that clearly illustrate the architecture.
If the user hasn't specified a resource group:
az.If a resource group is specified, validate it exists and proceed.
Once you have the resource group:
Query all resources in the resource group using Azure MCP tools or az.
Analyze each resource type and capture:
Map relationships by identifying:
Create a detailed Mermaid diagram using the graph TB (top-to-bottom) or graph LR (left-to-right) format:
Diagram Structure Guidelines:
graph TB
%% Use subgraphs to group related resources
subgraph "Resource Group: [name]"
subgraph "Network Layer"
VNET[Virtual Network<br/>10.0.0.0/16]
SUBNET1[Subnet: web<br/>10.0.1.0/24]
SUBNET2[Subnet: data<br/>10.0.2.0/24]
NSG[Network Security Group]
end
subgraph "Compute Layer"
APP[App Service<br/>Plan: P1v2]
FUNC[Function App<br/>Runtime: .NET 8]
end
subgraph "Data Layer"
SQL[Azure SQL Database<br/>DTU: S1]
STORAGE[Storage Account<br/>Type: Standard LRS]
end
subgraph "Security & Identity"
KV[Key Vault]
MI[Managed Identity]
end
end
%% Define relationships with descriptive labels
APP -->|"HTTPS requests"| FUNC
FUNC -->|"SQL connection"| SQL
FUNC -->|"Blob/Queue access"| STORAGE
APP -->|"Uses identity"| MI
MI -->|"Access secrets"| KV
VNET --> SUBNET1
VNET --> SUBNET2
SUBNET1 --> APP
SUBNET2 --> SQL
NSG -->|"Rules applied to"| SUBNET1
Key Diagram Requirements:
<br/> for line breaks)--> for data flow or dependencies-.-> for optional/conditional connections==> for critical/primary pathsResource Type Examples:
Use template-architecture.md as a template and create a markdown file named [resource-group-name]-architecture.md with:
Azure MCP Search:
intent="list resource groups" to discover resource groupsintent="list resources in group" with group name to get all resourcesintent="get resource details" for individual resource analysiscommand parameter when you need specific Azure operationsFile Creation:
docs/ folder if it exists[rg-name]-architecture.mdTerminal (when needed):
az resource list --resource-group <name> --output jsonaz network vnet show --resource-group <name> --name <vnet-name>Always Do:
Never Do:
graph TB (top-to-bottom) for vertical layoutsgraph LR (left-to-right) for horizontal layouts (better for wide architectures)subgraph "Descriptive Name"ID["Display Name<br/>Details"]SOURCE -->|"Label"| TARGETmermaid language tag for diagramsUser: "Analyze my production resource group"
Agent:
rg-prod-app-architecture.md with complete documentationA successful analysis includes:
Your goal is to provide clarity and insight into Azure architectures, making complex resource relationships easy to understand through excellent visualization.