Official agent skill

Azv Sketch To Diagram

by Azure in Azure/AZVerify

Convert a rough sketch or drawing of an Azure architecture into a professional Draw.io diagram using Azure-specific shapes.

OfficialMITAuto-check passedAgent Workflows

Install Azv Sketch To Diagram

skills CLI
$ npx skills add Azure/AZVerify --skill azv-sketch-to-diagram -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Azure/AZVerify azv-sketch-to-diagram --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
azv-sketch-to-diagram
GitHub stars
101
Token cost
~3.5k tokens
SKILL.md length
1,371 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Convert a rough sketch or drawing of an Azure architecture into a professional Draw.io diagram using Azure-specific shapes.

  • Works in 9 steps: Accept and Analyze the Sketch → Build the Resource Model → Ask Clarifying Questions → …
  • Tasks that involve Requirements gathering
  • SKILL.md covers Steps and Important Notes
  • Reaches learn.microsoft.com

What it does

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.

When your agent uses it

  • Tasks that involve Requirements gathering
  • Tasks that involve Cloud architecture
  • Tasks that involve Diagrams

Example prompts

  • “/azv-sketch-to-diagram”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Accept and Analyze the Sketch
  2. Build the Resource Model
  3. Ask Clarifying Questions
  4. Validate Architecture Feasibility
  5. Create Solution Folder
  6. Generate the Draw.io Diagram
  7. Verify Completeness
  8. Present for User Review
  9. Handle Change Requests (Review Loop)

What it can do on your machine

Read from SKILL.md and the folder at commit d6a2b92. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • learn.microsoft.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from Azure/AZVerify at commit d6a2b92, republished under its MIT licence (© Azure). 1,371 words, ~3,497 tokens.

Download SKILL.mdSave it as .claude/skills/azv-sketch-to-diagram/SKILL.md (or your agent's skills folder).
name
azv-sketch-to-diagram
description
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.
license
MIT
metadata.author
AzVerify
metadata.version
1.0
metadata.project
AzVerify

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)

Steps

1. Accept and Analyze the Sketch

Examine the user-provided input (image or text description) and identify all Azure resources, connections, and groupings.

If the user provided an image:

  • Analyze the image to identify shapes, labels, icons, text, arrows, lines, and containment boundaries
  • Map each identified element to an Azure resource type using the resource types listed in .github/skills/shared/azure-resource-model.md
  • Identify connections between resources (lines, arrows) and their direction
  • Identify containment (resources drawn inside boundaries labeled as VNets, subnets, resource groups)
  • If the image is blurry or low-resolution, do your best and flag uncertain elements for clarification

If the user provided a text description:

  • Parse the description to identify Azure resource types, quantities, and relationships
  • Infer connections and containment from the description context
2. Build the Resource Model

Construct a resource model (as defined in .github/skills/shared/azure-resource-model.md) from the analysis:

json
{
  "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.

3. Ask Clarifying Questions

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:

  • An element could be two or more different Azure resource types (e.g., "is this a VM or a Container Instance?")
  • A connection type is ambiguous (e.g., "is this VNet peering or a VPN connection?")
  • Resources are drawn but not labeled and cannot be confidently identified
  • The sketch lacks enough information to produce a meaningful diagram (ask for a text description)
  • A containment boundary is unclear (e.g., "is this box a resource group, a VNet, or a subnet?")

Do NOT ask about:

  • SKUs, pricing tiers, or scaling settings (those belong to the configuration manifest in diagram-to-bicep)
  • Deployment regions (unless needed to validate feasibility)
  • Resource naming conventions (use sensible defaults from sketch labels)

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.

4. Validate Architecture Feasibility

After the resource model is finalized (with clarifications resolved), validate that the architecture is feasible in Azure:

Check for:

  • Invalid resource types: Any resource type that doesn't exist in Azure. Suggest the closest valid type.
  • Incompatible connections: Connections Azure doesn't support (e.g., a resource placed in a subnet that can't be subnet-delegated, peering between incompatible VNet configurations).
  • Invalid containment: Resources placed inside containers they can't belong to (e.g., a Storage Account inside a subnet without Private Endpoint, an App Service directly inside a VNet without VNet Integration).
  • Missing implicit dependencies: Resources that require other resources not in the diagram (e.g., a VM without a NIC, an App Service without an App Service Plan). These should be added automatically or flagged.

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.

Verify Against Microsoft Documentation (MANDATORY)

HARD GATE: This step is mandatory and must not be skipped. You MUST call fetch_webpage at 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:

  • Storage Account → https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website
  • Azure Front Door → https://learn.microsoft.com/en-us/azure/frontdoor/front-door-overview
  • Application Gateway → https://learn.microsoft.com/en-us/azure/application-gateway/overview

Step 4b — Check for service retirement or deprecation:

In the fetched documentation, look for:

  • Retirement notices (banners, "Important" callouts mentioning retirement dates)
  • Migration recommendations (e.g., "migrate to Azure Front Door", "use the replacement service")
  • "Classic" or "legacy" labels that indicate the service has a newer replacement

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:

  1. Verify resource placement constraints — confirm that resources requiring dedicated subnets (Application Gateway, VNet Integration, Private Endpoints) are modeled correctly according to their official documentation.

  2. Verify connectivity patterns — confirm that connection types match documented Azure capabilities (e.g., Private Link targets, VNet peering requirements, service endpoint compatibility).

  3. 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.

Show full SKILL.md (464 more words)Show less
5. Create Solution Folder

