$npx -y skills add microsoft/azure-skills --skill customizeInteractive guided deployment flow for Azure OpenAI models with full customization control. Step-by-step selection of model version, SKU (GlobalStandard/Standard/ProvisionedManaged), capacity, RAI policy (content filter), and advanced options (dynamic quota, priority processing,
| 1 | # Customize Model Deployment |
| 2 | |
| 3 | Interactive guided workflow for deploying Azure OpenAI models with full customization control over version, SKU, capacity, content filtering, and advanced options. |
| 4 | |
| 5 | ## Quick Reference |
| 6 | |
| 7 | | Property | Description | |
| 8 | |----------|-------------| |
| 9 | | **Flow** | Interactive step-by-step guided deployment | |
| 10 | | **Customization** | Version, SKU, Capacity, RAI Policy, Advanced Options | |
| 11 | | **SKU Support** | GlobalStandard, Standard, ProvisionedManaged, DataZoneStandard | |
| 12 | | **Best For** | Precise control over deployment configuration | |
| 13 | | **Authentication** | Azure CLI (`az login`) | |
| 14 | | **Tools** | Azure CLI, MCP tools (optional) | |
| 15 | |
| 16 | ## When to Use This Skill |
| 17 | |
| 18 | Use this skill when you need **precise control** over deployment configuration: |
| 19 | |
| 20 | - ✅ **Choose specific model version** (not just latest) |
| 21 | - ✅ **Select deployment SKU** (GlobalStandard vs Standard vs PTU) |
| 22 | - ✅ **Set exact capacity** within available range |
| 23 | - ✅ **Configure content filtering** (RAI policy selection) |
| 24 | - ✅ **Enable advanced features** (dynamic quota, priority processing, spillover) |
| 25 | - ✅ **PTU deployments** (Provisioned Throughput Units) |
| 26 | |
| 27 | **Alternative:** Use `preset` for quick deployment to the best available region with automatic configuration. |
| 28 | |
| 29 | ### Comparison: customize vs preset |
| 30 | |
| 31 | | Feature | customize | preset | |
| 32 | |---------|---------------------|----------------------------| |
| 33 | | **Focus** | Full customization control | Optimal region selection | |
| 34 | | **Version Selection** | User chooses from available | Uses latest automatically | |
| 35 | | **SKU Selection** | User chooses (GlobalStandard/Standard/PTU) | GlobalStandard only | |
| 36 | | **Capacity** | User specifies exact value | Auto-calculated (50% of available) | |
| 37 | | **RAI Policy** | User selects from options | Default policy only | |
| 38 | | **Region** | Current region first, falls back to all regions if no capacity | Checks capacity across all regions upfront | |
| 39 | | **Use Case** | Precise deployment requirements | Quick deployment to best region | |
| 40 | |
| 41 | ## Prerequisites |
| 42 | |
| 43 | - Azure subscription with Cognitive Services Contributor or Owner role |
| 44 | - Azure AI Foundry project resource ID (format: `/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}/projects/{project}`) |
| 45 | - Azure CLI installed and authenticated (`az login`) |
| 46 | - Optional: Set `PROJECT_RESOURCE_ID` environment variable |
| 47 | |
| 48 | ## Workflow Overview |
| 49 | |
| 50 | ### Complete Flow (14 Phases) |
| 51 | |
| 52 | ``` |
| 53 | 1. Verify Authentication |
| 54 | 2. Get Project Resource ID |
| 55 | 3. Verify Project Exists |
| 56 | 4. Get Model Name (if not provided) |
| 57 | 5. List Model Versions → User Selects |
| 58 | 6. List SKUs for Version → User Selects |
| 59 | 7. Get Capacity Range → User Configures |
| 60 | 7b. If no capacity: Cross-Region Fallback → Query all regions → User selects region/project |
| 61 | 8. List RAI Policies → User Selects |
| 62 | 9. Configure Advanced Options (if applicable) |
| 63 | 10. Configure Version Upgrade Policy |
| 64 | 11. Generate Deployment Name |
| 65 | 12. Review Configuration |
| 66 | 13. Execute Deployment & Monitor |
| 67 | ``` |
| 68 | |
| 69 | ### Fast Path (Defaults) |
| 70 | |
| 71 | If user accepts all defaults (latest version, GlobalStandard SKU, recommended capacity, default RAI policy, standard upgrade policy), deployment completes in ~5 interactions. |
| 72 | |
| 73 | --- |
| 74 | |
| 75 | ## Phase Summaries |
| 76 | |
| 77 | > ⚠️ **MUST READ:** Before executing any phase, load [references/customize-workflow.md](references/customize-workflow.md) for the full scripts and implementation details. The summaries below describe *what* each phase does — the reference file contains the *how* (CLI commands, quota patterns, capacity formulas, cross-region fallback logic). |
| 78 | |
| 79 | | Phase | Action | Key Details | |
| 80 | |-------|--------|-------------| |
| 81 | | **1. Verify Auth** | Check `az account show`; prompt `az login` if needed | Verify correct subscription is active | |
| 82 | | **2. Get Project ID** | Read `PROJECT_RESOURCE_ID` env var or prompt user | ARM resource ID format required | |
| 83 | | **3. Verify Project** | Parse resource ID, call `az cognitiveservices account show` | Extracts subscription, RG, account, project, region | |
| 84 | | **4. Get Model** | List models via `az cognitiveservices account list-models` | User selects from available or enters custom name | |
| 85 | | **5. Select Version** | Query versions for chosen model | Recommend latest; user picks from list | |
| 86 | | **6. Select SKU** | Query model catalog + subscription quota, show only deployable SKUs | ⚠️ Never hardcode SKU list |