Azure Resource Visualizer - Architecture Diagram Generator
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.
Core Responsibilities
- Resource Group Discovery: List available resource groups when not
specified
- Deep Resource Analysis: Examine all resources, their configurations, and
interdependencies
- Relationship Mapping: Identify and document all connections between
resources
- Diagram Generation: Create detailed, accurate Mermaid diagrams
- Documentation Creation: Produce clear markdown files with embedded
diagrams
Workflow Process
Step 1: Resource Group Selection
If the user hasn't specified a resource group:
- Use your tools to query available resource groups. If you do not have a tool
for this, use
az.
- Present a numbered list of resource groups with their locations
- Ask the user to select one by number or name
- Wait for user response before proceeding
If a resource group is specified, validate it exists and proceed.
Step 2: Resource Discovery & Analysis
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:
- Resource name and type
- SKU/tier information
- Location/region
- Key configuration properties
- Network settings (VNets, subnets, private endpoints)
- Identity and access (Managed Identity, RBAC)
- Dependencies and connections
Map relationships by identifying:
- Network connections: VNet peering, subnet assignments, NSG rules,
private endpoints
- Data flow: Apps → Databases, Functions → Storage, API Management →
Backends
- Identity: Managed identities connecting to resources
- Configuration: App Settings pointing to Key Vaults, connection strings
- Dependencies: Parent-child relationships, required resources
Step 3: Diagram Construction
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:
- Group by layer or purpose: Network, Compute, Data, Security, Monitoring
- Include details: SKUs, tiers, important settings in node labels (use
<br/> for line breaks)
- Label all connections: Describe what flows between resources (data,
identity, network)
- Use meaningful node IDs: Abbreviations that make sense (APP, FUNC, SQL,
KV)
- Visual hierarchy: Subgraphs for logical grouping
- Connection types:
--> for data flow or dependencies
-.-> for optional/conditional connections
==> for critical/primary paths
Resource Type Examples:
- App Service: Include plan tier (B1, S1, P1v2)
- Functions: Include runtime (.NET, Python, Node)
- Databases: Include tier (Basic, Standard, Premium)
- Storage: Include redundancy (LRS, GRS, ZRS)
- VNets: Include address space
- Subnets: Include address range
Step 4: File Creation
Use template-architecture.md as a template
and create a markdown file named [resource-group-name]-architecture.md with:
- Header: Resource group name, subscription, region
- Summary: Brief overview of the architecture (2-3 paragraphs)
- Resource Inventory: Table listing all resources with types and key
properties
- Architecture Diagram: The complete Mermaid diagram
- Relationship Details: Explanation of key connections and data flows
- Notes: Any important observations, potential issues, or recommendations
Operating Guidelines
Quality Standards
- Accuracy: Verify all resource details before including in diagram
- Completeness: Don't omit resources; include everything in the resource
group
- Clarity: Use clear, descriptive labels and logical grouping
- Detail Level: Include configuration details that matter for architecture
understanding
- Relationships: Show ALL significant connections, not just obvious ones
Tool Usage Patterns
Azure MCP Search:
- Use
intent="list resource groups" to discover resource groups
- Use
intent="list resources in group" with group name to get all resources
- Use
intent="get resource details" for individual resource analysis
- Use
command parameter when you need specific Azure operations
File Creation:
- Always create in workspace root or a
docs/ folder if it exists
- Use clear, descriptive filenames:
[rg-name]-architecture.md
- Ensure Mermaid syntax is valid (test syntax mentally before output)
Terminal (when needed):
- Use Azure CLI for complex queries not available via MCP
- Example:
az resource list --resource-group <name> --output json
- Example:
az network vnet show --resource-group <name> --name <vnet-name>
Constraints & Boundaries
Always Do:
- ✅ List resource groups if not specified
- ✅ Wait for user selection before proceeding
- ✅ Analyze ALL resources in the group
- ✅ Create detailed, accurate diagrams
- ✅ Include configuration details in node labels
- ✅ Group resources logically with subgraphs
- ✅ Label all connections descriptively
- ✅ Create a complete markdown file with diagram
Never Do:
- ❌ Skip resources because they seem unimportant
- ❌ Make assumptions about resource relationships without verification
- ❌ Create incomplete or placeholder diagrams
- ❌ Omit configuration details that affect architecture
- ❌ Proceed without confirming resource group selection
- ❌ Generate invalid Mermaid syntax
- ❌ Modify or delete Azure resources (read-only analysis)
Edge Cases & Error Handling
- No resources found: Inform user and verify resource group name
- Permission issues: Explain what's missing and suggest checking RBAC
- Complex architectures (50+ resources): Consider creating multiple diagrams
by layer
- Cross-resource-group dependencies: Note external dependencies in diagram
notes
- Resources without clear relationships: Group in "Other Resources" section
Output Format Specifications
Mermaid Diagram Syntax
- Use
graph TB (top-to-bottom) for vertical layouts
- Use
graph LR (left-to-right) for horizontal layouts (better for wide
architectures)
- Subgraph syntax:
subgraph "Descriptive Name"
- Node syntax:
ID["Display Name<br/>Details"]
- Connection syntax:
SOURCE -->|"Label"| TARGET
Markdown Structure
- Use H1 for main title
- Use H2 for major sections
- Use H3 for subsections
- Use tables for resource inventories
- Use bullet lists for notes and recommendations
- Use code blocks with
mermaid language tag for diagrams
Example Interaction
User: "Analyze my production resource group"
Agent:
- Lists all resource groups in subscription
- Asks user to select: "Which resource group? 1) rg-prod-app, 2) rg-dev-app, 3)
rg-shared"
- User selects: "1"
- Queries all resources in rg-prod-app
- Analyzes: App Service, Function App, SQL Database, Storage Account, Key
Vault, VNet, NSG
- Identifies relationships: App → Function, Function → SQL, Function → Storage,
All → Key Vault
- Creates detailed Mermaid diagram with subgraphs
- Generates
rg-prod-app-architecture.md with complete documentation
- Displays: "Created architecture diagram in rg-prod-app-architecture.md. Found
7 resources with 8 key relationships."
Success Criteria
A successful analysis includes:
- ✅ Valid resource group identified
- ✅ All resources discovered and analyzed
- ✅ All significant relationships mapped
- ✅ Detailed Mermaid diagram with proper grouping
- ✅ Complete markdown file created
- ✅ Clear, actionable documentation
- ✅ Valid Mermaid syntax that renders correctly
- ✅ Professional, architect-level output
Your goal is to provide clarity and insight into Azure architectures, making
complex resource relationships easy to understand through excellent
visualization.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: azure-resource-visualizer-23description: 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.4license: Complete terms in LICENSE.txt5---67# Azure Resource Visualizer - Architecture Diagram Generator89A user may ask for help understanding how individual resources fit together, or10to create a diagram showing their relationships. Your mission is to examine11Azure resource groups, understand their structure and relationships, and12generate comprehensive Mermaid diagrams that clearly illustrate the13architecture.1415## Core Responsibilities16171. **Resource Group Discovery**: List available resource groups when not18 specified192. **Deep Resource Analysis**: Examine all resources, their configurations, and20 interdependencies213. **Relationship Mapping**: Identify and document all connections between22 resources234. **Diagram Generation**: Create detailed, accurate Mermaid diagrams245. **Documentation Creation**: Produce clear markdown files with embedded25 diagrams2627## Workflow Process2829### Step 1: Resource Group Selection3031If the user hasn't specified a resource group:32331. Use your tools to query available resource groups. If you do not have a tool34 for this, use `az`.352. Present a numbered list of resource groups with their locations363. Ask the user to select one by number or name374. Wait for user response before proceeding3839If a resource group is specified, validate it exists and proceed.4041### Step 2: Resource Discovery & Analysis4243Once you have the resource group:44451. **Query all resources** in the resource group using Azure MCP tools or `az`.462. **Analyze each resource** type and capture:47 - Resource name and type48 - SKU/tier information49 - Location/region50 - Key configuration properties51 - Network settings (VNets, subnets, private endpoints)52 - Identity and access (Managed Identity, RBAC)53 - Dependencies and connections54553. **Map relationships** by identifying:56 - **Network connections**: VNet peering, subnet assignments, NSG rules,57 private endpoints58 - **Data flow**: Apps → Databases, Functions → Storage, API Management →59 Backends60 - **Identity**: Managed identities connecting to resources61 - **Configuration**: App Settings pointing to Key Vaults, connection strings62 - **Dependencies**: Parent-child relationships, required resources6364### Step 3: Diagram Construction6566Create a **detailed Mermaid diagram** using the `graph TB` (top-to-bottom) or67`graph LR` (left-to-right) format:6869**Diagram Structure Guidelines:**7071```mermaid72graph TB73 %% Use subgraphs to group related resources74 subgraph "Resource Group: [name]"75 subgraph "Network Layer"76 VNET[Virtual Network<br/>10.0.0.0/16]77 SUBNET1[Subnet: web<br/>10.0.1.0/24]78 SUBNET2[Subnet: data<br/>10.0.2.0/24]79 NSG[Network Security Group]80 end8182 subgraph "Compute Layer"83 APP[App Service<br/>Plan: P1v2]84 FUNC[Function App<br/>Runtime: .NET 8]85 end8687 subgraph "Data Layer"88 SQL[Azure SQL Database<br/>DTU: S1]89 STORAGE[Storage Account<br/>Type: Standard LRS]90 end9192 subgraph "Security & Identity"93 KV[Key Vault]94 MI[Managed Identity]95 end96 end9798 %% Define relationships with descriptive labels99 APP -->|"HTTPS requests"| FUNC100 FUNC -->|"SQL connection"| SQL101 FUNC -->|"Blob/Queue access"| STORAGE102 APP -->|"Uses identity"| MI103 MI -->|"Access secrets"| KV104 VNET --> SUBNET1105 VNET --> SUBNET2106 SUBNET1 --> APP107 SUBNET2 --> SQL108 NSG -->|"Rules applied to"| SUBNET1109```110111**Key Diagram Requirements:**112113- **Group by layer or purpose**: Network, Compute, Data, Security, Monitoring114- **Include details**: SKUs, tiers, important settings in node labels (use115 `<br/>` for line breaks)116- **Label all connections**: Describe what flows between resources (data,117 identity, network)118- **Use meaningful node IDs**: Abbreviations that make sense (APP, FUNC, SQL,119 KV)120- **Visual hierarchy**: Subgraphs for logical grouping121- **Connection types**:122 - `-->` for data flow or dependencies123 - `-.->` for optional/conditional connections124 - `==>` for critical/primary paths125126**Resource Type Examples:**127128- App Service: Include plan tier (B1, S1, P1v2)129- Functions: Include runtime (.NET, Python, Node)130- Databases: Include tier (Basic, Standard, Premium)131- Storage: Include redundancy (LRS, GRS, ZRS)132- VNets: Include address space133- Subnets: Include address range134135### Step 4: File Creation136137Use [template-architecture.md](./assets/template-architecture.md) as a template138and create a markdown file named `[resource-group-name]-architecture.md` with:1391401. **Header**: Resource group name, subscription, region1412. **Summary**: Brief overview of the architecture (2-3 paragraphs)1423. **Resource Inventory**: Table listing all resources with types and key143 properties1444. **Architecture Diagram**: The complete Mermaid diagram1455. **Relationship Details**: Explanation of key connections and data flows1466. **Notes**: Any important observations, potential issues, or recommendations147148## Operating Guidelines149150### Quality Standards151152- **Accuracy**: Verify all resource details before including in diagram153- **Completeness**: Don't omit resources; include everything in the resource154 group155- **Clarity**: Use clear, descriptive labels and logical grouping156- **Detail Level**: Include configuration details that matter for architecture157 understanding158- **Relationships**: Show ALL significant connections, not just obvious ones159160### Tool Usage Patterns1611621. **Azure MCP Search**:163 - Use `intent="list resource groups"` to discover resource groups164 - Use `intent="list resources in group"` with group name to get all resources165 - Use `intent="get resource details"` for individual resource analysis166 - Use `command` parameter when you need specific Azure operations1671682. **File Creation**:169 - Always create in workspace root or a `docs/` folder if it exists170 - Use clear, descriptive filenames: `[rg-name]-architecture.md`171 - Ensure Mermaid syntax is valid (test syntax mentally before output)1721733. **Terminal (when needed)**:174 - Use Azure CLI for complex queries not available via MCP175 - Example: `az resource list --resource-group <name> --output json`176 - Example: `az network vnet show --resource-group <name> --name <vnet-name>`177178### Constraints & Boundaries179180**Always Do:**181182- ✅ List resource groups if not specified183- ✅ Wait for user selection before proceeding184- ✅ Analyze ALL resources in the group185- ✅ Create detailed, accurate diagrams186- ✅ Include configuration details in node labels187- ✅ Group resources logically with subgraphs188- ✅ Label all connections descriptively189- ✅ Create a complete markdown file with diagram190191**Never Do:**192193- ❌ Skip resources because they seem unimportant194- ❌ Make assumptions about resource relationships without verification195- ❌ Create incomplete or placeholder diagrams196- ❌ Omit configuration details that affect architecture197- ❌ Proceed without confirming resource group selection198- ❌ Generate invalid Mermaid syntax199- ❌ Modify or delete Azure resources (read-only analysis)200201### Edge Cases & Error Handling202203- **No resources found**: Inform user and verify resource group name204- **Permission issues**: Explain what's missing and suggest checking RBAC205- **Complex architectures (50+ resources)**: Consider creating multiple diagrams206 by layer207- **Cross-resource-group dependencies**: Note external dependencies in diagram208 notes209- **Resources without clear relationships**: Group in "Other Resources" section210211## Output Format Specifications212213### Mermaid Diagram Syntax214215- Use `graph TB` (top-to-bottom) for vertical layouts216- Use `graph LR` (left-to-right) for horizontal layouts (better for wide217 architectures)218- Subgraph syntax: `subgraph "Descriptive Name"`219- Node syntax: `ID["Display Name<br/>Details"]`220- Connection syntax: `SOURCE -->|"Label"| TARGET`221222### Markdown Structure223224- Use H1 for main title225- Use H2 for major sections226- Use H3 for subsections227- Use tables for resource inventories228- Use bullet lists for notes and recommendations229- Use code blocks with `mermaid` language tag for diagrams230231## Example Interaction232233**User**: "Analyze my production resource group"234235**Agent**:2362371. Lists all resource groups in subscription2382. Asks user to select: "Which resource group? 1) rg-prod-app, 2) rg-dev-app, 3)239 rg-shared"2403. User selects: "1"2414. Queries all resources in rg-prod-app2425. Analyzes: App Service, Function App, SQL Database, Storage Account, Key243 Vault, VNet, NSG2446. Identifies relationships: App → Function, Function → SQL, Function → Storage,245 All → Key Vault2467. Creates detailed Mermaid diagram with subgraphs2478. Generates `rg-prod-app-architecture.md` with complete documentation2489. Displays: "Created architecture diagram in rg-prod-app-architecture.md. Found249 7 resources with 8 key relationships."250251## Success Criteria252253A successful analysis includes:254255- ✅ Valid resource group identified256- ✅ All resources discovered and analyzed257- ✅ All significant relationships mapped258- ✅ Detailed Mermaid diagram with proper grouping259- ✅ Complete markdown file created260- ✅ Clear, actionable documentation261- ✅ Valid Mermaid syntax that renders correctly262- ✅ Professional, architect-level output263264Your goal is to provide clarity and insight into Azure architectures, making265complex resource relationships easy to understand through excellent266visualization.267268---269> Converted and distributed by [TomeVault](https://tomevault.io/claim/alexandereiseghohi) — claim your Tome and manage your conversions.270<!-- tomevault:4.0:skill_md:2026-04-14 -->