azure-lab-services
Expert knowledge for Azure Lab Services development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring lab plans, VM templates/schedules, VNet-integrated labs, GPU/nested virtualization, or Canvas/Teams integration, and other Azure Lab Services related development tasks. Not for Azure DevTest Labs (use azure-devtest-labs), Azure Virtual Machines (use azure-virtual-machines), Azure Virtual Desktop (use azure-virtual-desktop).
Best use case
azure-lab-services is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Expert knowledge for Azure Lab Services development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring lab plans, VM templates/schedules, VNet-integrated labs, GPU/nested virtualization, or Canvas/Teams integration, and other Azure Lab Services related development tasks. Not for Azure DevTest Labs (use azure-devtest-labs), Azure Virtual Machines (use azure-virtual-machines), Azure Virtual Desktop (use azure-virtual-desktop).
Teams using azure-lab-services should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/azure-lab-services/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How azure-lab-services Compares
| Feature / Agent | azure-lab-services | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Expert knowledge for Azure Lab Services development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring lab plans, VM templates/schedules, VNet-integrated labs, GPU/nested virtualization, or Canvas/Teams integration, and other Azure Lab Services related development tasks. Not for Azure DevTest Labs (use azure-devtest-labs), Azure Virtual Machines (use azure-virtual-machines), Azure Virtual Desktop (use azure-virtual-desktop).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# Azure Lab Services Skill This skill provides expert guidance for Azure Lab Services. 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](https://github.com/MicrosoftDocs/mcp/blob/main/README.md) 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 | Category | Lines | Description | |----------|-------|-------------| | Troubleshooting | L37-L44 | Diagnosing and fixing VM access, connectivity, deployment, and lab-creation issues in Azure Lab Services, including when to redeploy or reimage VMs. | | Best Practices | L45-L53 | Governance and setup guidance for lab plans, custom images, nested virtualization, Linux graphical RDP, and preparing optimized Windows template VMs in Azure Lab Services | | Decision Making | L54-L65 | Guidance on when and how to use Azure Lab Services: choosing lab types, planning migrations (physical or to other services), cost estimation, GPU sizing, and running training or hackathon scenarios. | | Architecture & Design Patterns | L66-L72 | Core Azure Lab Services architecture, supported networking topologies, and design patterns for building reliable, resilient lab environments and lab plans | | Limits & Quotas | L73-L80 | VM capacity and core quotas for labs, how to view usage, request quota increases, and timelines for automatic VM deletion and cleanup. | | Security | L81-L95 | RBAC roles, lab creator/owner assignment, Azure Policy for compliance and VM size limits, firewall and public IP setup, and educator/student VM password management. | | Configuration | L96-L126 | Configuring Azure Lab Services: lab plans, regions, images, networking, VM templates, schedules (start/stop/shutdown), capacity, GPU/nested virtualization, and user/educator access. | | Integrations & Coding Patterns | L127-L140 | Integrating Lab Services with Canvas and Teams, automating lab creation via Bicep/PowerShell/Python, connecting labs to VNets, and remote access to Linux VMs with X2Go. | | Deployment | L141-L150 | Creating and importing Windows/Linux lab VM images (from Azure VMs, physical labs, or compute galleries), rapidly setting up/publishing labs, and migrating lab accounts to lab plans. | ### Troubleshooting | Topic | URL | |-------|-----| | Troubleshoot Azure Lab Services VMs by redeploying or reimaging | https://learn.microsoft.com/en-us/azure/lab-services/how-to-reset-and-redeploy-vm | | Troubleshoot access problems for Azure Lab Services VMs | https://learn.microsoft.com/en-us/azure/lab-services/troubleshoot-access-lab-vm | | Troubleshoot connectivity issues in Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/troubleshoot-connect-lab-vm | | Troubleshoot Azure Lab Services lab creation issues | https://learn.microsoft.com/en-us/azure/lab-services/troubleshoot-lab-creation | ### Best Practices | Topic | URL | |-------|-----| | Administer lab plans and governance for Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/administrator-guide | | Recommended approaches for Azure Lab custom images | https://learn.microsoft.com/en-us/azure/lab-services/approaches-for-custom-image-creation | | Configure nested virtualization in Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/concept-nested-virtualization-template-vm | | Enable graphical remote desktop for Linux labs with optimal performance | https://learn.microsoft.com/en-us/azure/lab-services/how-to-enable-remote-desktop-linux | | Best practices for preparing Windows lab templates | https://learn.microsoft.com/en-us/azure/lab-services/how-to-prepare-windows-template | ### Decision Making | Topic | URL | |-------|-----| | Use Azure Lab Services for training scenarios | https://learn.microsoft.com/en-us/azure/lab-services/classroom-labs-scenarios | | Choose between lab accounts and lab plans | https://learn.microsoft.com/en-us/azure/lab-services/concept-lab-accounts-versus-lab-plans | | Plan migration from physical labs to Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/concept-migrating-physical-labs | | Estimate and analyze Azure Lab Services costs | https://learn.microsoft.com/en-us/azure/lab-services/cost-management-guide | | Run hackathons using Azure Lab Services environments | https://learn.microsoft.com/en-us/azure/lab-services/hackathon-labs | | Choose and configure GPU VM sizes for Azure labs | https://learn.microsoft.com/en-us/azure/lab-services/how-to-setup-lab-gpu | | Plan migration before Azure Lab Services retirement | https://learn.microsoft.com/en-us/azure/lab-services/retirement-guide | | Decide when to transition from Azure Lab Services to DevTest Labs | https://learn.microsoft.com/en-us/azure/lab-services/transition-devtest-labs-guidance | ### Architecture & Design Patterns | Topic | URL | |-------|-----| | Understand Azure Lab Services architecture fundamentals | https://learn.microsoft.com/en-us/azure/lab-services/classroom-labs-fundamentals | | Select supported networking architectures for lab plans | https://learn.microsoft.com/en-us/azure/lab-services/concept-lab-services-supported-networking-scenarios | | Understand reliability and resiliency in Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/reliability-in-azure-lab-services | ### Limits & Quotas | Topic | URL | |-------|-----| | Review VM capacity limits and quotas for labs | https://learn.microsoft.com/en-us/azure/lab-services/capacity-limits | | Determine Azure Lab Services quota and core usage | https://learn.microsoft.com/en-us/azure/lab-services/how-to-determine-your-quota-usage | | Request Azure Lab Services core quota increases | https://learn.microsoft.com/en-us/azure/lab-services/how-to-request-capacity-increase | | Understand automatic VM deletion policy timelines | https://learn.microsoft.com/en-us/azure/lab-services/vm-deletion-policy | ### Security | Topic | URL | |-------|-----| | Assign Lab Creator role in Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/add-lab-creator | | Enforce Azure Lab Services compliance with Azure Policy | https://learn.microsoft.com/en-us/azure/lab-services/azure-polices-for-lab-services | | Use Azure RBAC roles with Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/concept-lab-services-role-based-access-control | | Map role assignments from lab accounts to lab plans | https://learn.microsoft.com/en-us/azure/lab-services/concept-migrate-from-lab-accounts-roles | | Assign Lab Creator role for Azure Lab Services accounts | https://learn.microsoft.com/en-us/azure/lab-services/how-to-add-lab-creator | | Add additional lab owners in Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/how-to-add-user-lab-owner | | Determine lab VM public IPs for firewall configuration | https://learn.microsoft.com/en-us/azure/lab-services/how-to-configure-firewall-settings | | Configure firewall rules for Azure Lab Services lab VMs | https://learn.microsoft.com/en-us/azure/lab-services/how-to-configure-firewall-settings-1 | | Set and reset lab VM passwords as an educator | https://learn.microsoft.com/en-us/azure/lab-services/how-to-set-virtual-machine-passwords | | Students resetting passwords for Azure Lab Services VMs | https://learn.microsoft.com/en-us/azure/lab-services/how-to-set-virtual-machine-passwords-student | | Restrict Azure Lab VM sizes using Azure Policy | https://learn.microsoft.com/en-us/azure/lab-services/how-to-use-restrict-allowed-virtual-machine-sku-sizes-policy | ### Configuration | Topic | URL | |-------|-----| | Allow lab creators to choose lab locations in Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/allow-lab-creator-pick-lab-location | | Configure allowed regions for Azure Lab Services labs | https://learn.microsoft.com/en-us/azure/lab-services/create-and-configure-labs-admin | | Attach or detach Azure compute galleries to lab plans | https://learn.microsoft.com/en-us/azure/lab-services/how-to-attach-detach-shared-image-gallery | | Attach or detach Shared Image Gallery to Azure Lab Services accounts | https://learn.microsoft.com/en-us/azure/lab-services/how-to-attach-detach-shared-image-gallery-1 | | Configure auto-shutdown policies for Azure Lab plans | https://learn.microsoft.com/en-us/azure/lab-services/how-to-configure-auto-shutdown-lab-plans | | Configure automatic VM shutdown for Azure Lab Services accounts | https://learn.microsoft.com/en-us/azure/lab-services/how-to-configure-lab-accounts | | Connect lab plans to virtual networks with VNET injection | https://learn.microsoft.com/en-us/azure/lab-services/how-to-connect-vnet-injection | | Create Azure Lab Services labs with shared resources | https://learn.microsoft.com/en-us/azure/lab-services/how-to-create-a-lab-with-shared-resource-1 | | Define lab plans with Bicep or ARM templates | https://learn.microsoft.com/en-us/azure/lab-services/how-to-create-lab-plan-bicep | | Create a lab plan using Azure PowerShell | https://learn.microsoft.com/en-us/azure/lab-services/how-to-create-lab-plan-powershell | | Programmatically create lab plans using Python SDK | https://learn.microsoft.com/en-us/azure/lab-services/how-to-create-lab-plan-python | | Create and manage Azure Lab Services VM templates | https://learn.microsoft.com/en-us/azure/lab-services/how-to-create-manage-template | | Configure automatic start/stop schedules for lab VMs | https://learn.microsoft.com/en-us/azure/lab-services/how-to-create-schedules | | Enable nested virtualization in Azure Lab Services templates | https://learn.microsoft.com/en-us/azure/lab-services/how-to-enable-nested-virtualization-template-vm-using-script | | Configure automatic shutdown on user disconnect for labs | https://learn.microsoft.com/en-us/azure/lab-services/how-to-enable-shutdown-disconnect | | Create, view, and delete Azure Lab Services lab plans | https://learn.microsoft.com/en-us/azure/lab-services/how-to-manage-lab-plans | | Configure and manage Azure Lab Services users and usage hours | https://learn.microsoft.com/en-us/azure/lab-services/how-to-manage-lab-users | | Manage Azure Lab Services VM pool capacity and states | https://learn.microsoft.com/en-us/azure/lab-services/how-to-manage-vm-pool | | Set up GPU-based labs in Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/how-to-setup-lab-gpu-1 | | Configure Windows lab VMs to prevent OS-level shutdown | https://learn.microsoft.com/en-us/azure/lab-services/how-to-windows-shutdown | | Allow educators to access student VMs in Azure labs | https://learn.microsoft.com/en-us/azure/lab-services/instructor-access-virtual-machines | | Configure support contact information for Azure lab accounts | https://learn.microsoft.com/en-us/azure/lab-services/lab-account-owner-support-information | | Quickly configure a lab plan for your school | https://learn.microsoft.com/en-us/azure/lab-services/lab-plan-setup-guide | | Azure Policy built-in definitions for Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/policy-reference | | Configure allowed Azure Marketplace images for labs | https://learn.microsoft.com/en-us/azure/lab-services/specify-marketplace-images | | Specify allowed Marketplace images for Azure Lab Services labs | https://learn.microsoft.com/en-us/azure/lab-services/specify-marketplace-images-1 | | Configure advanced networking for Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/tutorial-create-lab-with-advanced-networking | ### Integrations & Coding Patterns | Topic | URL | |-------|-----| | Connect to Linux lab VMs using X2Go | https://learn.microsoft.com/en-us/azure/lab-services/connect-virtual-machine-linux-x2go | | Configure Canvas LMS integration with Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/how-to-configure-canvas-for-lab-plans | | Configure Microsoft Teams integration with Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/how-to-configure-teams-for-lab-plans | | Connect Azure Lab Services labs to peer virtual networks | https://learn.microsoft.com/en-us/azure/lab-services/how-to-connect-peer-virtual-network | | Provision Azure Lab Services labs with Bicep templates | https://learn.microsoft.com/en-us/azure/lab-services/how-to-create-lab-bicep | | Create Azure Lab Services labs using PowerShell Az module | https://learn.microsoft.com/en-us/azure/lab-services/how-to-create-lab-powershell | | Create Azure Lab Services labs using the Python SDK | https://learn.microsoft.com/en-us/azure/lab-services/how-to-create-lab-python | | Integrate Azure Lab Services with Canvas LMS | https://learn.microsoft.com/en-us/azure/lab-services/lab-services-within-canvas-overview | | Integrate Azure Lab Services with Microsoft Teams | https://learn.microsoft.com/en-us/azure/lab-services/lab-services-within-teams-overview | | Use the Az.LabServices PowerShell module for Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/reference-powershell-module | ### Deployment | Topic | URL | |-------|-----| | Import Linux custom images from Azure VMs into labs | https://learn.microsoft.com/en-us/azure/lab-services/how-to-bring-custom-linux-image-azure-vm | | Import Linux images from physical labs into Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/how-to-bring-custom-linux-image-vhd | | Create Azure Lab Services labs from Windows VM images | https://learn.microsoft.com/en-us/azure/lab-services/how-to-bring-custom-windows-image-azure-vm | | Migrate Azure Lab Services accounts to lab plans | https://learn.microsoft.com/en-us/azure/lab-services/how-to-migrate-lab-acounts-to-lab-plans | | Use Azure compute galleries to provide lab VM images | https://learn.microsoft.com/en-us/azure/lab-services/how-to-use-shared-image-gallery | | Rapidly create and publish a lab for students | https://learn.microsoft.com/en-us/azure/lab-services/setup-guide | | Import Windows images from physical labs into Azure Lab Services | https://learn.microsoft.com/en-us/azure/lab-services/upload-custom-image-shared-image-gallery |
Related Skills
azure-well-architected
Expert guidance for designing, assessing, and optimizing Azure workloads using Azure Well Architected. Covers design review checklists, recommendations, design principles, tradeoffs, service guides, workload patterns, and assessment questions. Use when designing AI, SAP, SaaS, HPC, AVD/AVS workloads, or choosing regions/AZs with cost–reliability tradeoffs, and other Azure Well Architected related development tasks.
azure-web-pubsub
Expert knowledge for Azure Web PubSub development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when building WebSocket/MQTT apps, using Socket.IO, geo-replication, private endpoints, or Functions bindings, and other Azure Web PubSub related development tasks. Not for Azure SignalR Service (use azure-signalr-service), Azure Event Hubs (use azure-event-hubs), Azure Service Bus (use azure-service-bus), Azure Relay (use azure-relay).
azure-web-application-firewall
Expert knowledge for Azure Web Application Firewall development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring Front Door/App Gateway WAF rules, rate limits, bot/CAPTCHA, Sentinel logging, or IaC deployments, and other Azure Web Application Firewall related development tasks. Not for Azure Application Gateway (use azure-application-gateway), Azure Front Door (use azure-front-door), Azure Firewall (use azure-firewall), Azure DDos Protection (use azure-ddos-protection).
azure-vpn-gateway
Expert knowledge for Azure VPN Gateway development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring S2S/P2S tunnels, BGP routing, IPsec/IKE policies, Entra/RADIUS auth, or ExpressRoute VPNs, and other Azure VPN Gateway related development tasks. Not for Azure ExpressRoute (use azure-expressroute), Azure Virtual WAN (use azure-virtual-wan), Azure Virtual Network (use azure-virtual-network), Azure Virtual Network Manager (use azure-virtual-network-manager).
azure-vmware-solution
Expert knowledge for Azure VMware Solution development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring AVS with HCX/NSX, vSAN/stretched clusters, Citrix/Horizon, Cloud Director, or JetStream DR, and other Azure VMware Solution related development tasks. Not for Azure Virtual Machines (use azure-virtual-machines), Azure Large Instances (use azure-large-instances), Azure Baremetal Infrastructure (use azure-baremetal-infrastructure), SAP HANA on Azure Large Instances (use azure-sap).
azure-vm-scalesets
Expert knowledge for Azure Virtual Machine Scale Sets development including troubleshooting, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring VMSS autoscale, upgrade modes, zones/PPGs, Spot/standby pools, or disk encryption with Key Vault, and other Azure Virtual Machine Scale Sets related development tasks. Not for Azure Virtual Machines (use azure-virtual-machines), Azure Kubernetes Service (AKS) (use azure-kubernetes-service), Azure App Service (use azure-app-service), Azure Service Fabric (use azure-service-fabric).
azure-virtual-wan
Expert knowledge for Azure Virtual WAN development including troubleshooting, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when designing Virtual WAN hubs, P2S VPN, ExpressRoute/SD‑WAN connectivity, NVAs/firewalls, or Entra ID VPN access, and other Azure Virtual WAN related development tasks. Not for Azure Virtual Network (use azure-virtual-network), Azure VPN Gateway (use azure-vpn-gateway), Azure ExpressRoute (use azure-expressroute), Azure Traffic Manager (use azure-traffic-manager).
azure-virtual-network
Expert knowledge for Azure Virtual Network development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, and configuration. Use when designing VNets, NSGs, service endpoints, VNet peering, VPN gateways, or Azure Firewall/NAT gateways, and other Azure Virtual Network related development tasks. Not for Azure Networking (use azure-networking), Azure Virtual Network Manager (use azure-virtual-network-manager), Azure Virtual WAN (use azure-virtual-wan), Azure VPN Gateway (use azure-vpn-gateway).
azure-virtual-network-manager
Expert knowledge for Azure Virtual Network Manager development including troubleshooting, limits & quotas, security, configuration, and integrations & coding patterns. Use when managing AVNM IPAM pools, network groups, cross-tenant connectivity, security admin rules, or ARG queries, and other Azure Virtual Network Manager related development tasks. Not for Azure Virtual Network (use azure-virtual-network), Azure Virtual WAN (use azure-virtual-wan), Azure Network Watcher (use azure-network-watcher), Azure Networking (use azure-networking).
azure-virtual-machines
Expert knowledge for Azure Virtual Machines development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when choosing VM sizes, configuring scale sets, using Trusted Launch, encrypting disks, or automating via CLI/ARM, and other Azure Virtual Machines related development tasks. Not for Azure Virtual Machine Scale Sets (use azure-vm-scalesets), SQL Server on Azure Virtual Machines (use azure-sql-virtual-machines), Azure Kubernetes Service (AKS) (use azure-kubernetes-service), Azure App Service (use azure-app-service).
azure-virtual-desktop
Expert knowledge for Azure Virtual Desktop development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when working with FSLogix profiles, MSIX/App Attach, autoscale/Start VM on Connect, Teams optimization, or SSO/MFA, and other Azure Virtual Desktop related development tasks. Not for Azure Virtual Machines (use azure-virtual-machines), Azure Dev Box (use azure-dev-box).
azure-video-indexer
Expert knowledge for Azure AI Video Indexer development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when using Video Indexer APIs/widgets, live camera indexing, custom speech/brand models, or Azure OpenAI integrations, and other Azure AI Video Indexer related development tasks. Not for Azure AI services (use microsoft-foundry-tools), Azure AI Vision (use azure-ai-vision).