
Azure Upgrade
OfficialFreeAutomate Azure workload upgrades and SDK modernization.
Free · Opens the source repo
What Azure Upgrade does
Azure Upgrade is a skill designed for developers and IT professionals managing Azure workloads. It automates the assessment and upgrade process of Azure services, enabling seamless transitions between plans, tiers, or SKUs. This skill is particularly useful when upgrading Azure Functions from Consumption to Flex Consumption, migrating App Services to Container Apps, or modernizing legacy Azure Java SDK dependencies in source code. It streamlines the upgrade process, ensuring that users can efficiently manage their Azure resources without manual intervention.
The skill operates through a structured workflow that includes phases for identifying the source and target plans, assessing readiness, executing upgrades, and validating the results. Users can initiate upgrades by simply providing commands that specify their desired changes, such as migrating Azure Cache for Redis to Azure Managed Redis or modernizing Java SDKs from the old com.microsoft.azure namespace to the new com.azure. Each operation is guided by predefined rules that ensure safety and adherence to best practices, minimizing the risk of disruptions during upgrades.
This skill is ideal for teams looking to modernize their Azure infrastructure while maintaining best practices. It is especially beneficial for organizations that need to keep their applications up to date with the latest Azure offerings and SDKs. By automating the upgrade process, developers can focus on building new features rather than managing tedious migration tasks.
However, it is important to note that this skill is not intended for cross-cloud migrations. Users looking to migrate services between Azure and other cloud providers should consider using dedicated migration tools. Azure Upgrade is specifically tailored for upgrading and modernizing Azure workloads and SDKs, making it a focused solution for Azure-centric environments.
When to use it
Use this skill when you need to upgrade Azure services, change hosting plans, or modernize Java SDK dependencies.
When not to use it
This skill is not suitable for cross-cloud migrations or for upgrading non-Azure services.
What you can build with it
Upgrade Azure Functions Plan
Easily upgrade your Azure Functions from Consumption to Flex Consumption by using simple prompts.
Modernize Java SDKs
Migrate legacy Azure Java SDKs to the modern namespace with automated scripts that handle the transition.
Migrate Redis Cache
Automate the migration of Azure Cache for Redis to Azure Managed Redis, ensuring a smooth transition with minimal downtime.
How to install Azure Upgrade
View source1. Install with the skills CLI
npx skills add microsoft/azure-skills/azure-upgrade --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by microsoftAzure 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.*→ moderncom.azure.*). This is NOT for cross-cloud migration — useazure-cloud-migratefor that.
Triggers
| User Intent | Example Prompts |
|---|---|
| Upgrade Azure Functions plan | "Upgrade my function app from Consumption 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
- Follow phases sequentially — do not skip
- Generate an assessment before any upgrade operations
- Load the scenario reference and follow its rules
- Use
mcp_azure_mcp_get_azure_bestpracticesandmcp_azure_mcp_documentationMCP tools - Destructive actions require
ask_user— global-rules - Always confirm the target plan/SKU with the user before proceeding
- Never delete or stop the original app without explicit user confirmation
- All automation scripts must be idempotent and resumable
Upgrade Scenarios
| Source | Target | Reference |
|---|---|---|
| Azure Functions Consumption Plan | Azure Functions Flex Consumption Plan | consumption-to-flex.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/Premium | Azure Managed Redis (AMR) | services/redis/redis-to-amr.md |
| Azure Cache for Redis Enterprise (ACRE) / Enterprise Flash | Azure Managed Redis (AMR) | services/redis/redis-to-amr.md |
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.
MCP Tools
| 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 |
Steps
- Identify — Determine the source and target Azure plans/SKUs. Ask user to confirm.
- Assess — Analyze existing app for upgrade readiness → load scenario reference (e.g., consumption-to-flex.md)
- Pre-migrate — Collect settings, identities, configs from the existing app
- Upgrade — Execute the automated upgrade steps (create new resources, migrate settings, deploy code)
- Validate — Hit the function app default URL to confirm the app is reachable, then verify endpoints and monitoring
- Ask User — "Upgrade complete. Would you like to verify performance, clean up the old app, or update your IaC?"
- Hand off to
azure-validatefor deep validation orazure-deployfor CI/CD setup
Track progress in upgrade-status.md inside the workspace root.
References
- Global Rules
- Workflow Details
- Functions
- Redis
- Redis (ACR or ACRE) to AMR Migration — routes to dedicated amr-migration-skill (ACR/OSS) or acre-to-amr-migration-skill (Enterprise)
- Java SDK Migration Templates
Next
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 app
Frequently asked questions about Azure Upgrade
Similar skills
Turborepo
Optimized build system for JavaScript/TypeScript monorepos.
Azure Pipelines Validation
Streamline your Azure DevOps pipeline changes locally.
Azure Developer CLI
Streamline your Azure project workflows with best practices.
Azure Container Registry CLI
Manage Azure Container Registry resources with ease.
Aspire
Build and orchestrate polyglot distributed applications seamlessly.
Vercel CLI
Manage and deploy Vercel projects from the command line.
