Analyze Azure resource groups and generate Mermaid architecture diagrams and markdown documentation for their resources and relationships. Use this skill when the user asks to diagram Azure resources, visualize a resource group, understand Azure architecture, map dependencies, or document resource relationships.
Inspect an Azure resource group read-only, identify every resource and significant dependency, then create a markdown architecture document with a detailed Mermaid diagram using assets/template-architecture.md.
When to invoke
"Diagram this Azure resource group."
"Show how my Azure resources relate to each other."
"Generate a Mermaid architecture diagram for these resources."
"Analyze my production resource group."
"Document the network, compute, data, and identity relationships."
Prerequisites and context
Use Azure MCP tools when available; otherwise use Azure CLI az for read-only queries.
The user must have Azure access to list resource groups and read resources.
Create output in the workspace root or docs/ when that folder exists.
Use assets/template-architecture.md as the markdown document template.
Do not modify, delete, deploy, or reconfigure Azure resources.
Procedure
If no resource group is specified, list available resource groups with locations, present a numbered list, and wait for the user to select by number or name.
Validate the selected resource group exists.
Query all resources in the resource group. With Azure CLI, start with az resource list --resource-group <name> --output json.
For each resource, collect name, type, SKU or tier, location, key configuration properties, network settings, identity settings, and dependencies.
Query resource-specific details where needed, for example az network vnet show --resource-group <name> --name <vnet-name>.
Map relationships: network connections, data flows, identity access, configuration references, and parent-child dependencies.
Build a Mermaid diagram using graph TB or graph LR, logical subgraphs, detailed labels, and descriptive connection labels.
Create [resource-group-name]-architecture.md from assets/template-architecture.md with header, summary, resource inventory, architecture diagram, relationship details, notes, and recommendations.
Report the file path, resource count, relationship count, and any permission gaps.
Resource analysis checklist
Area
Capture
Identity
Managed Identity, RBAC, Key Vault access, role assignments when visible.
Public ingress to API or required production dependency
==>
External dependency
Cross-resource-group or external service
Show as external node and note source.
Mermaid diagram rules
Use clear node IDs and line breaks with <br/>. Group by layer or purpose: Network Layer, Compute Layer, Data Layer, Security & Identity, Monitoring, and Other Resources. Include configuration details that affect architecture.
Inform the user and verify the resource group name.
Permission issue
Explain missing read permission and suggest checking RBAC.
50+ resources
Consider multiple diagrams by layer while keeping one inventory.
Cross-resource-group dependencies
Include an external node and call out the dependency in notes.
No clear relationships
Group in Other Resources and explain that no verified dependency was found.
Progressive disclosure and bundled resources
assets/template-architecture.md: template for the generated [resource-group-name]-architecture.md file.
Azure query and syntax vocabulary
When using Azure MCP search, preserve these intent strings: intent="list resource groups", intent="list resources in group", and intent="get resource details"; use the command parameter only for specific Azure operations. mermaid syntax may include subgraph "Descriptive Name", ID["Display Name<br/>Details"], and SOURCE -->|"Label"| TARGET with SOURCE and TARGET node IDs. Use top-to-bottom for graph TB, left-to-right for graph LR, critical/primary for ==>, and optional/conditional for -.->. Example resource group names and files include rg-prod-app, rg-dev-app, rg-shared, [rg-name]-architecture.md, rg-prod-app-architecture, and rg-prod-app-architecture.md. Capture SKU/tier and Location/region, and aim for architect-level output.
Resource group was selected or validated before analysis.
All resources returned by the resource group query are included or explicitly explained.
Each resource has name, type, location, and key properties captured.
Network, data, identity, configuration, and dependency relationships were checked.
Mermaid uses valid graph TB or graph LR, subgraphs, node labels, and descriptive edge labels.
The markdown file was created from assets/template-architecture.md in the workspace root or docs/.
No Azure resources were modified.
1---2name: azure-resource-visualizer3description: Analyze Azure resource groups and generate Mermaid architecture diagrams and markdown documentation for their resources and relationships. Use this skill when the user asks to diagram Azure resources, visualize a resource group, understand Azure architecture, map dependencies, or document resource relationships.4license: Complete terms in LICENSE.txt5---67<!-- Generated from harness/github-copilot/skills/azure-resource-visualizer/SKILL.md by harness/claude-code/scripts/convert_from_copilot.py. Edit the source, not this file. -->89# Azure resource visualizer1011Inspect an Azure resource group read-only, identify every resource and significant dependency, then create a markdown architecture document with a detailed Mermaid diagram using `assets/template-architecture.md`.1213## When to invoke1415- "Diagram this Azure resource group."16- "Show how my Azure resources relate to each other."17- "Generate a Mermaid architecture diagram for these resources."18- "Analyze my production resource group."19- "Document the network, compute, data, and identity relationships."2021## Prerequisites and context2223- Use Azure MCP tools when available; otherwise use Azure CLI `az` for read-only queries.24- The user must have Azure access to list resource groups and read resources.25- Create output in the workspace root or `docs/` when that folder exists.26- Use `assets/template-architecture.md` as the markdown document template.27- Do not modify, delete, deploy, or reconfigure Azure resources.2829## Procedure30311. If no resource group is specified, list available resource groups with locations, present a numbered list, and wait for the user to select by number or name.322. Validate the selected resource group exists.333. Query all resources in the resource group. With Azure CLI, start with `az resource list --resource-group <name> --output json`.344. For each resource, collect name, type, SKU or tier, location, key configuration properties, network settings, identity settings, and dependencies.355. Query resource-specific details where needed, for example `az network vnet show --resource-group <name> --name <vnet-name>`.366. Map relationships: network connections, data flows, identity access, configuration references, and parent-child dependencies.377. Build a Mermaid diagram using `graph TB` or `graph LR`, logical subgraphs, detailed labels, and descriptive connection labels.388. Create `[resource-group-name]-architecture.md` from `assets/template-architecture.md` with header, summary, resource inventory, architecture diagram, relationship details, notes, and recommendations.399. Report the file path, resource count, relationship count, and any permission gaps.4041## Resource analysis checklist4243| Area | Capture |44| --- | --- |45| Identity | Managed Identity, RBAC, Key Vault access, role assignments when visible. |46| Network | VNets, subnets, address ranges, NSGs, VNet peering, private endpoints, public access. |47| Compute | App Service plan tier such as `B1`, `S1`, `P1v2`; Function runtime such as `.NET`, Python, or Node. |48| Data | Azure SQL Database tier such as Basic, Standard, Premium; Storage Account redundancy such as `LRS`, `GRS`, `ZRS`. |49| Configuration | App Settings, connection strings, Key Vault references, API Management backends. |50| Dependencies | Parent-child resources, required resources, cross-resource-group dependencies, optional or conditional links. |51| Monitoring | Application Insights, Log Analytics, diagnostic settings, alerting resources. |5253## Relationship mapping5455| Relationship | Examples | Diagram edge |56| --- | --- | --- |57| Data flow | Apps → Databases, Functions → Storage, API Management → Backends | `-->` |58| Identity | App Service uses Managed Identity to access Key Vault | `-->\|"Uses identity"\|` |59| Network | VNet contains subnet; NSG applies to subnet; private endpoint targets PaaS | `-->` |60| Optional or inferred conditional path | Optional queue trigger or backup dependency | `-.->` |61| Critical primary path | Public ingress to API or required production dependency | `==>` |62| External dependency | Cross-resource-group or external service | Show as external node and note source. |6364## Mermaid diagram rules6566Use clear node IDs and line breaks with `<br/>`. Group by layer or purpose: Network Layer, Compute Layer, Data Layer, Security & Identity, Monitoring, and Other Resources. Include configuration details that affect architecture.6768```mermaid69graph TB70 subgraph "Resource Group: [name]"71 subgraph "Network Layer"72 VNET["Virtual Network<br/>10.0.0.0/16"]73 SUBNET1["Subnet: web<br/>10.0.1.0/24"]74 SUBNET2["Subnet: data<br/>10.0.2.0/24"]75 NSG["Network Security Group"]76 end7778 subgraph "Compute Layer"79 APP["App Service<br/>Plan: P1v2"]80 FUNC["Function App<br/>Runtime: .NET 8"]81 end8283 subgraph "Data Layer"84 SQL["Azure SQL Database<br/>DTU: S1"]85 STORAGE["Storage Account<br/>Type: Standard LRS"]86 end8788 subgraph "Security & Identity"89 KV["Key Vault"]90 MI["Managed Identity"]91 end92 end9394 APP -->|"HTTPS requests"| FUNC95 FUNC -->|"SQL connection"| SQL96 FUNC -->|"Blob/Queue access"| STORAGE97 APP -->|"Uses identity"| MI98 MI -->|"Access secrets"| KV99 VNET --> SUBNET1100 VNET --> SUBNET2101 SUBNET1 --> APP102 SUBNET2 --> SQL103 NSG -->|"Rules applied to"| SUBNET1104```105106## Edge cases107108| Situation | Response |109| --- | --- |110| No resources found | Inform the user and verify the resource group name. |111| Permission issue | Explain missing read permission and suggest checking RBAC. |112| 50+ resources | Consider multiple diagrams by layer while keeping one inventory. |113| Cross-resource-group dependencies | Include an external node and call out the dependency in notes. |114| No clear relationships | Group in `Other Resources` and explain that no verified dependency was found. |115116## Progressive disclosure and bundled resources117118- `assets/template-architecture.md`: template for the generated `[resource-group-name]-architecture.md` file.119120## Azure query and syntax vocabulary121122When using Azure MCP search, preserve these intent strings: `intent="list resource groups"`, `intent="list resources in group"`, and `intent="get resource details"`; use the `command` parameter only for specific Azure operations. `mermaid` syntax may include `subgraph "Descriptive Name"`, `ID["Display Name<br/>Details"]`, and `SOURCE -->|"Label"| TARGET` with `SOURCE` and `TARGET` node IDs. Use `top-to-bottom` for `graph TB`, `left-to-right` for `graph LR`, `critical/primary` for `==>`, and `optional/conditional` for `-.->`. Example resource group names and files include `rg-prod-app`, `rg-dev-app`, `rg-shared`, `[rg-name]-architecture.md`, `rg-prod-app-architecture`, and `rg-prod-app-architecture.md`. Capture `SKU/tier` and `Location/region`, and aim for `architect-level` output.123124## Output template125126```markdown127### Azure resource visualizer result128129**Status:** complete | needs selection | blocked130**Resource group:** `<name>`131**Output file:** `<resource-group-name>-architecture.md`132**Resources analyzed:** <count>133**Relationships mapped:** <count>134135| Resource | Type | Location | Key properties | Relationships |136| --- | --- | --- | --- | --- |137| `<name>` | `<type>` | `<region>` | `<sku, runtime, network, identity>` | `<connections>` |138139**Diagram**140- Mermaid syntax: valid | needs correction141- Layout: graph TB | graph LR142- Grouping: Network | Compute | Data | Security & Identity | Monitoring | Other143144**Notes**145- <permission gaps, external dependencies, or recommendations>146```147148## Quality gate149150- [ ] Resource group was selected or validated before analysis.151- [ ] All resources returned by the resource group query are included or explicitly explained.152- [ ] Each resource has name, type, location, and key properties captured.153- [ ] Network, data, identity, configuration, and dependency relationships were checked.154- [ ] Mermaid uses valid `graph TB` or `graph LR`, subgraphs, node labels, and descriptive edge labels.155- [ ] The markdown file was created from `assets/template-architecture.md` in the workspace root or `docs/`.156- [ ] No Azure resources were modified.
Run npx skillmds@latest add paulasilvatech/azure-resource-visualizer in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Analyze Azure resource groups and generate Mermaid architecture diagrams and markdown documentation for their resources and relationships. Use this skill when the user asks to diagram Azure resources, visualize a resource group, understand Azure architecture, map dependencies, or document resource relationships. It is listed under DevOps & Infra on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under Complete terms in LICENSE.
paulasilvatech (@paulasilvatech) published this skill. Their other Agent Skills are listed on their SkillMD profile.