azure-upgrade

Assess and upgrade Azure workloads between plans, tiers, or SKUs, or modernize Azure SDK dependencies in source code. WHEN: upgrade Consumption to Flex Consumption, upgrade Azure Functions plan, migrate hosting plan, change hosting plan, function app SKU, migrate App Service to Container Apps, migrate legacy Azure SDKs for Java, upgrade legacy Azure Java SDK, com.microsoft.azure to com.azure.

npx skills add https://github.com/microsoft/skills --skill azure-upgrade

Azure Upgrade

This skill handles assessment and automated upgrades of existing Azure workloads from one Azure service, hosting plan, or SKU to another — all within Azure. This includes plan/tier upgrades (e.g. Consumption → Flex Consumption), cross-service migrations (e.g. App Service → Container Apps), and SKU changes. It also covers Azure SDK for Java source-code modernization (e.g. legacy Java com.microsoft.azure.* → modern com.azure.*). This is NOT for cross-cloud migration — use azure-cloud-migrate for that.

Triggers

User IntentExample Prompts
Upgrade Azure Functions plan"Upgrade my function app from Consumption to Flex Consumption"
Discover Functions upgrade candidates"What Consumption Function Apps do I have that can be upgraded to Flex Consumption?"
Change hosting tier"Move my function app to a better plan"
Assess upgrade readiness"Is my function app ready for Flex Consumption?"
Automate plan migration"Automate the steps to upgrade my Functions plan"
Modernize legacy Azure Java SDK"Migrate legacy Azure SDKs for Java", "Upgrade legacy Azure Java SDK", "Migrate my Java project from com.microsoft.azure to com.azure"
Migrate Azure Cache for Redis (ACR/OSS) to Azure Managed Redis (AMR)"Migrate my Redis cache to AMR", "ACR to AMR", "OSS to AMR", "Upgrade my Premium P2 cache to Managed Redis", "Pick an AMR SKU", "Convert my Redis IaC template to AMR"
Migrate Azure Cache for Redis Enterprise (ACRE) to Azure Managed Redis (AMR)"Migrate my Enterprise_E10 cache to AMR", "ACRE to AMR", "Update my ACRE IaC template for AMR", "Migrate EnterpriseFlash to AMR", "Migrate my geo-replicated Enterprise Redis"

Rules

  1. Follow phases in order. Skip or defer work only when the selected scenario explicitly permits it, and record the reason in the migration status.
  2. Generate an assessment before any upgrade operations
  3. Load the scenario reference and follow its rules
  4. Use mcp_azure_mcp_get_azure_bestpractices and mcp_azure_mcp_documentation MCP tools
  5. Destructive actions require ask_user — global-rules
  6. Always confirm the target plan/SKU with the user before proceeding
  7. Propose a name for any new resource (default: <source>-<target-suffix>, e.g. <source>-flex for Flex Consumption migrations) and announce the proposed name to the user before creating it so they can override without a blocking prompt. Same pattern applies to other newly-created resources (storage accounts, App Insights, etc.) — see the scenario reference for service-specific defaults.
  8. Windows Consumption → Flex source-change gate: treat the source app as read-only by default. Immediately before every command that would change its settings, triggers, state, deployment, bindings, or existence, use ask_user to describe the exact change and obtain explicit approval. Approval is action-specific and cannot be reused for later source changes.
  9. Never delete or stop the original app without explicit user confirmation
  10. Keep approval-gated workflows moving: after each completed step, immediately perform the next read-only preflight. If the next action requires approval, invoke ask_user in the same turn — never stop after merely announcing the next step and wait for the user to re-engage.
  11. All automation scripts must be idempotent and resumable

Upgrade Scenarios

SourceTargetReference
Azure Functions Consumption Plan (Linux)Azure Functions Flex Consumption Planworkflow.md
Azure Functions Consumption Plan (Windows)Azure Functions Flex Consumption Planworkflow.md
Legacy Azure Java SDK (com.microsoft.azure.*)Modern Azure Java SDK (com.azure.*)languages/java/README.md
Azure Cache for Redis (ACR/OSS) Basic/Standard/PremiumAzure Managed Redis (AMR)services/redis/redis-to-amr.md
Azure Cache for Redis Enterprise (ACRE) / Enterprise FlashAzure Managed Redis (AMR)services/redis/redis-to-amr.md

Functions Consumption-to-Flex routing: For a named app, inspect its Azure platform and load only the matching Linux or Windows workflow. For subscription-wide discovery, evaluate both platforms: use az functionapp flex-migration list for Linux and the Windows workflow's manual discovery and compatibility checks for Windows. Label Windows results as candidates until per-app code compatibility is assessed.

SDK upgrade scenarios (e.g. Java legacy → modern) run a source-code modernization flow that is distinct from Azure service/plan/SKU upgrades: follow the scenario reference, not the Steps below.

No matching scenario? Use mcp_azure_mcp_documentation and mcp_azure_mcp_get_azure_bestpractices tools to research the upgrade path.

MCP Tools

ToolPurpose
mcp_azure_mcp_get_azure_bestpracticesGet Azure best practices for the target service
mcp_azure_mcp_documentationLook up Azure documentation for upgrade scenarios
mcp_azure_mcp_appserviceQuery App Service and Functions plan details
mcp_azure_mcp_applicationinsightsVerify monitoring configuration

Steps

  1. Identify — Determine the source and target Azure plans/SKUs. Ask user to confirm.
  2. Assess — Analyze existing app for upgrade readiness → load scenario reference (e.g., workflow.md)
  3. Pre-migrate — Collect settings, identities, configs from the existing app
  4. Upgrade — Execute the automated upgrade steps (create new resources, migrate settings, deploy code)
  5. Validate — Use the checks defined by the selected scenario: verify target resource state, applicable HTTP endpoints and non-HTTP triggers, and monitoring. If access restrictions or unavailable test resources prevent execution, record validation as deferred — never relax security automatically or report functional success.
  6. Ask User — Offer performance validation and IaC updates. Offer source cleanup only when the selected scenario confirms production cutover and all cleanup prerequisites are complete.
  7. Hand off to azure-validate for deep validation or azure-deploy for CI/CD setup

Track progress in <UPGRADE_DIR>/upgrade-status.md — see Artifact Output Policy for path resolution.

References

Next

After upgrade is validated, hand off to:

  • azure-validate — for thorough post-upgrade validation
  • azure-deploy — if the user wants to set up CI/CD for the new app

More skills from microsoft

oss-growth
microsoft
OSS growth hacker persona
agent-framework-azure-ai-py
microsoft
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 implementing streaming responses. Covers function tools, structured outputs, and multi-tool agents.
development
airunway-aks-setup
microsoft
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 on AKS", "KAITO setup on AKS", "run LLM on AKS", "vLLM on AKS", "set up model serving on AKS", "AI Runway controller".
devops
appinsights-instrumentation
microsoft
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 practices.
devops
applicationinsights-web-ts
microsoft
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. Covers SDK Loader Script and npm setup, framework extensions (React, React Native, Angular), Click Analytics, telemetry initializers, and OTel GenAI semantic conventions for agent/tool/model spans emitted from the browser.
devops
azure-ai-anomalydetector-java
microsoft
Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate/multivariate anomaly detection, time-series analysis, or AI-powered monitoring.
development
azure-ai-language-conversations-py
microsoft
Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.
development
azure-ai-ml-py
microsoft
Azure Machine Learning SDK v2 for Python. Use for ML workspaces, jobs, models, datasets, compute, and pipelines. Triggers: "azure-ai-ml", "MLClient", "workspace", "model registry", "training jobs", "datasets".
development