Azure Devtest Labs logo

Azure Devtest Labs

Organization
MicrosoftDocs
azure-devtest-labs

Expert knowledge for Azure DevTest Labs development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when managing lab VM images, ARM/CI-CD automation, RBAC/Key Vault security, hub-spoke networking, or quotas, and other Azure DevTest Labs related development tasks. Not for Azure Lab Services (use azure-lab-services), Azure Dev Box (use azure-dev-box), Azure Virtual Machines (use azure-virtual-machines), Azure Virtual Desktop (use azure-virtual-desktop).

Overview

PublisherMicrosoftDocs
RepositoryAgent-Skills
Skill nameazure-devtest-labs
Stars
778
Forks
126
Bundled files
Instructions only
LicenseCC-BY-4.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by MicrosoftDocs on GitHub. Read the source before you install it.

Installation

Install the Azure Devtest Labs AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-devtest-labs
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/MicrosoftDocs/Agent-Skills.git /tmp/Agent-Skills
mkdir -p .claude/skills
cp -r /tmp/Agent-Skills/skills/azure-devtest-labs .claude/skills/azure-devtest-labs
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Azure Devtest Labs in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Azure Devtest Labs on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Azure Devtest Labs is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Azure DevTest Labs Skill

This skill provides expert guidance for Azure DevTest Labs. Covers troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.

How to Use This Skill

IMPORTANT for Agent: Use the Category Index below to locate relevant sections. For categories with line ranges (e.g., L35-L120), use read_file with the specified lines. For categories with file links (e.g., [security.md](security.md)), use read_file on the linked reference file

IMPORTANT for Agent: If metadata.generated_at is more than 3 months old, suggest the user pull the latest version from the repository. If mcp_microsoftdocs tools are not available, suggest the user install it: Installation Guide

This skill requires network access to fetch documentation content:

  • Preferred: Use mcp_microsoftdocs:microsoft_docs_fetch with query string from=learn-agent-skill. Returns Markdown.
  • Fallback: Use fetch_webpage with query string from=learn-agent-skill&accept=text/markdown. Returns Markdown.

Category Index

CategoryLinesDescription
TroubleshootingL37-L44Diagnosing and fixing DevTest Labs VM and environment creation/deployment issues, artifact application failures, connectivity problems, and handling Defender for Cloud security alerts.
Best PracticesL45-L49Guidance on organizing and collaborating on DevTest Labs infrastructure as code across teams, including branching, environments, and distributed resource development workflows
Decision MakingL50-L58Guidance on planning PoCs and enterprise-scale deployments, choosing images and Gen1 vs Gen2 VMs, and setting governance for organization-wide DevTest Labs use.
Architecture & Design PatternsL59-L63Enterprise-scale DevTest Labs architectures: hub-spoke design, network/security layout, governance, cost management, and best practices for large org lab deployments.
Limits & QuotasL64-L68Managing DevTest Labs limits and quotas, viewing current usage, and requesting or configuring quota increases for labs, VMs, and related resources.
SecurityL69-L86Securing DevTest Labs: identities, RBAC and granular policy permissions, secrets/Key Vault, disk/storage encryption, secure VM access (RDP Gateway, Bastion, browser), Trusted Launch, and security alerts.
ConfigurationL87-L108Configuring DevTest Labs environments and VMs: images, networks, policies, costs, tags, ARM templates, artifacts, activity logs, alerts, IPs, and resource groups.
Integrations & Coding PatternsL109-L128Automating DevTest Labs with ARM, PowerShell, CLI, Functions, and Automation: creating/importing VMs, managing images/VHDs, environments, users, VM start/stop, and cross-lab usage reporting.
DeploymentL129-L135Guides for deploying and migrating DevTest Labs: ARM templates, CI/CD and Azure Pipelines integration, region moves, and handling Azure Basic Load Balancer retirement.

Troubleshooting

Best Practices

Decision Making

Architecture & Design Patterns

TopicURL
Enterprise reference architecture for Azure DevTest Labshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-reference-architecture

Limits & Quotas

TopicURL
View and increase Azure DevTest Labs quotas and limitshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-scale-lab

Security

TopicURL
Configure managed identity for Azure DevTest Labshttps://learn.microsoft.com/en-us/azure/devtest-labs/configure-lab-identity
Secure DevTest Labs access with Remote Desktop Gatewayhttps://learn.microsoft.com/en-us/azure/devtest-labs/configure-lab-remote-desktop-gateway
Secure DevTest Labs VM access via Azure Bastionhttps://learn.microsoft.com/en-us/azure/devtest-labs/connect-virtual-machine-through-browser
Configure DevTest Labs RBAC roles and user accesshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-add-devtest-user
Configure DevTest Labs lab-level secrets securelyhttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-configure-lab-secrets
Grant granular permissions to DevTest Labs policieshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-grant-user-permissions-to-specific-lab-policies
Use Azure Key Vault secrets in DevTest Labshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-store-secrets-in-key-vault
Enable Trusted Launch for DevTest Labs Gen2 VMshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-trusted-launch
Enable secure browser-based access to DevTest Labs VMshttps://learn.microsoft.com/en-us/azure/devtest-labs/enable-browser-connection-lab-virtual-machines
Enable user-assigned managed identities on DevTest Labs VMshttps://learn.microsoft.com/en-us/azure/devtest-labs/enable-managed-identities-lab-vms
Configure customer-managed key disk encryption in DevTest Labshttps://learn.microsoft.com/en-us/azure/devtest-labs/encrypt-disks-customer-managed-keys
Manage DevTest Labs storage accounts and encryption settingshttps://learn.microsoft.com/en-us/azure/devtest-labs/encrypt-storage
View and respond to DevTest Labs environment security alertshttps://learn.microsoft.com/en-us/azure/devtest-labs/environment-security-alerts
Configure managed identities for DevTest Labs environmentshttps://learn.microsoft.com/en-us/azure/devtest-labs/use-managed-identities-environments

