Azure Draw.io MCP Diagrams
thomast1906/github-copilot-agent-skills
Creates and edits architecture diagrams through the Draw.io MCP tool, with guidance for rendering Azure icons correctly and laying out network diagrams.
Convert a rough sketch or drawing of an Azure architecture into a professional Draw.io diagram using Azure-specific shapes.
$ npx skills add Azure/AZVerify --skill azv-sketch-to-diagram -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Azure/AZVerify azv-sketch-to-diagram --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/azv-sketch-to-diagram .claude/skills/azv-sketch-to-diagram && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "azv-sketch-to-diagram" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-sketch-to-diagram into .claude/skills/azv-sketch-to-diagram/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-sketch-to-diagram", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-sketch-to-diagramType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Azure/AZVerify --skill azv-sketch-to-diagram -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Azure/AZVerify azv-sketch-to-diagram --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/azv-sketch-to-diagram .agents/skills/azv-sketch-to-diagram && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "azv-sketch-to-diagram" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-sketch-to-diagram into .agents/skills/azv-sketch-to-diagram/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-sketch-to-diagram", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Azure/AZVerify --skill azv-sketch-to-diagram -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Azure/AZVerify azv-sketch-to-diagram --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/azv-sketch-to-diagram .cursor/skills/azv-sketch-to-diagram && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "azv-sketch-to-diagram" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-sketch-to-diagram into .cursor/skills/azv-sketch-to-diagram/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-sketch-to-diagram", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Azure/AZVerify.git --path .github/skills/azv-sketch-to-diagram--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Azure/AZVerify --skill azv-sketch-to-diagram -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Azure/AZVerify azv-sketch-to-diagram --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/azv-sketch-to-diagram .gemini/skills/azv-sketch-to-diagram && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "azv-sketch-to-diagram" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-sketch-to-diagram into .gemini/skills/azv-sketch-to-diagram/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-sketch-to-diagram", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Azure/AZVerify azv-sketch-to-diagramInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Azure/AZVerify --skill azv-sketch-to-diagram -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/azv-sketch-to-diagram .github/skills/azv-sketch-to-diagram && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "azv-sketch-to-diagram" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-sketch-to-diagram into .github/skills/azv-sketch-to-diagram/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-sketch-to-diagram", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Azure/AZVerify --skill azv-sketch-to-diagram -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Azure/AZVerify azv-sketch-to-diagram --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/azv-sketch-to-diagram .opencode/skills/azv-sketch-to-diagram && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "azv-sketch-to-diagram" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-sketch-to-diagram into .opencode/skills/azv-sketch-to-diagram/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-sketch-to-diagram", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
azv-sketch-to-diagramConvert a rough sketch or drawing of an Azure architecture into a professional Draw.io diagram using Azure-specific shapes.
Azv Sketch To Diagram is an agent skill from Azure/AZVerify, published by the product's own GitHub organization. Convert a rough sketch or drawing of an Azure architecture into a professional Draw.io diagram using Azure-specific shapes. Upload a sketch image or describe your architecture, and this skill will identify resources, ask clarifying questions, validate feasibility, and generate the diagram via the Draw.io MCP.
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Requirements gathering, Cloud architecture and Diagrams. It works with Microsoft Azure, draw.io, Model Context Protocol and GitHub. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d6a2b92. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
learn.microsoft.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Azv Sketch To Diagram loads about 3.5k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 1,371 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Azure/AZVerify at commit d6a2b92, republished under its MIT licence (© Azure). 1,371 words, ~3,497 tokens.
.claude/skills/azv-sketch-to-diagram/SKILL.md (or your agent's skills folder).Convert a rough Azure architecture sketch into a professional Draw.io diagram.
Input: A sketch image (PNG, JPG, photo of whiteboard) uploaded through chat, or a text description of an Azure architecture.
Tools required: Draw.io MCP (mcp_drawio_create_diagram or mcp_draw_io_create_diagram)
Reference files:
.github/skills/shared/azure-resource-model.md — Shared resource metadata model definition.github/skills/shared/azure-stencil-mapping.json — Azure resource type to Draw.io stencil mapping (includes non-obvious icon paths and naming exceptions)Examine the user-provided input (image or text description) and identify all Azure resources, connections, and groupings.
If the user provided an image:
.github/skills/shared/azure-resource-model.mdIf the user provided a text description:
Construct a resource model (as defined in .github/skills/shared/azure-resource-model.md) from the analysis:
{
"resources": [
{
"id": "<slug>",
"type": "<Microsoft.Provider/resourceType>",
"name": "<resource-name>",
"resourceGroup": "<rg-name>",
"location": "",
"properties": {},
"relationships": [
{ "targetId": "<other-id>", "type": "contains|connects|depends|peers|secures|routes" }
]
}
]
}Use the resource types from the mapping in .github/skills/shared/azure-stencil-mapping.json to ensure each resource can be represented with a proper Azure icon.
You MUST output the full resource model JSON in the chat so the user can review it before diagram generation. This serves as a checkpoint — every resource listed here must appear in the final diagram.
Before proceeding, check for ambiguities and ask the user only essential questions. Limit to the minimum needed to produce a correct diagram.
Ask clarifying questions when:
Do NOT ask about:
Format questions as a numbered list so the user can answer efficiently:
I identified the following from your sketch. A few things need clarification:
1. The element labeled "Web" — is this an **App Service**, **Container App**, or **VM**?
2. The connection between the database and storage — is this a **data flow** or a **Private Endpoint** connection?
3. The outer boundary — is this a **Resource Group** or a **VNet**?Wait for the user's answers and update the resource model accordingly.
After the resource model is finalized (with clarifications resolved), validate that the architecture is feasible in Azure:
Check for:
If issues are found, present a validation summary:
## Architecture Validation
I found the following issues with the architecture:
1. ⚠️ **App Service in subnet**: App Services cannot be placed directly in a subnet.
→ Suggested fix: Add VNet Integration to connect the App Service to the subnet.
2. ❌ **Unknown resource type "DataLake"**: This is not a standard Azure resource type.
→ Did you mean **Azure Data Lake Storage Gen2** (Storage Account with hierarchical namespace)?
3. ℹ️ **VM without NIC**: The VM "web-vm" needs a Network Interface.
→ I'll add a NIC automatically.
Please confirm the fixes or provide alternatives.Wait for user confirmation before proceeding. If no issues are found, proceed directly to documentation verification.
HARD GATE: This step is mandatory and must not be skipped. You MUST call
fetch_webpageat least once against Microsoft Learn documentation before proceeding to Step 5. Do NOT proceed to diagram generation without completing this verification. Asserting checks pass without actually fetching documentation is not acceptable.
After structural validation, verify the architecture against official Microsoft documentation to ensure the design follows Azure-recommended patterns and uses current, supported Azure services:
Step 4a — Fetch documentation for EVERY Azure service in the resource model:
For each distinct Azure service type in the resource model, call fetch_webpage against its Microsoft Learn overview page. Construct the URL as https://learn.microsoft.com/en-us/azure/<service-name>/overview or the service's main documentation page. This is not optional — you must make at least one fetch_webpage call per service type. Examples:
https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-websitehttps://learn.microsoft.com/en-us/azure/frontdoor/front-door-overviewhttps://learn.microsoft.com/en-us/azure/application-gateway/overviewStep 4b — Check for service retirement or deprecation:
In the fetched documentation, look for:
If a service is retired or on a retirement path, replace it in the resource model with the recommended successor and inform the user.
Step 4c — Verify architecture patterns:
Verify resource placement constraints — confirm that resources requiring dedicated subnets (Application Gateway, VNet Integration, Private Endpoints) are modeled correctly according to their official documentation.
Verify connectivity patterns — confirm that connection types match documented Azure capabilities (e.g., Private Link targets, VNet peering requirements, service endpoint compatibility).
Verify DNS and name resolution — for architectures using Private Endpoints, confirm the correct Private DNS Zone names (e.g., privatelink.database.windows.net for SQL Database) match the documented values.
Step 4d — Present the verification table:
The table MUST include the actual URL fetched for each check. A check without a URL means it wasn't actually verified.
## Microsoft Documentation Verification
| Check | Status | URL Fetched | Finding |
|-------|--------|-------------|---------|
| Storage Account static website support | PASS | https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website | Supported, content served from $web container |
| Azure CDN retirement status | FAIL | https://learn.microsoft.com/en-us/azure/cdn/cdn-overview | Edgio retired Jan 2025, Microsoft classic retiring Sep 2027. Migrate to Front Door. |
| Azure Front Door as CDN replacement | PASS | https://learn.microsoft.com/en-us/azure/frontdoor/front-door-overview | Front Door Standard/Premium is the recommended replacement |If any check has status FAIL, update the resource model before proceeding to Step 5 and inform the user of the changes.
Before generating the diagram, create a dedicated solution folder in the workspace root to hold all artifacts for this architecture:
web-app-architecture, hub-spoke-network). Use lowercase kebab-case.web-app-architecture/).original-sketch.<ext> (preserving the original format — PNG, JPG, etc.).original-request.md with the user's original text quoted verbatim. Use a simple format:# Original Architecture Request
> <user's description, preserved exactly as provided>This folder will also be used by later skills (diagram-to-bicep, diagram-azure-sync) to store Bicep templates, configuration manifests, and other generated artifacts alongside the diagram.
Using the validated resource model, generate a Draw.io diagram. Save the diagram inside the solution folder created in Step 5.
Follow all diagram construction rules in .github/skills/shared/drawio-diagram-conventions.md (canvas format, stencil mapping, resource shapes, container shapes, edges, VNet Integration, layout, sizing).
Sketch-specific layout note: When the input is a sketch image, treat the sketch's spatial arrangement as the primary layout guide. Preserve the left/right/top/bottom positioning of resources and containers as drawn. The goal is a polished version of the original sketch, not a generic auto-layout. Apply the shared layout rules within those spatial constraints.
Call the Draw.io MCP tool:
Use tool: mcp_drawio_create_diagram (or mcp_draw_io_create_diagram)
Parameters:
- xml: <the generated mxGraphModel XML>
- fileName: <solution-folder>/<name>.drawio (e.g., "web-app-architecture/web-app-architecture.drawio")Follow the pre-delivery completeness verification procedure in .github/skills/shared/drawio-diagram-conventions.md (section 8). Fix any missing resources or edges before proceeding.
After generating the diagram, present a summary to the user:
## Diagram Generated ✓
I've created the Draw.io diagram with the following resources:
| Resource | Type | Location |
|----------|------|----------|
| web-vm | Virtual Machine | rg-main |
| webstorage | Storage Account | rg-main |
| ... | ... | ... |
**Connections:**
- web-vm → webstorage (data flow)
- ...
The diagram has been saved as `web-app-architecture/web-app-architecture.drawio`.
Would you like to make any changes? For example:
- "Add a load balancer in front of the VMs"
- "Remove the SQL database"
- "Move the storage account to a different resource group"If the user requests changes:
Repeat until the user confirms the diagram is correct.
When the user confirms:
Diagram finalized and saved in the `<solution-folder>/` folder.
You can use this folder with the **azv-diagram-to-bicep** skill to generate Bicep templates,
or with **azv-diagram-azure-sync** to compare it against a live Azure environment..github/skills/shared/drawio-diagram-conventions.md — stencil lookup, icon paths, layout patterns, and anti-patterns are all documented there.© Azure, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .github/skills/azv-sketch-to-diagram of Azure/AZVerify.
Open the folder on GitHubat commit d6a2b92
Azv Sketch To Diagram next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Azv Sketch To Diagram this skillAzure/AZVerify | 101 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Azure Draw.io MCP Diagramsthomast1906/github-copilot-agent-skills | 202 | — | ~3.1k | Automated safety check: Pass | None | |
| Drawio Azuresparklabx/drawio-ai-kit | 655 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Drawio MCP Diagrammingthomast1906/github-copilot-agent-skills | 202 | — | ~6.6k | Automated safety check: Pass | None | |
| Azure Well Architected Reviewgithub/awesome-copilot | 40k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Terravision Cloud Diagramspatrickchugh/terravision | 1.6k | — | ~5.6k | Automated safety check: Notes | AGPL-3.0-only |
thomast1906/github-copilot-agent-skills
Creates and edits architecture diagrams through the Draw.io MCP tool, with guidance for rendering Azure icons correctly and laying out network diagrams.
sparklabx/drawio-ai-kit
A skill your agent uses when the user asks for an Azure architecture diagram — VNet/networking, App Service, AKS, landing zone, multi-region, or any diagram built with Azure service icons.
thomast1906/github-copilot-agent-skills
Create and edit diagrams using the Draw.io MCP server — any shape, any vendor.
github/awesome-copilot
Perform an Azure Well-Architected Framework review of the current workload IaC and architecture, generating findings and GitHub issues for improvements.
patrickchugh/terravision
Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.
sparklabx/drawio-ai-kit
A skill your agent uses when the user asks for an AWS architecture diagram — VPC/networking, event-driven, landing zone, multi-AZ, serverless pipeline, or any diagram built with AWS service icons.
Azure/AZVerify
Reverse-engineer a live Azure scope (resource group or filtered subscription) into a professional Draw.io architecture diagram following established AzVerify conventions.
Azure/AZVerify
Compare Bicep templates against a Draw.io Azure architecture diagram to detect resource-level divergence.
Azure/AZVerify
Reverse-engineer a live Azure scope (resource group or filtered subscription) into deployment-ready, modular Bicep templates with parameter files.
Azure/AZVerify
Check a Bicep template against the Azure Policy assignments in the target Azure environment to determine whether the resources would be compliant before deployment.
Azure/AZVerify
Compare Bicep templates against a live Azure environment by querying Azure directly and parsing the Bicep template.
Azure/AZVerify
Compare a Draw.io Azure architecture diagram against a live Azure environment to detect drift.
Categories
Convert a rough sketch or drawing of an Azure architecture into a professional Draw.io diagram using Azure-specific shapes. Azv Sketch To Diagram is an agent skill from Azure/AZVerify, published by the product's own GitHub organization.io diagram using Azure-specific shapes.
Azv Sketch To Diagram fits situations like: tasks that involve Requirements gathering; tasks that involve Cloud architecture; tasks that involve Diagrams.
Run `npx skills add Azure/AZVerify --skill azv-sketch-to-diagram -a claude-code`. Or copy the skill folder (.github/skills/azv-sketch-to-diagram in Azure/AZVerify) into .claude/skills/azv-sketch-to-diagram in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Azure/AZVerify --skill azv-sketch-to-diagram -a codex`. Or copy the skill folder (.github/skills/azv-sketch-to-diagram in Azure/AZVerify) into .agents/skills/azv-sketch-to-diagram in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Azure/AZVerify --skill azv-sketch-to-diagram -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/azv-sketch-to-diagram, .gemini/skills/azv-sketch-to-diagram, .github/skills/azv-sketch-to-diagram and .opencode/skills/azv-sketch-to-diagram in your project.
SKILL.md names no scripts, command-line tools or credentials: Azv Sketch To Diagram is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: learn.microsoft.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Azv Sketch To Diagram is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Azv Sketch To Diagram: Azure Draw.io MCP Diagrams (thomast1906/github-copilot-agent-skills, 202 stars), Drawio Azure (sparklabx/drawio-ai-kit, 655 stars), Drawio MCP Diagramming (thomast1906/github-copilot-agent-skills, 202 stars) and Azure Well Architected Review (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Azure (a GitHub organization, an official publisher) maintains it in Azure/AZVerify, which has 101 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on August 27, 2026.
Source: Azure/AZVerify on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.