Azure Compute
MicrosoftOfficialCreated by Microsoft
- Skill
- Tool integration
- Cloud and DevOps
- MIT
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The Azure Compute skill acts as a primary router for infrastructure-level tasks within Azure. It directs user requests to specialized workflows for recommending, provisioning, and managing bare virtual machine infrastructure. It is designed to handle the lifecycle of VMs and VMSS, including capacity planning through Capacity Reservation Groups and machine monitoring via Essential Machine Management.
What it does
- Routes requests to specific workflows for VM and VMSS provisioning.
- Provides guidance on selecting VM families based on workload requirements.
- Facilitates capacity reservation and guarantee for critical infrastructure.
- Supports Essential Machine Management for enrollment and monitoring tasks.
- Enables cost estimation and pricing comparisons for various VM SKUs.
- Distinguishes between infrastructure deployment and application-level service deployment.
When to use it
- When you need to provision or deploy bare virtual machines or scale sets.
- When you require assistance in selecting the appropriate VM family for a specific workload.
- When you need to reserve or guarantee capacity for your Azure compute resources.
- When you are setting up or monitoring machines using Essential Machine Management.
- When you need to compare pricing for different VM SKUs or regions.
Advantages
- Centralized entry point for all Azure compute-related infrastructure tasks.
- Prevents confusion between infrastructure provisioning and application deployment.
- Provides structured paths for complex tasks like capacity reservation.
- Ensures consistent use of specialized tools for quota and SKU management.
Usage examples
- “I need to deploy a set of web servers. Which VM family should I use?”
- The skill routes the request to the VM Recommender to analyze your workload and suggest the appropriate D-series or B-series VMs.
- “How can I reserve capacity for my production database VMs?”
- The skill initiates the Capacity Reservation workflow to guide you through creating and associating a Capacity Reservation Group.
- “Provision a new Ubuntu VM for testing.”
- The skill routes the request to the VM Creator workflow to handle the infrastructure deployment.
- “How do I enroll my machines in Essential Machine Management?”
- The skill directs you to the Essential Machine Management workflow for enrollment and monitoring instructions.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/microsoft/azure-compute/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip azure-compute.zip -d .agents/skills
Documentation by Microsoft
Azure Compute Skill
Routes Azure VM and Virtual Machine Scale Set (VMSS) requests to the right workflow.
When to Use This Skill
User wants to recommend, compare, or price a VM or VMSS
User wants to create, provision, or deploy a VM or VMSS
User asks about Capacity Reservation Groups (CRG) — reserve, guarantee capacity, pre-provision
User asks about Essential Machine Management (EMM) — machine enrollment, monitor
Disambiguate with azure-prepare: if the user wants to deploy an application (Docker service, web app, API, serverless workload), route to azure-prepare. vm-creator is for bare VM/VMSS infrastructure only.
Routing
Mandatory workflow-first routing: never route directly to references/* files. First classify the user intent below, open the matched workflow file, then load only the reference files that workflow requests. Reference files are supporting material, not entry points. If the intent is unclear, ask a clarifying question to disambiguate between the workflows.
| Workflow | File | Use when |
|---|---|---|
| VM Recommender | vm-recommender.md | User asks which VM/VMSS to choose, whether to use VMSS/autoscaling, wants pricing, or wants to compare options |
| VM Creator | vm-creator.md | User wants to create, provision, or deploy a bare VM or VMSS (not an app deployment) |
| Capacity Reservation | capacity-reservation.md | User needs to reserve / guarantee VM capacity (CRG create / associate / disassociate) |
| Essential Machine Management | essential-machine-management.md | User asks about EMM / machine enrollment / monitor |
Files
- ATTRIBUTION.mdAdded by AutoGineer971 B
- LICENSELicence file added by AutoGineer1.1 KiB
- SKILL.md2.6 KiB
- references/retail-prices-api.md6.3 KiB
- references/vm-families.md5.8 KiB
- references/vm-quotas.md4.1 KiB
- references/vmss-guide.md6.2 KiB
- workflows/capacity-reservation/capacity-reservation.md7.8 KiB
- workflows/capacity-reservation/references/association-disassociation.md3.8 KiB
- workflows/capacity-reservation/references/capacity-reservation-overview.md6.0 KiB
- workflows/essential-machine-management/essential-machine-management.md5.0 KiB
- workflows/essential-machine-management/references/emm-enable-flow-portal-guidance.md3.1 KiB
- workflows/essential-machine-management/references/emm-enable-flow.md9.2 KiB
- workflows/essential-machine-management/references/emm-overview.md2.4 KiB
- workflows/essential-machine-management/references/emm-prerequisites.md3.5 KiB
- workflows/vm-creator/examples/bicep/README.md1.6 KiB
- workflows/vm-creator/examples/bicep/main.bicep3.8 KiB
- workflows/vm-creator/examples/terraform/README.md2.5 KiB
- workflows/vm-creator/examples/terraform/main.tf3.2 KiB
- workflows/vm-creator/examples/terraform/outputs.tf135 B
- workflows/vm-creator/examples/terraform/variables.tf1010 B
- workflows/vm-creator/references/delivery-options/github-pr.md3.2 KiB
- workflows/vm-creator/references/delivery-options/index.md2.3 KiB
- workflows/vm-creator/references/delivery-options/print.md474 B
- workflows/vm-creator/references/delivery-options/save-local.md2.0 KiB
- workflows/vm-creator/references/depth-probe/beginner.md1.2 KiB
- workflows/vm-creator/references/depth-probe/cost-deep.md1.1 KiB
- workflows/vm-creator/references/depth-probe/index.md3.0 KiB
- workflows/vm-creator/references/depth-probe/networking-deep.md1.6 KiB
- workflows/vm-creator/references/depth-probe/security-deep.md1.2 KiB
- workflows/vm-creator/references/depth-probe/spec-deep.md1.3 KiB
- workflows/vm-creator/references/mcp-tools.md2.3 KiB
- workflows/vm-creator/references/output-adapters/az-cli.md1.9 KiB
- workflows/vm-creator/references/output-adapters/bicep.md1.7 KiB
- workflows/vm-creator/references/output-adapters/index.md3.0 KiB
- workflows/vm-creator/references/output-adapters/mcp-apply.md2.6 KiB
- workflows/vm-creator/references/output-adapters/terraform.md1.5 KiB
- workflows/vm-creator/references/plan-card.md3.9 KiB
- workflows/vm-creator/references/validation-gates.md2.2 KiB
- workflows/vm-creator/vm-creator.md7.5 KiB
- workflows/vm-recommender/references/handoff-to-creator.md1.6 KiB
- workflows/vm-recommender/references/web-fetch-policy.md1.6 KiB
- workflows/vm-recommender/vm-recommender.md6.4 KiB
references/retail-prices-api.md
Azure Retail Prices API Guide
The Azure Retail Prices API is unauthenticated — no Azure account or subscription needed.
Endpoint
https://prices.azure.com/api/retail/pricesPreview version (includes savings plan rates):
https://prices.azure.com/api/retail/prices?api-version=2023-01-01-previewQuerying VM Prices
No Azure CLI command exists for the Retail Prices API. Since the API is unauthenticated, use
curl(bash) orInvoke-RestMethod(PowerShell) directly. Theaz restcommand also works but adds no auth benefit.
Basic VM price lookup
GET https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and armRegionName eq 'eastus' and armSkuName eq 'Standard_D4s_v5' and priceType eq 'Consumption'curl -s "https://prices.azure.com/api/retail/prices?\$filter=serviceName%20eq%20'Virtual%20Machines'%20and%20armRegionName%20eq%20'eastus'%20and%20armSkuName%20eq%20'Standard_D4s_v5'%20and%20priceType%20eq%20'Consumption'"$filter = "serviceName eq 'Virtual Machines' and armRegionName eq 'eastus' and armSkuName eq 'Standard_D4s_v5' and priceType eq 'Consumption'"
$response = Invoke-RestMethod "https://prices.azure.com/api/retail/prices?`$filter=$filter"
$response.Items | Select-Object armSkuName, retailPrice, unitOfMeasure, meterNameFilter by family (all D-series in a region)
GET https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and armRegionName eq 'eastus' and contains(armSkuName, 'Standard_D') and priceType eq 'Consumption'curl -s "https://prices.azure.com/api/retail/prices?\$filter=serviceName%20eq%20'Virtual%20Machines'%20and%20armRegionName%20eq%20'eastus'%20and%20contains(armSkuName,%20'Standard_D')%20and%20priceType%20eq%20'Consumption'"$filter = "serviceName eq 'Virtual Machines' and armRegionName eq 'eastus' and contains(armSkuName, 'Standard_D') and priceType eq 'Consumption'"
$response = Invoke-RestMethod "https://prices.azure.com/api/retail/prices?`$filter=$filter"
$response.Items | Select-Object armSkuName, retailPrice, meterNameReservation pricing
GET https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and armSkuName eq 'Standard_D4s_v5' and priceType eq 'Reservation'curl -s "https://prices.azure.com/api/retail/prices?\$filter=serviceName%20eq%20'Virtual%20Machines'%20and%20armSkuName%20eq%20'Standard_D4s_v5'%20and%20priceType%20eq%20'Reservation'"$filter = "serviceName eq 'Virtual Machines' and armSkuName eq 'Standard_D4s_v5' and priceType eq 'Reservation'"
$response = Invoke-RestMethod "https://prices.azure.com/api/retail/prices?`$filter=$filter"
$response.Items | Select-Object armSkuName, retailPrice, reservationTerm, meterNameNon-USD currency
Append currencyCode parameter:
GET https://prices.azure.com/api/retail/prices?currencyCode='EUR'&$filter=serviceName eq 'Virtual Machines' and armSkuName eq 'Standard_D4s_v5'curl -s "https://prices.azure.com/api/retail/prices?currencyCode='EUR'&\$filter=serviceName%20eq%20'Virtual%20Machines'%20and%20armSkuName%20eq%20'Standard_D4s_v5'"$filter = "serviceName eq 'Virtual Machines' and armSkuName eq 'Standard_D4s_v5'"
$response = Invoke-RestMethod "https://prices.azure.com/api/retail/prices?currencyCode='EUR'&`$filter=$filter"
$response.Items | Select-Object armSkuName, retailPrice, currencyCode, meterNameAvailable Filters
| Filter | Example Value | Notes |
|---|---|---|
serviceName | 'Virtual Machines' | Case-sensitive in preview API |
armRegionName | 'eastus', 'westeurope' | ARM region name |
armSkuName | 'Standard_D4s_v5' | Full ARM SKU name |
priceType | 'Consumption', 'Reservation' | Pay-as-you-go vs reserved |
serviceFamily | 'Compute' | Broad category |
productName | 'Virtual Machines Dv5 Series' | Product line |
meterName | 'D4s v5', 'D4s v5 Spot' | Includes Spot and Low Priority |
Warning: Filter values are case-sensitive in API version
2023-01-01-previewand later.
Response Fields
| Field | Description |
|---|---|
armSkuName | ARM SKU name (e.g., Standard_D4s_v5) |
retailPrice | Microsoft retail price (USD unless overridden) |
unitOfMeasure | Usually 1 Hour for VMs |
armRegionName | Region code |
meterName | Human-readable meter (includes "Spot" / "Low Priority" variants) |
productName | Product line with OS (e.g., "Virtual Machines Dv5 Series Windows") |
type | Consumption, Reservation, or DevTestConsumption |
reservationTerm | 1 Year or 3 Years (reservation only) |
savingsPlan | Array with term and unitPrice (preview API only) |
isPrimaryMeterRegion | Filter to true to avoid duplicate regional meters |
Pagination
API returns max 1,000 records per request. Follow NextPageLink in the response to get more:
{ "NextPageLink": "https://prices.azure.com:443/api/retail/prices?$filter=...&$skip=1000" }Tips for Recommendations
Filter Linux vs Windows:
productNamecontains the OS — e.g.,'Virtual Machines Dv5 Series'(Linux) vs'Virtual Machines Dv5 Series Windows'Use
isPrimaryMeterRegion eq trueto deduplicateCompare Consumption + Reservation + Savings Plan for full cost picture
Monthly estimate:
retailPrice × 730(hours/month)Spot pricing: Filter
meterNamecontaining'Spot'for discounted interruptible VMs
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
What our scanner noticed· Medium risk
- References to credential files
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Microsoft
- Publisher
- Microsoft (Official)
- Source
- microsoft/skills · .github/plugins/azure-skills/skills/azure-compute · commit 0696600
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from .github/plugins/azure-skills/LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Also distributed in
- microsoft/azure-skills
AutoGineer is not affiliated with or endorsed by Microsoft.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download azure-compute.zip