Skip to content
Development
Skill

/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\",

From plugin
github-copilot-for-azure
26454 skills2 MCP

Claude Code

$ npx -y skills add microsoft/GitHub-Copilot-for-Azure --skill azure-quotas --agent claude-code

SKILL.md

azure-quotas.SKILL.md
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: "0.0.0-placeholder"

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>
``
Read more
@microsoft
Ships withgithub-copilot-for-azure

GitHub Copilot for Azure is a set of extensions for Visual Studio, VS Code, and Claude Code designed to streamline the process of developing for Azure.

26454 skills2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
264
Star history of microsoft/GitHub-Copilot-for-Azure on GitHub, a chart by star-history.com

Other skills on github-copilot-for-azure.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about azure-quotas.

Which coding agents can use azure-quotas?
azure-quotas installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.