Skills
Skill 42 of 53
Assess and upgrade Azure workloads between plans, tiers, or SKUs, or modernize Azure SDK dependencies in source code.
4 minutes · 856 words · 7 sections
Install
npx skills add microsoft/azure-skills --skill azure-upgradenpx skills add microsoft/azure-skills/plugin marketplace add microsoft/azure-skillsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
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.*→ moderncom.azure.*). This is NOT for cross-cloud migration — useazure-cloud-migratefor that.
| User Intent | Example 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” |
mcp_azure_mcp_get_azure_bestpractices and mcp_azure_mcp_documentation MCP toolsask_user — global-rules (opens in a new tab)<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.ask_user to describe the exact change and obtain explicit approval. Approval is action-specific and cannot be reused for later source changes.ask_user in the same turn — never stop after merely announcing the next step and wait for the user to re-engage.| Source | Target | Reference |
|---|---|---|
| Azure Functions Consumption Plan (Linux) | Azure Functions Flex Consumption Plan | workflow.md (opens in a new tab) |
| Azure Functions Consumption Plan (Windows) | Azure Functions Flex Consumption Plan | workflow.md (opens in a new tab) |
Legacy Azure Java SDK (com.microsoft.azure.*) | Modern Azure Java SDK (com.azure.*) | languages/java/README.md (opens in a new tab) |
| Azure Cache for Redis (ACR/OSS) Basic/Standard/Premium | Azure Managed Redis (AMR) | services/redis/redis-to-amr.md (opens in a new tab) |
| Azure Cache for Redis Enterprise (ACRE) / Enterprise Flash | Azure Managed Redis (AMR) | services/redis/redis-to-amr.md (opens in a new tab) |
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 listfor 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_documentationandmcp_azure_mcp_get_azure_bestpracticestools to research the upgrade path.
| Tool | Purpose |
|---|---|
mcp_azure_mcp_get_azure_bestpractices | Get Azure best practices for the target service |
mcp_azure_mcp_documentation | Look up Azure documentation for upgrade scenarios |
mcp_azure_mcp_appservice | Query App Service and Functions plan details |
mcp_azure_mcp_applicationinsights | Verify monitoring configuration |
azure-validate for deep validation or azure-deploy for CI/CD setupTrack progress in <UPGRADE_DIR>/upgrade-status.md — see Artifact Output Policy (opens in a new tab) for path resolution.
After upgrade is validated, hand off to:
azure-validate — for thorough post-upgrade validationazure-deploy — if the user wants to set up CI/CD for the new appAssess 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, change hosting plan, function app SKU, migrate App Service to Container Apps, modernize legacy Azure Java SDKs (com.microsoft.azure to com.azure), migrate Azure Cache for Redis (ACR/ACRE) to Azure Managed Redis (AMR).
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
skills/azure-upgrade/SKILL.mdmain, last pushed 6 November 2026.SKILL.md, not by matching a directory convention. 11 distinct layouts observed: .github/plugins/aks-skills/skills/*/SKILL.md, .github/plugins/azure-advisor/skills/*/SKILL.md, .github/plugins/azure-cost/skills/*/SKILL.md, .github/plugins/azure-kusto-graph-skills/skills/*/SKILL.md, .github/plugins/azure-local-skills/skills/*/SKILL.md, .github/plugins/foundry-iq-skills/skills/*/SKILL.md, skills/*/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 7 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./microsoft/azure-skills.md, and each skill at its own .md URL.49 files · 322 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of skill 42.
Documentation the agent loads on demand, rather than up front.
references/2 files · 7 KB
references/languages/java/bom-migration/6 files · 25 KB
references/languages/java/2 files · 14 KB
references/languages/java/package-specific/2 files · 15 KB
references/languages/java/rules/6 files · 6 KB
references/languages/java/scripts/1 file · 20 KB
references/languages/java/templates/3 files · 27 KB
references/languages/java/workflow/4 files · 9 KB
references/services/functions/consumption-to-flex/linux/3 files · 33 KB
references/services/functions/consumption-to-flex/windows/5 files · 57 KB
references/services/functions/consumption-to-flex/windows/automation/14 files · 101 KBreferences/services/redis/1 file · 8 KB