All skills
microsoft avatar

/azure-upgrade

@b3c238e
by microsoftmicrosoft/skills3.1k stars
351

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, 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).

Use this Skill: https://skilld.dev/gh/microsoft/skills/azure-upgrade

This session only. Nothing lands on disk.

referenceslanguagesjavabom-migrationbom-gradle-toml.md

≈699 tokens on demand. Your agent reads this file only when SKILL.md points to it.

BOM Migration — Gradle TOML Version Catalog (libs.versions.toml)

OpenRewrite does not yet support TOML version catalogs (openrewrite/rewrite#4400). Handle manually.

Check for gradle/libs.versions.toml. If it exists and contains Azure entries, apply these steps. Always update build.gradle / build.gradle.kts references in tandem.

Use TARGET_AZURE_SDK_BOM_VERSION resolved in the workflow. Do not keep an existing TOML BOM version unless it exactly matches that value.

💡 Tip: TOML alias azure-sdk-bom becomes accessor libs.azure.sdk.bom (hyphens→dots). CamelCase azureSdkBom becomes libs.azureSdkBom. Match the project's existing convention.

Step 1 — Add or upgrade the BOM

In gradle/libs.versions.toml:

[versions]
azureSdkBom = "{bom_version}"

[libraries]
azure-sdk-bom = { group = "com.azure", name = "azure-sdk-bom", version.ref = "azureSdkBom" }

In build.gradle (Groovy DSL):

implementation enforcedPlatform(libs.azure.sdk.bom)

In build.gradle.kts (Kotlin DSL):

implementation(enforcedPlatform(libs.azure.sdk.bom))

Step 2 — Remove explicit versions from BOM-managed libraries

For each com.azure.* library in [libraries] that the BOM manages, drop version.ref / version and remove orphaned [versions] entries.

# Before
[versions]
azureIdentity = "1.15.0"
[libraries]
azureIdentity = { group = "com.azure", name = "azure-identity", version.ref = "azureIdentity" }

# After
[libraries]
azureIdentity = { group = "com.azure", name = "azure-identity" }

Step 3 — Replace legacy entries with modern equivalents

For each com.microsoft.azure.* library: replace group/name with the modern com.azure.* equivalent, drop version.ref/version if BOM-managed, remove orphaned [versions] entries, and update alias references in build.gradle and [bundles].

# Before
[versions]
azureSdk = "1.41.4"
azureStorage = "8.6.6"
[libraries]
azure = { group = "com.microsoft.azure", name = "azure", version.ref = "azureSdk" }
azureStorage = { group = "com.microsoft.azure", name = "azure-storage", version.ref = "azureStorage" }

# After (BOM-managed)
[libraries]
azureResourcemanager = { group = "com.azure.resourcemanager", name = "azure-resourcemanager" }
azureStorageBlob = { group = "com.azure", name = "azure-storage-blob" }

Update build.gradle and [bundles] to use the new aliases.

TOML patterns to recognise

Libraries may use any of these forms — handle all of them:

lib = { group = "g", name = "a", version.ref = "v" }
lib = { module = "g:a", version.ref = "v" }
lib = { module = "g:a", version = "1.0" }
lib = { group = "g", name = "a", version = { strictly = "1.0" } }

Source: SKILL.md on GitHub

No alerts15d3 checks · Risk SAFE
  • Gen Agent Trust Hub15d

    This skill provides a structured framework for Azure workload upgrades and Java SDK modernization. It incorporates several security-focused practices, such as mandatory reviews to ensure the preservation of authentication and authorization controls during code migration. The skill utilizes standard development tools and follows official Microsoft guidance for Azure resource management.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: LOW · No issues

Signed by skilld at b3c238e. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 months ago
compatibility
python3.10+
metadata
{
  "author": "Microsoft",
  "version": "1.2.1"
}

README badge

README badge for microsoft/skills/azure-upgrade