cmb211087/azure-diagrams-skill/azure-diagrams

Claude Code and agent skill by cmb211087/azure-diagrams-skill

Trust tier 2
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Comprehensive technical diagramming toolkit for solutions architects, presales, and developers. Creates Azure architecture diagrams (800+ Azure service icons), business process flows (swimlanes, workflows), ERD diagrams (database schemas), project timelines, UI wireframes, and network topology diagrams. Perfect for proposals, documentation, and architecture reviews. Also generates diagrams from Bicep, Terraform, and ARM templates.

Install

npx vskill@latest install cmb211087/azure-diagrams-skill/azure-diagrams

SKILL.md

Azure Architecture Diagrams Skill

A comprehensive technical diagramming toolkit for solutions architects, presales engineers, and developers. Generate professional diagrams for proposals, documentation, and architecture reviews.

⚡ Execution Method

Run the Python directly to generate the image, and keep the image but do not leave a throwaway .py script behind. The generated file is the deliverable.

Output location (portable). Write to a diagrams/ folder in the current working directory - this works in every tool and on every OS. If you are running in a sandbox that provides /mnt/user-data/outputs (e.g. Claude Code on the web), prefer that. Create the folder first.

POSIX shells (Claude Code, Cursor, Linux/macOS - bash/zsh):

bash
mkdir -p diagrams
python3 << 'EOF'
from diagrams import Diagram
from diagrams.azure.compute import AKS
from diagrams.azure.database import CosmosDb
with Diagram("My Architecture", filename="diagrams/architecture", show=False, outformat="png"):
AKS("aks-prod") >> CosmosDb("cosmos-prod")
EOF

Windows PowerShell (e.g. GitHub Copilot on Windows - no heredoc): write a short script, run it, then delete it so nothing is left behind:

powershell
New-Item -ItemType Directory -Force diagrams > $null
@'
from diagrams import Diagram
from diagrams.azure.compute import AKS
from diagrams.azure.database import CosmosDb
with Diagram("My Architecture", filename="diagrams/architecture", show=False, outformat="png"):
AKS("aks-prod") >> CosmosDb("cosmos-prod")
'@ | Set-Content _diagram.py; python _diagram.py; Remove-Item _diagram.py

Canned patterns (cross-platform) - use the bundled generator instead of writing code:

bash
python scripts/generate_diagram.py --list # list available patterns
python scripts/generate_diagram.py --pattern <name> --output diagrams/arch

📊 Diagram Types

TypeReference FileExample Prompt
Azure Architecturereferences/azure-components.md"Design a microservices architecture with AKS and Cosmos DB"
Business Process Flowreferences/business-process-flows.md"Create a swimlane for invoice approval workflow"
Entity Relationship (ERD)references/entity-relationship-diagrams.md"Generate an ERD for customer and order entities"
Timeline / Ganttreferences/timeline-gantt-diagrams.md"Create a 6-month migration roadmap"
UI Wireframereferences/ui-wireframe-diagrams.md"Design a KPI dashboard layout"
Common Patternsreferences/common-patterns.md"Show a hub-spoke network topology"

🔥 Bonus: Generate from Code

Can also create diagrams directly from infrastructure code:

Read the Bicep files in /infra and generate an architecture diagram
Analyze our Terraform modules and create a diagram grouped by subnet
Read azure-pipelines.yml and create a CI/CD pipeline diagram

Supports: Bicep, Terraform, ARM Templates, Azure Pipelines YAML, GitHub Actions

See references/iac-to-diagram.md for detailed prompts and examples.


Prerequisites

bash
# 1) Graphviz - the rendering engine (system package, not pip). Restart the terminal after.
winget install -e --id Graphviz.Graphviz # Windows (or: choco install graphviz)
brew install graphviz # macOS
sudo apt-get install -y graphviz # Linux (Debian/Ubuntu)
# 2) Python library (a virtual environment is recommended):
pip install "diagrams>=0.25.1"
# optional extras: matplotlib (timeline/Gantt/wireframe), cairosvg (portable SVG)

Quick Start