Before generating the diagram, create a dedicated solution folder in the workspace root to hold all artifacts for this architecture:

  1. Derive a folder name from the architecture description or sketch labels (e.g., web-app-architecture, hub-spoke-network). Use lowercase kebab-case.
  2. Create the folder in the workspace root (e.g., web-app-architecture/).
  3. Save the original request into the folder so the input is always stored alongside the results:
    • If the user uploaded an image: Save it as original-sketch.<ext> (preserving the original format — PNG, JPG, etc.).
    • If the user provided a text description: Save the description as original-request.md with the user's original text quoted verbatim. Use a simple format:
      markdown
      # Original Architecture Request
      
      > <user's description, preserved exactly as provided>
    • If both an image and a text description were provided, save both files.

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.

6. Generate the Draw.io 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")
7. Verify Completeness

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.

8. Present for User Review

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"
9. Handle Change Requests (Review Loop)

If the user requests changes:

  1. Parse the change request to understand what to add, remove, or modify
  2. Update the resource model accordingly
  3. Re-validate the architecture (Step 4) if structural changes were made
  4. Regenerate the diagram XML with the changes
  5. Call the Draw.io MCP tool again with the updated XML
  6. Present the updated summary and ask for further 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.

Important Notes

  • This skill operates independently — it does not require diagram-to-bicep or diagram-azure-sync.
  • Do NOT ask about deployment settings (SKUs, tiers, scaling). Those are handled by the configuration manifest in diagram-to-bicep.
  • Always use the Draw.io MCP for diagram creation — never output raw XML for the user to manually save.
  • Follow all diagram construction rules in .github/skills/shared/drawio-diagram-conventions.md — stencil lookup, icon paths, layout patterns, and anti-patterns are all documented there.
  • Keep clarifying questions to the minimum needed. Prefer making reasonable assumptions (and stating them) over asking many questions.

© Azure, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/azv-sketch-to-diagram of Azure/AZVerify.

Open the folder on GitHubat commit d6a2b92

Compare with similar skills

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.

Azv Sketch To Diagram compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Azv Sketch To Diagram this skillAzure/AZVerify101—~3.5kAutomated safety check: PassMIT
Azure Draw.io MCP Diagramsthomast1906/github-copilot-agent-skills202—~3.1kAutomated safety check: PassNone
Drawio Azuresparklabx/drawio-ai-kit655—~1.6kAutomated safety check: PassMIT
Drawio MCP Diagrammingthomast1906/github-copilot-agent-skills202—~6.6kAutomated safety check: PassNone
Azure Well Architected Reviewgithub/awesome-copilot40k—~2.5kAutomated safety check: PassMIT
Terravision Cloud Diagramspatrickchugh/terravision1.6k—~5.6kAutomated safety check: NotesAGPL-3.0-only

Similar skills

  • 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.

    202 GitHub stars~3.1k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Drawio Azure

    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.

    655 GitHub stars~1.6k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Drawio MCP Diagramming

    thomast1906/github-copilot-agent-skills

    Create and edit diagrams using the Draw.io MCP server — any shape, any vendor.

    202 GitHub stars~6.6k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Azure Well Architected Review

    github/awesome-copilot

    Official

    Perform an Azure Well-Architected Framework review of the current workload IaC and architecture, generating findings and GitHub issues for improvements.

    40k GitHub stars~2.5k tokensUpdated 2 days ago
    DevOps & CloudAuto-check passed
  • Terravision Cloud Diagrams

    patrickchugh/terravision

    Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.

    1.6k GitHub stars~5.6k tokensUpdated 4 days ago
    DevOps & CloudAuto-check: notes
  • Drawio AWS

    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.

    655 GitHub stars~1.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed

More from Azure/AZVerify

All 9 skills in this repo
  • Azv Azure To Diagram

    Azure/AZVerify

    Official

    Reverse-engineer a live Azure scope (resource group or filtered subscription) into a professional Draw.io architecture diagram following established AzVerify conventions.

    101 GitHub stars~5.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Official

    Compare Bicep templates against a Draw.io Azure architecture diagram to detect resource-level divergence.

    101 GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Azv Azure To Bicep

    Azure/AZVerify

    Official

    Reverse-engineer a live Azure scope (resource group or filtered subscription) into deployment-ready, modular Bicep templates with parameter files.

    101 GitHub stars~5.4k tokensUpdated 1 mo ago
    Auto-check: warnings
  • Official

    Check a Bicep template against the Azure Policy assignments in the target Azure environment to determine whether the resources would be compliant before deployment.

    101 GitHub stars~4.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Azv Bicep Whatif

    Azure/AZVerify

    Official

    Compare Bicep templates against a live Azure environment by querying Azure directly and parsing the Bicep template.

    101 GitHub stars~3.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Official

    Compare a Draw.io Azure architecture diagram against a live Azure environment to detect drift.

    101 GitHub stars~3.7k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Azv Sketch To Diagram

What does Azv Sketch To Diagram do?

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.

When should I use Azv Sketch To Diagram?

Azv Sketch To Diagram fits situations like: tasks that involve Requirements gathering; tasks that involve Cloud architecture; tasks that involve Diagrams.

How do I install Azv Sketch To Diagram in Claude Code?

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.

How do I install Azv Sketch To Diagram in Codex?

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.

Can I use Azv Sketch To Diagram in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Azv Sketch To Diagram need to run?

SKILL.md names no scripts, command-line tools or credentials: Azv Sketch To Diagram is instructions for the agent only.

Does Azv Sketch To Diagram access the network?

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.

Is Azv Sketch To Diagram safe to install?

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.

What licence does Azv Sketch To Diagram use?

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.

How many tokens does Azv Sketch To Diagram use?

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.

What are the alternatives to Azv Sketch To Diagram?

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.

Who maintains Azv Sketch To Diagram?

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.