Configuration

TopicURL
View and interpret DevTest Labs activity logshttps://learn.microsoft.com/en-us/azure/devtest-labs/activity-logs
Add and configure artifacts on DevTest Labs VMshttps://learn.microsoft.com/en-us/azure/devtest-labs/add-artifact-vm
Configure Azure Compute Gallery for DevTest Labs imageshttps://learn.microsoft.com/en-us/azure/devtest-labs/configure-shared-image-gallery
Configure activity log alerts for DevTest Labs eventshttps://learn.microsoft.com/en-us/azure/devtest-labs/create-alerts
Add and manage tags on Azure DevTest Labs resourceshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-add-tag
Author custom DevTest Labs VM artifact definitionshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-artifact-author
Configure autoshutdown policies for DevTest Labs VMshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-auto-shutdown
Configure autostart policies for DevTest Labs virtual machineshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-auto-startup-vm
Configure cost tracking for Azure DevTest Labs with tagshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-configure-cost-management
Configure allowed Azure Marketplace images in DevTest Labshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-configure-marketplace-images
Add and configure virtual networks for DevTest Labshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-configure-vnet
Enable and manage licensed images in DevTest Labshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-enable-licensed-images
Configure and use formulas for DevTest Labs VMshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-manage-formulas
Configure Azure DevTest Labs policies for cost controlhttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-set-lab-policy
Configure shared public IP addresses for DevTest Labs VMshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-shared-ip
Define DevTest Labs VMs with ARM templateshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-use-resource-manager-template
Configure network isolation for Azure DevTest Labshttps://learn.microsoft.com/en-us/azure/devtest-labs/network-isolation
Configure resource groups for DevTest Labs virtual machineshttps://learn.microsoft.com/en-us/azure/devtest-labs/resource-group-control

Integrations & Coding Patterns

TopicURL
Automate adding DevTest Labs users via ARM, PowerShell, and CLIhttps://learn.microsoft.com/en-us/azure/devtest-labs/automate-add-lab-user
Create DevTest Labs custom images from VHD with PowerShellhttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-create-custom-image-from-vhd-using-powershell
Create DevTest Labs environments from ARM templateshttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-create-environment-from-arm
Upload VHDs to DevTest Labs storage using AzCopyhttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-upload-vhd-using-azcopy
Upload VHDs to DevTest Labs with PowerShellhttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-upload-vhd-using-powershell
Upload VHDs to DevTest Labs via Storage Explorerhttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-upload-vhd-using-storage-explorer
Automate DevTest Labs VM creation with PowerShellhttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-vm-powershell
Manage DevTest Labs VMs using Azure CLIhttps://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-vmcli
Extend DevTest Labs automation using Azure Functionshttps://learn.microsoft.com/en-us/azure/devtest-labs/extend-devtest-labs-azure-functions
Import DevTest Labs VMs between labs via REST/PowerShellhttps://learn.microsoft.com/en-us/azure/devtest-labs/import-virtual-machines-from-another-lab
Report DevTest Labs usage across labs and subscriptionshttps://learn.microsoft.com/en-us/azure/devtest-labs/report-usage-across-multiple-labs-subscriptions
Automate DevTest Labs with Azure CLI scriptshttps://learn.microsoft.com/en-us/azure/devtest-labs/samples-cli
Use Azure PowerShell scripts for DevTest Labs automationhttps://learn.microsoft.com/en-us/azure/devtest-labs/samples-powershell
Control DevTest Labs VM start order with Automationhttps://learn.microsoft.com/en-us/azure/devtest-labs/start-machines-use-automation-runbooks
Publish Visual Studio apps to DevTest Labs VMshttps://learn.microsoft.com/en-us/azure/devtest-labs/test-app-azure
Script DevTest Labs VM start/stop with CLI and PowerShellhttps://learn.microsoft.com/en-us/azure/devtest-labs/use-command-line-start-stop-virtual-machines

Deployment

Frequently asked questions

What does the Azure Devtest Labs AI skill do?

Expert knowledge for Azure DevTest Labs development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when managing lab VM images, ARM/CI-CD automation, RBAC/Key Vault security, hub-spoke networking, or quotas, and other Azure DevTest Labs related development tasks. Not for Azure Lab Services (use azure-lab-services), Azure Dev Box (use azure-dev-box), Azure Virtual Machines (use azure-virtual-machines), Azure Virtual Desktop (use azure-virtual-desktop).

Why use Azure Devtest Labs on TypingMind?

Because you install it once and use it with any model. Azure Devtest Labs is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Azure Devtest Labs in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-devtest-labs. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Azure Devtest Labs?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Azure Devtest Labs?

As many as you like. As long as a model supports skills, you can use Azure Devtest Labs with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Azure Devtest Labs AI skill free?

Yes. It is published on GitHub by MicrosoftDocs under the CC-BY-4.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