python
from diagrams import Diagram, Cluster, Edge
from diagrams.azure.compute import FunctionApps, AKS, AppServices
from diagrams.azure.network import ApplicationGateway, LoadBalancers
from diagrams.azure.database import CosmosDb, SQLDatabases, CacheForRedis
from diagrams.azure.storage import BlobStorage
from diagrams.azure.integration import LogicApps, ServiceBus, APIManagement
from diagrams.azure.security import KeyVaults
from diagrams.azure.identity import ActiveDirectory
from diagrams.azure.ml import CognitiveServices
with Diagram("Azure Solution Architecture", show=False, direction="TB"):
users = ActiveDirectory("Users")
with Cluster("Frontend"):
gateway = ApplicationGateway("App Gateway")
web = AppServices("Web App")
with Cluster("Backend"):
api = APIManagement("API Management")
functions = FunctionApps("Functions")
aks = AKS("AKS")
with Cluster("Data"):
cosmos = CosmosDb("Cosmos DB")
sql = SQLDatabases("SQL Database")
redis = CacheForRedis("Redis Cache")
blob = BlobStorage("Blob Storage")
with Cluster("Integration"):
bus = ServiceBus("Service Bus")
logic = LogicApps("Logic Apps")
users >> gateway >> web >> api
api >> [functions, aks]
functions >> [cosmos, bus]
aks >> [sql, redis]
bus >> logic >> blob

Supported Diagram Types

TypeReference FileUse Case
Azure Architecturereferences/azure-components.mdCloud infrastructure, solution designs
Common Patternsreferences/common-patterns.mdWeb apps, microservices, serverless, data platforms
Business Process Flowreferences/business-process-flows.mdWorkflows, swimlanes, decisions
Entity Relationship (ERD)references/entity-relationship-diagrams.mdDatabase schemas, data models
Timeline / Ganttreferences/timeline-gantt-diagrams.mdProject plans, roadmaps
UI Wireframereferences/ui-wireframe-diagrams.mdScreen mockups, dashboards

Azure Service Categories

CategoryImportKey Services
Computediagrams.azure.computeVM, AKS, Functions, App Service, Container Apps, Batch
Networkingdiagrams.azure.networkVNet, Load Balancer, App Gateway, Front Door, Firewall, ExpressRoute
Databasediagrams.azure.databaseSQL, Cosmos DB, PostgreSQL, MySQL, Redis, Synapse
Storagediagrams.azure.storageBlob, Files, Data Lake, NetApp, Queue, Table
Integrationdiagrams.azure.integrationLogic Apps, Service Bus, Event Grid, APIM, Data Factory
Securitydiagrams.azure.securityKey Vault, Sentinel, Defender, Security Center
Identitydiagrams.azure.identityEntra ID, B2C, Managed Identity, Conditional Access
AI/MLdiagrams.azure.mlAzure OpenAI, Cognitive Services, ML Workspace, Bot Service
Analyticsdiagrams.azure.analyticsSynapse, Databricks, Data Explorer, Stream Analytics, Event Hubs
IoTdiagrams.azure.iotIoT Hub, IoT Edge, Digital Twins, Time Series Insights
DevOpsdiagrams.azure.devopsAzure DevOps, Pipelines, Repos, Boards, Artifacts
Webdiagrams.azure.webApp Service, Static Web Apps, CDN, Media Services
Monitordiagrams.azure.monitorMonitor, App Insights, Log Analytics

See references/azure-components.md for the complete list of 800+ components.

Common Architecture Patterns

Web Application (3-Tier)
python
from diagrams.azure.network import ApplicationGateway
from diagrams.azure.compute import AppServices
from diagrams.azure.database import SQLDatabases
gateway >> AppServices("Web") >> SQLDatabases("DB")
Microservices with AKS
python
from diagrams.azure.compute import AKS, ACR
from diagrams.azure.network import ApplicationGateway
from diagrams.azure.database import CosmosDb
gateway >> AKS("Cluster") >> CosmosDb("Data")
ACR("Registry") >> AKS("Cluster")
Serverless / Event-Driven
python
from diagrams.azure.compute import FunctionApps
from diagrams.azure.integration import EventGridTopics, ServiceBus
from diagrams.azure.storage import BlobStorage
EventGridTopics("Events") >> FunctionApps("Process") >> ServiceBus("Queue")
BlobStorage("Trigger") >> FunctionApps("Process")
Data Platform
python
from diagrams.azure.analytics import DataFactories, Databricks, SynapseAnalytics
from diagrams.azure.storage import DataLakeStorage
DataFactories("Ingest") >> DataLakeStorage("Lake") >> Databricks("Transform") >> SynapseAnalytics("Serve")
Hub-Spoke Networking
python
from diagrams.azure.network import VirtualNetworks, Firewall, VirtualNetworkGateways
with Cluster("Hub"):
firewall = Firewall("Firewall")
vpn = VirtualNetworkGateways("VPN")
with Cluster("Spoke 1"):
spoke1 = VirtualNetworks("Workload 1")
spoke1 >> firewall

