Skills
Chapter 34 of 37
Intelligently deploys Azure OpenAI models to optimal regions by analyzing capacity across all available regions.
2 minutes · 356 words · 11 sections
Automates intelligent Azure OpenAI model deployment by checking capacity across regions and deploying to the best available option.
PROJECT_RESOURCE_ID env var or provided interactively)
/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}/projects/{project}1. Check authentication → 2. Get project → 3. Check current region capacity
→ 4. Deploy immediately1. Check authentication → 2. Get project → 3. Check current region (no capacity)
→ 4. Query all regions → 5. Show alternatives → 6. Select region + project
→ 7. Deploy| Phase | Action | Key Commands |
|---|---|---|
| 1. Verify Auth | Check Azure CLI login and subscription | az account show, az login |
| 2. Get Project | Parse PROJECT_RESOURCE_ID ARM ID, verify exists | az cognitiveservices account show |
| 3. Get Model | List available models, user selects model + version | az cognitiveservices account list-models |
| 4. Check Current Region | Query capacity using GlobalStandard SKU | az rest --method GET .../modelCapacities |
| 5. Multi-Region Query | If no local capacity, query all regions | Same capacity API without location filter |
| 6. Select Region + Project | User picks region; find or create project | az cognitiveservices account list, az cognitiveservices account create |
| 7. Deploy | Generate unique name, calculate capacity (50% available, min 50 TPM), create deployment | az cognitiveservices account deployment create |
For detailed step-by-step instructions, see workflow reference (opens in a new tab).
| Error | Symptom | Resolution |
|---|---|---|
| Auth failure | az account show returns error | Run az login then az account set --subscription <id> |
| No quota | All regions show 0 capacity | Defer to the quota skill (opens in a new tab) for increase requests and troubleshooting; check existing deployments; try alternative models |
| Model not found | Empty capacity list | Verify model name with az cognitiveservices account list-models; check case sensitivity |
| Name conflict | “deployment already exists” | Append suffix to deployment name (handled automatically by generate_deployment_name script) |
| Region unavailable | Region doesn’t support model | Select a different region from the available list |
| Permission denied | “Forbidden” or “Unauthorized” | Verify Cognitive Services Contributor role: az role assignment list --assignee <user> |
# Custom capacity
az cognitiveservices account deployment create ... --sku-capacity <value>
# Check deployment status
az cognitiveservices account deployment show --name <acct> --resource-group <rg> --deployment-name <name> --query "{Status:properties.provisioningState}"
# Delete deployment
az cognitiveservices account deployment delete --name <acct> --resource-group <rg> --deployment-name <name>Install this repository
npx skills add microsoft/azure-skills/plugin marketplace add microsoft/azure-skillsSkills install per repository, not per chapter — the CLI has no documented per-skill form, so we do not print one.
Intelligently deploys Azure OpenAI models to optimal regions by analyzing capacity across all available regions. Automatically checks current region first and shows alternatives if needed. USE FOR: quick deployment, optimal region, best region, automatic region selection, fast setup, multi-region capacity check, high availability deployment, deploy to best location. DO NOT USE FOR: custom SKU selection (use customize), specific version selection (use customize), custom capacity configuration (use customize), PTU deployments (use customize).
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
skills/microsoft-foundry/models/deploy-model/preset/SKILL.mdmain, last pushed 10 August 2026.SKILL.md, not by matching a directory convention. 6 distinct layouts observed: skills/*/SKILL.md, skills/azure-app-onboard/*/SKILL.md, skills/azure-kubernetes/*/SKILL.md, skills/microsoft-foundry/*/SKILL.md, skills/microsoft-foundry/models/deploy-model/*/SKILL.md, skills/microsoft-foundry/models/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Microsoft, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./microsoft/azure-skills.md, and each chapter at its own .md URL.3 files · 31 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of chapter 34.
Documentation the agent loads on demand, rather than up front.
Everything else published alongside the skill.