/azure-quotas
Check/manage Azure quotas and usage across providers. For deployment planning, capacity validation, region selection. WHEN: \"check quotas\", \"service limits\", \"current usage\", \"request quota increase\", \"quota exceeded\", \"validate capacity\", \"regional availability\",
$ npx -y skills add microsoft/azure-skills --skill azure-quotas --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/azure-quotas
Context preview
The summary Claude sees to decide when to auto-load this skill.
Check/manage Azure quotas and usage across providers. For deployment planning, capacity validation, region selection. WHEN: \"check quotas\", \"service limits\", \"current usage\", \"request quota increase\", \"quota exceeded\", \"validate capacity\", \"regional availability\",
SKILL.md
azure-quotas.SKILL.mdname: azure-quotas
description: "Check/manage Azure quotas and usage across providers. For deployment planning, capacity validation, region selection. WHEN: \"check quotas\", \"service limits\", \"current usage\", \"request quota increase\", \"quota exceeded\", \"validate capacity\", \"regional availability\", \"provisioning limits\", \"vCPU limit\", \"how many vCPUs available in my subscription\"."
license: MIT
metadata:
author: Microsoft
version: "1.2.1"
Azure Quotas - Service Limits & Capacity Management
> **AUTHORITATIVE GUIDANCE** — Follow these instructions exactly for quota management and capacity validation.
Overview
**What are Azure Quotas?**
Azure quotas (also called service limits) are the maximum number of resources you can deploy in a subscription. Quotas:
- Prevent accidental over-provisioning
- Ensure fair resource distribution across Azure
- Represent **available capacity** in each region
- Can be increased (adjustable quotas) or are fixed (non-adjustable)
**Key Concept:** **Quotas = Resource Availability**
If you don't have quota, you cannot deploy resources. Always check quotas when planning deployments or selecting regions.
When to Use This Skill
Invoke this skill when:
- **Planning a new deployment** - Validate capacity before deployment
- **Selecting an Azure region** - Compare quota availability across regions
- **Troubleshooting quota exceeded errors** - Check current usage vs limits
- **Requesting quota increases** - Submit increase requests via CLI or Portal
- **Comparing regional capacity** - Find regions with available quota
- **Validating provisioning limits** - Ensure deployment won't exceed quotas
Quick Reference
| **Property** | **Details** | |--------------|-------------| | **Primary Tool** | Azure CLI (`az quota`) - **USE THIS FIRST, ALWAYS** | | **Extension Required** | `az extension add --name quota` (MUST install first) | | **Key Commands** | `az quota list`, `az quota show`, `az quota usage list`, `az quota usage show` | | **Complete CLI Reference** | [commands.md](./references/commands.md) | | **Azure Portal** | [My quotas](https://portal.azure.com/#blade/Microsoft_Azure_Capacity/QuotaMenuBlade/myQuotas) - Use only as fallback | | **REST API** | Microsoft.Quota provider - **Unreliable, do NOT use first** | | **MCP Server** | `azure-quota` MCP server — **NEVER use this. It is unreliable. Always use `az quota` CLI instead.** | | **Required Permission** | Reader (view) or Quota Request Operator (manage) |
> **⚠️ ALWAYS USE CLI FIRST** > > REST API and Portal can show misleading "No Limit" values — this does **not** mean unlimited capacity. It means the quota API doesn't support that resource type. Always start with `az quota` commands; fall back to [Azure service limits docs](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits) if CLI returns `BadRequest`. > > For complete CLI reference, see [commands.md](./references/commands.md).
Quota Types
| **Type** | **Adjustability** | **Approval** | **Examples** | |----------|-------------------|--------------|--------------| | **Adjustable** | Can increase via Portal/CLI/API | Usually auto-approved | VM vCPUs, Public IPs, Storage accounts | | **Non-adjustable** | Fixed limits | Cannot be changed | Subscription-wide hard limits |
**Important:** Requesting quota increases is **free**. You only pay for resources you actually use, not for quota allocation.
Understanding Resource Name Mapping
**⚠️ CRITICAL:** There is **NO 1:1 mapping** between ARM resource types and quota resource names.
Example Mappings
| ARM Resource Type | Quota Resource Name | |-------------------|---------------------| | `Microsoft.App/managedEnvironments` | `ManagedEnvironmentCount` | | `Microsoft.Compute/virtualMachines` | `standardDSv3Family`, `cores`, `virtualMachines` | | `Microsoft.Network/publicIPAddresses` | `PublicIPAddresses`, `IPv4StandardSkuPublicIpAddresses` |
Discovery Workflow
**Never assume the quota resource name from the ARM type.** Always use this workflow:
1. **List all quotas** for the resource provider:
az quota list --scope /subscriptions/<id>/providers/<ProviderNamespace>/locations/<region>
2. **Match by `localizedValue`** (human-readable description) to find the relevant quota
3. **Use the `name` field** (not ARM resource type) in subsequent commands:
az quota show --resource-name ManagedEnvironmentCount --scope ...
az quota usage show --resource-name ManagedEnvironmentCount --scope ...
> **📖 Detailed mapping examples and workflow:** See [commands.md - Resource Name Mapping](./references/commands.md#resource-name-mapping)
Scripts
Pre-built scripts handle quota extension installation, usage queries, and capacity calculation. Use these instead of constructing commands manually. A single call returns limits, usage, and available capacity.
| Script | Purpose | Usage | |--------|---------|-------| | `scripts/check-quota.ps1` | Returns limit, usage, and available capacity for all quotas (or a single quota when resource name is provided) | Primary script for quota checks | | `scripts/check-quota.sh` | Same as above (bash) | Primary script for quota checks |
Core Workflows
Workflow 1: Check Quota for a Specific Resource
**Scenario:** Verify quota limits and current usage before deployment
Run the script with the resource provider and region. It returns a table of **all** quotas with their limit, current usage, and available capacity in a single call:
.\scripts\check-quota.ps1 -ResourceProvider <provider> -Region <region>
./scripts/check-quota.sh <provider> <region>
To check a single resource, add the resource name:
.\scripts\check-quota.ps1 -ResourceProvider <provider> -Region <region> -ResourceName <resource-name>
./scripts/check-quota.sh <provider> <region> <resource-name>
**Example
Read more
name: azure-quotas description: "Check/manage Azure quotas and usage across providers. For deployment planning, capacity validation, region selection. WHEN: \"check quotas\", \"service limits\", \"current usage\", \"request quota increase\", \"quota exceeded\", \"validate capacity\", \"regional availability\", \"provisioning limits\", \"vCPU limit\", \"how many vCPUs available in my subscription\"." license: MIT metadata: author: Microsoft version: "1.2.1"
Azure Quotas - Service Limits & Capacity Management
> **AUTHORITATIVE GUIDANCE** — Follow these instructions exactly for quota management and capacity validation.
Overview
**What are Azure Quotas?**
Azure quotas (also called service limits) are the maximum number of resources you can deploy in a subscription. Quotas:
- Prevent accidental over-provisioning
- Ensure fair resource distribution across Azure
- Represent **available capacity** in each region
- Can be increased (adjustable quotas) or are fixed (non-adjustable)
**Key Concept:** **Quotas = Resource Availability**
If you don't have quota, you cannot deploy resources. Always check quotas when planning deployments or selecting regions.
When to Use This Skill
Invoke this skill when:
- **Planning a new deployment** - Validate capacity before deployment
- **Selecting an Azure region** - Compare quota availability across regions
- **Troubleshooting quota exceeded errors** - Check current usage vs limits
- **Requesting quota increases** - Submit increase requests via CLI or Portal
- **Comparing regional capacity** - Find regions with available quota
- **Validating provisioning limits** - Ensure deployment won't exceed quotas
Quick Reference
| **Property** | **Details** | |--------------|-------------| | **Primary Tool** | Azure CLI (`az quota`) - **USE THIS FIRST, ALWAYS** | | **Extension Required** | `az extension add --name quota` (MUST install first) | | **Key Commands** | `az quota list`, `az quota show`, `az quota usage list`, `az quota usage show` | | **Complete CLI Reference** | [commands.md](./references/commands.md) | | **Azure Portal** | [My quotas](https://portal.azure.com/#blade/Microsoft_Azure_Capacity/QuotaMenuBlade/myQuotas) - Use only as fallback | | **REST API** | Microsoft.Quota provider - **Unreliable, do NOT use first** | | **MCP Server** | `azure-quota` MCP server — **NEVER use this. It is unreliable. Always use `az quota` CLI instead.** | | **Required Permission** | Reader (view) or Quota Request Operator (manage) |
> **⚠️ ALWAYS USE CLI FIRST** > > REST API and Portal can show misleading "No Limit" values — this does **not** mean unlimited capacity. It means the quota API doesn't support that resource type. Always start with `az quota` commands; fall back to [Azure service limits docs](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits) if CLI returns `BadRequest`. > > For complete CLI reference, see [commands.md](./references/commands.md).
Quota Types
| **Type** | **Adjustability** | **Approval** | **Examples** | |----------|-------------------|--------------|--------------| | **Adjustable** | Can increase via Portal/CLI/API | Usually auto-approved | VM vCPUs, Public IPs, Storage accounts | | **Non-adjustable** | Fixed limits | Cannot be changed | Subscription-wide hard limits |
**Important:** Requesting quota increases is **free**. You only pay for resources you actually use, not for quota allocation.
Understanding Resource Name Mapping
**⚠️ CRITICAL:** There is **NO 1:1 mapping** between ARM resource types and quota resource names.
Example Mappings
| ARM Resource Type | Quota Resource Name | |-------------------|---------------------| | `Microsoft.App/managedEnvironments` | `ManagedEnvironmentCount` | | `Microsoft.Compute/virtualMachines` | `standardDSv3Family`, `cores`, `virtualMachines` | | `Microsoft.Network/publicIPAddresses` | `PublicIPAddresses`, `IPv4StandardSkuPublicIpAddresses` |
Discovery Workflow
**Never assume the quota resource name from the ARM type.** Always use this workflow:
1. **List all quotas** for the resource provider:
az quota list --scope /subscriptions/<id>/providers/<ProviderNamespace>/locations/<region>
2. **Match by `localizedValue`** (human-readable description) to find the relevant quota
3. **Use the `name` field** (not ARM resource type) in subsequent commands:
az quota show --resource-name ManagedEnvironmentCount --scope ... az quota usage show --resource-name ManagedEnvironmentCount --scope ...
> **📖 Detailed mapping examples and workflow:** See [commands.md - Resource Name Mapping](./references/commands.md#resource-name-mapping)
Scripts
Pre-built scripts handle quota extension installation, usage queries, and capacity calculation. Use these instead of constructing commands manually. A single call returns limits, usage, and available capacity.
| Script | Purpose | Usage | |--------|---------|-------| | `scripts/check-quota.ps1` | Returns limit, usage, and available capacity for all quotas (or a single quota when resource name is provided) | Primary script for quota checks | | `scripts/check-quota.sh` | Same as above (bash) | Primary script for quota checks |
Core Workflows
Workflow 1: Check Quota for a Specific Resource
**Scenario:** Verify quota limits and current usage before deployment
Run the script with the resource provider and region. It returns a table of **all** quotas with their limit, current usage, and available capacity in a single call:
.\scripts\check-quota.ps1 -ResourceProvider <provider> -Region <region>
./scripts/check-quota.sh <provider> <region>
To check a single resource, add the resource name:
.\scripts\check-quota.ps1 -ResourceProvider <provider> -Region <region> -ResourceName <resource-name>
./scripts/check-quota.sh <provider> <region> <resource-name>
**Example
Azure work is not just a code problem. It is a decision problem: which service fits this app, what needs to be validated before deployment, which tools should run, and what guardrails matter.
Repo: microsoft/azure-skills
Other skills on azure.
- /airunway-aks-setup
Set up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, controller install, GPU assessment, provider setup, and first deployment. WHEN: \"setup AI Runway\", \"onboard AKS cluster\", \"install AI Runway\", \"airunway setup\", \"deploy model to
Open skill - /appinsights-instrumentation
Guidance for instrumenting webapps with Azure Application Insights. Provides telemetry patterns, SDK setup, and configuration references. WHEN: how to instrument app, App Insights SDK, telemetry patterns, what is App Insights, Application Insights guidance, instrumentation
Open skill - /azure-ai
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe,
Open skill - /azure-aigateway
Configure Azure API Management as an AI Gateway for AI models, MCP tools, and agents. WHEN: semantic caching, token limit, content safety, load balancing, AI model governance, MCP rate limiting, jailbreak detection, add Azure OpenAI backend, add AI Foundry model, test AI
Open skill - /azure-app-onboard-prereq
Assess whether source code is ready to deploy to Azure — the check BEFORE infrastructure work. Evaluates build health, app completeness, dependencies and local services, stack compatibility, and deployment feasibility. Answers questions about what your app needs before it can be
Open skill - /azure-app-onboard
End-to-end orchestrator: from a business idea, app idea, or existing app to running Azure deployment with cost estimates and pre-deploy approval. Analyzes your app, auto-detects the right Azure services, scaffolds infrastructure code, and deploys — tailored to your app, not a
Open skill