Connection Syntax

python
# Basic connections
a >> b # Simple arrow
a >> b >> c # Chain
a >> [b, c, d] # Fan-out (one to many)
[a, b] >> c # Fan-in (many to one)
# Labeled connections
a >> Edge(label="HTTPS") >> b # With label
a >> Edge(label="443") >> b # Port number
# Styled connections
a >> Edge(style="dashed") >> b # Dashed line (config/secrets)
a >> Edge(style="dotted") >> b # Dotted line
a >> Edge(color="red") >> b # Colored
a >> Edge(color="red", style="bold") >> b # Combined
# Bidirectional
a >> Edge(label="sync") << b # Two-way
a - Edge(label="peer") - b # Undirected

Diagram Attributes

python
with Diagram(
"Title",
show=False, # Don't auto-open
filename="output", # Output filename (no extension)
direction="TB", # TB, BT, LR, RL
outformat="png", # png (default, portable), svg, jpg, pdf
graph_attr={
"splines": "spline", # Curved edges
"nodesep": "1.0", # Horizontal spacing
"ranksep": "1.0", # Vertical spacing
"pad": "0.5", # Graph padding
"bgcolor": "white", # Background color
}
):

Clusters (Grouping)

python
with Cluster("Resource Group"):
with Cluster("Subnet A"):
vm1 = VM("VM 1")
vm2 = VM("VM 2")
with Cluster("Subnet B"):
db = SQLDatabases("Database")

Cluster styling:

python
with Cluster("Styled", graph_attr={"bgcolor": "#E8F4FD", "style": "rounded"}):

Troubleshooting

Overlapping Nodes

Increase spacing for complex diagrams:

python
graph_attr={
"nodesep": "1.2", # Horizontal (default 0.25)
"ranksep": "1.2", # Vertical (default 0.5)
"pad": "0.5"
}
Floating Edge Labels

Use xlabel instead of label:

python
# Instead of Edge(label="text")
a >> Edge(xlabel="text") >> b
Excessive Whitespace

Compress the output:

python
graph_attr={"pad": "0.2", "margin": "0", "ratio": "compress"}
Force Horizontal Alignment

Use subgraphs with same rank:

python
with Diagram(...):
# These will be on the same horizontal level
with Cluster("") as same_level:
same_level.dot.body.append('rank=same')
a = ServiceA("A")
b = ServiceB("B")

See references/preventing-overlaps.md for detailed guidance.

Output Location

Save to a diagrams/ folder in the working directory (portable across tools and OSes), or to /mnt/user-data/outputs when running in a sandbox that provides it. Create the folder first with mkdir -p diagrams (POSIX) or New-Item -ItemType Directory -Force diagrams (PowerShell).

python
with Diagram("Name", show=False, filename="diagrams/architecture", outformat="png"):
# ...

⚠️ CRITICAL: Professional Output Standards

The Key Setting: labelloc='t'

To keep labels inside cluster boundaries with the diagrams library, put labels ABOVE icons:

python
node_attr = {
"fontname": "Arial Bold",
"fontsize": "11",
"labelloc": "t", # KEY: Labels at TOP - stays inside clusters!
}

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 86 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationFailed, 63 of 100Degrading. 1 run. Evaluated 8 months ago.

Source

Popularity

Repository stars
122
Repository forks
31
7-day trend score
24

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 5 Apr 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/cmb211087/azure-diagrams-skill/azure-diagrams/badge)](https://verified-skill.com/skills/cmb211087/azure-diagrams-skill/azure-diagrams)

Something wrong with this skill or its page? Tell us.