customize
Interactive 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, spillover). USE FOR:
- 0
- Installs
- —
- Rating
- —
- Success rate
- 4
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 2c75235c1d5590f9… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
Customize Model Deployment
Interactive guided workflow for deploying Azure OpenAI models with full customization control over version, SKU, capacity, content filtering, and advanced options.
Quick Reference
| Property | Description |
|---|---|
| Flow | Interactive step-by-step guided deployment |
| Customization | Version, SKU, Capacity, RAI Policy, Advanced Options |
| SKU Support | GlobalStandard, Standard, ProvisionedManaged, DataZoneStandard |
| Best For | Precise control over deployment configuration |
| Authentication | Azure CLI (az login) |
| Tools | Azure CLI, MCP tools (optional) |
When to Use This Skill
Use this skill when you need precise control over deployment configuration:
- ✅ Choose specific model version (not just latest)
- ✅ Select deployment SKU (GlobalStandard vs Standard vs PTU)
- ✅ Set exact capacity within available range
- ✅ Configure content filtering (RAI policy selection)
- ✅ Enable advanced features (dynamic quota, priority processing, spillover)
- ✅ PTU deployments (Provisioned Throughput Units)
Alternative: Use preset for quick deployment to the best available region with automatic configuration.
Comparison: customize vs preset
| Feature | customize | preset |
|---|---|---|
| Focus | Full customization control | Optimal region selection |
| Version Selection | User chooses from available | Uses latest automatically |
| SKU Selection | User chooses (GlobalStandard/Standard/PTU) | GlobalStandard only |
| Capacity | User specifies exact value | Auto-calculated (50% of available) |
| RAI Policy | User selects from options | Default policy only |
| Region | Current region first, falls back to all regions if no capacity | Checks capacity across all regions upfront |
| Use Case | Precise deployment requirements | Quick deployment to best region |
Prerequisites
- Azure subscription with Cognitive Services Contributor or Owner role
- Microsoft Foundry project resource ID (format:
/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}/projects/{project}) - Azure CLI installed and authenticated (
az login) - Optional: Set
PROJECT_RESOURCE_IDenvironment variable
Workflow Overview
Complete Flow (14 Phases)
1. Verify Authentication
2. Get Project Resource ID
3. Verify Project Exists
4. Get Model Name (if not provided)
5. List Model Versions → User Selects
6. List SKUs for Version → User Selects
7. Get Capacity Range → User Configures
7b. If no capacity: Cross-Region Fallback → Query all regions → User selects region/project
8. List RAI Policies → User Selects
9. Configure Advanced Options (if applicable)
10. Configure Version Upgrade Policy
11. Generate Deployment Name
12. Review Configuration
13. Execute Deployment & Monitor
Fast Path (Defaults)
If user accepts all defaults (latest version, GlobalStandard SKU, recommended capacity, default RAI policy, standard upgrade policy), deployment completes in ~5 interactions.
Phase Summaries
⚠️ MUST READ: Before executing any phase, load 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).
| Phase | Action | Key Details |
|---|---|---|
| 1. Verify Auth | Check az account show; prompt az login if needed | Verify correct subscription is active |
| 2. Get Project ID | Read PROJECT_RESOURCE_ID env var or prompt user | ARM resource ID format required |
| 3. Verify Project | Parse resource ID, call az cognitiveservices account show | Extracts subscription, RG, account, project, region |
| 4. Get Model | List models via az cognitiveservices account list-models | User selects from available or enters custom name |
| 5. Select Version | Query versions for chosen model | Recommend latest; user picks from list |
| 6. Select SKU | Query model catalog + subscription quota, show only deployable SKUs | ⚠️ Never hardcode SKU lists — always query live data |
| 7. Configure Capacity | Query capacity API, validate min/max/step, user enters value | Cross-region fallback if no capacity in current region |
| 8. Select RAI Policy | Present content filter options | Default: Microsoft.DefaultV2 |
| 9. Advanced Options | Dynamic quota (GlobalStandard), priority processing (PTU), spillover | SKU-dependent availability |
| 10. Upgrade Policy | Choose: OnceNewDefaultVersionAvailable / OnceCurrentVersionExpired / NoAutoUpgrade | Default: auto-upgrade on new default |
| 11. Deployment Name | Auto-generate unique name, allow custom override | Validates format: ^[\w.-]{2,64}$ |
| 12. Review | Display full config summary, confirm before proceeding | User approves or cancels |
| 13. Deploy & Monitor | az cognitiveservices account deployment create, poll status | Timeout after 5 min; show endpoint + portal link |
Error Handling
Common Issues and Resolutions
| Error | Cause | Resolution |
|---|---|---|
| Model not found | Invalid model name | List available models with az cognitiveservices account list-models |
| Version not available | Version not supported for SKU | Select different version or SKU |
| Insufficient quota | Capacity > available quota | Skill auto-searches all regions; fails only if no region has quota |
| SKU not supported | SKU not available in region | Cross-region fallback searches other regions automatically |
| Capacity out of range | Invalid capacity value | PREVENTED: Skill validates min/max/step at input (Phase 7) |
| Deployment name exists | Name conflict | Auto-incremented name generation |
| Authentication failed | Not logged in | Run az login |
| Permission denied | Insufficient permissions | Assign Cognitive Services Contributor role |
| Capacity query fails | API/permissions/network error | DEPLOYMENT BLOCKED: Will not proceed without valid quota data |
Troubleshooting Commands
# Check deployment status
az cognitiveservices account deployment show --name <account> --resource-group <rg> --deployment-name <name>
# List all deployments
az cognitiveservices account deployment list --name <account> --resource-group <rg> -o table
# Check quota usage
az cognitiveservices usage list --name <account> --resource-group <rg>
# Delete failed deployment
az cognitiveservices account deployment delete --name <account> --resource-group <rg> --deployment-name <name>
Selection Guides & Advanced Topics
For SKU comparison tables, PTU sizing formulas, and advanced option details, load references/customize-guides.md.
SKU selection: GlobalStandard (production/HA) → Standard (dev/test) → ProvisionedManaged (high-volume/guaranteed throughput) → DataZoneStandard (data residency).
Capacity: TPM-based SKUs range from 1K (dev) to 100K+ (large production). PTU-based use formula: (Input TPM × 0.001) + (Output TPM × 0.002) + (Requests/min × 0.1).
Advanced options: Dynamic quota (GlobalStandard only), priority processing (PTU only, extra cost), spillover (overflow to backup deployment).
Related Skills
- preset - Quick deployment to best region with automatic configuration
- microsoft-foundry - Parent skill for all Microsoft Foundry operations
- quota — For quota viewing, increase requests, and troubleshooting quota errors, defer to this skill instead of duplicating guidance
- rbac - Manage permissions and access control
Notes
- Set
PROJECT_RESOURCE_IDenvironment variable to skip prompt - Not all SKUs available in all regions; capacity varies by subscription/region/model
- Custom RAI policies can be configured in Azure Portal
- Automatic version upgrades occur during maintenance windows
- Use Azure Monitor and Application Insights for production deployments
Files
4- EXAMPLES.md
f1476b98fe4.3 KB - SKILL.md
d0a25090ff8.8 KB - references/customize-guides.md
28132d05c53.4 KB - references/customize-workflow.md
9b7881474c13.1 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from microsoft/skills8
Build Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Use when creating persistent agents with AzureAIAgentsProvider, using hosted tools (code interpreter, file search, web search), integrating MCP servers, managing conversation threads, or implemen
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 AKS\", \"GPU inference
Diagnose Day-2 AKS GPU and KAITO incidents using profile-aware, read-only evidence. WHEN: 'Insufficient nvidia.com/gpu', GPU pod Pending, model-load OOM, DCGM/VRAM, KAITO Workspace not ready, or GPU autoscaling. DO NOT USE FOR: setup (airunway-aks-setup), non-GPU incidents (aks-troubleshooting), sta
Lookup documented AKS fixes only when the prompt includes an exact catalog signature and all of its qualifiers: VMCannotFitEphemeralOSDisk; NodePoolMcVersionIncompatible; 'NodeImageVersion is not accepted'; AKS SkuNotAvailable with size, location, and zone; ZonalAllocationFailed with insufficient zo
Collects bounded packet captures from AKS nodes and Azure network configuration for wire-level evidence. WHEN: \"capture packets on an AKS node\", \"take a pcap\", \"run tcpdump on AKS\", \"prove where packets drop\". Use for explicit packet-capture intent after read-only diagnostics, not general AK
Debug live Azure Kubernetes Service (AKS) incidents with a read-only, evidence-first investigation. WHEN: pod crashes or Pending, CrashLoopBackOff, OOMKilled, ImagePullBackOff, node NotReady, DNS or ingress failure, connectivity timeout, network policy, SNAT exhaustion, node-pool scaling blocked by
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 examples, APM best practic
Instrument browser/web apps with the Application Insights JavaScript SDK (@microsoft/applicationinsights-web). Use for Real User Monitoring (RUM) — page views, clicks, AJAX/fetch dependencies, exceptions, custom events, and browser-side GenAI agent traces correlated to backend OpenTelemetry traces.
Related devops skillsscan passed
Use when managing an Uncloud cluster — deploying services, configuring Caddy ingress, adding static proxy routes for non-cluster devices, publishing ports, scaling, inspecting logs, or managing machines and volumes with the `uc` CLI.
Land and deploy workflow. (gstack)
Migrate Cloudflare Sandbox apps from stable @cloudflare/sandbox to @cloudflare/sandbox@next (SDK 1.0 preview). Use sandbox-next for apps already on the preview.
Deploy tRPC on AWS Lambda with awsLambdaRequestHandler() from @trpc/server/adapters/aws-lambda for API Gateway v1 (REST, APIGatewayProxyEvent) and v2 (HTTP, APIGatewayProxyEventV2), and Lambda Function URLs. Enable response streaming with awsLambdaStreamingRequestHandler() wrapped in awslambda.strea
Instruments code so production behavior is visible and diagnosable. Use when adding logging, metrics, tracing, or alerting. Use when shipping any feature that runs in production and you need evidence it works. Use when production issues are reported but you can't tell what happened from the availabl
Deploys and manages full-stack web applications (Next.js, Angular) with Server-Side Rendering (SSR) using Firebase App Hosting. Use when deploying Next.js/Angular apps, configuring apphosting.yaml or firebase.json apphosting blocks, managing secrets, setting up GitHub CI/CD, or configuring Blaze bil