PluginBench
Skill
Official
Pass
Audit score 90

azure-cloud-migrate

microsoft/azure-skills

Assess and migrate cross-cloud workloads (AWS, GCP, Heroku) to Azure with automated reports and code conversion

What is azure-cloud-migrate?

azure-cloud-migrate is a structured skill for coding agents that guides assessment and code migration of existing cloud workloads to Azure. It covers eight migration paths including AWS Lambda→Azure Functions, Elastic Beanstalk/Heroku/Google App Engine→App Service, and AWS Fargate/Kubernetes/GCP Cloud Run/Spring Boot→Azure Container Apps. The skill enforces a sequential phase workflow: create output directory, generate an assessment report, convert code and config, then hand off to infrastructure provisioning. All output is written to a separate Azure directory, leaving the source untouched.

  • Generates a migration assessment report before any code changes are made
  • Converts source code and configuration from AWS/GCP/Heroku conventions to Azure equivalents
  • Supports eight named migration paths across Functions, App Service, and Container Apps targets
  • Scans source code for hardcoded service hostnames and flags them for environment-variable-driven URL injection
  • Tracks migration progress in a migration-status.md file and reports resource-level status during long-running operations
  • Hands off to azure-prepare skill for infrastructure provisioning, testing, and deployment

How to install azure-cloud-migrate

npx skills add https://github.com/microsoft/azure-skills --skill azure-cloud-migrate
Prerequisites
  • Azure MCP tools available to the agent: mcp_azure_mcp_get_azure_bestpractices and mcp_azure_mcp_documentation
  • Access to the source cloud workload's code and configuration
  • azure-prepare skill available for the infrastructure and deployment handoff phase
  • Agent runtime that supports sequential skill phase execution (e.g., Claude Code, Cursor)
Claude Code
Cursor
Windsurf
Cline

How to use azure-cloud-migrate

  1. 1.Install the skill: npx skills add https://github.com/microsoft/azure-skills --skill azure-cloud-migrate
  2. 2.Open your source cloud project workspace in your coding agent
  3. 3.Invoke the skill and specify your migration scenario (e.g., 'migrate Lambda to Functions' or 'migrate Fargate to Container Apps')
  4. 4.Review the generated assessment report in <workspace-root-basename>-azure/ before any code is changed
  5. 5.Approve or adjust the migration plan; the skill will then convert code and configuration files
  6. 6.Check migration-status.md for progress updates during long-running steps
  7. 7.When prompted, choose to test locally or deploy to Azure
  8. 8.Hand off to azure-prepare for infrastructure provisioning and deployment

Use cases

Good for
  • Migrating AWS Lambda functions to Azure Functions
  • Moving AWS Elastic Beanstalk, Heroku, or Google App Engine apps to Azure App Service
  • Migrating AWS Fargate (ECS) workloads to Azure Container Apps
  • Porting Kubernetes workloads (GKE, EKS, self-hosted) to Azure Container Apps
  • Migrating GCP Cloud Run services or Spring Boot apps to Azure Container Apps
Who it's for
  • Developers moving AWS workloads to Azure
  • Teams migrating GCP or Heroku applications to Azure
  • Engineers evaluating Azure equivalents for existing cloud-native services
  • Organizations doing cross-cloud migration projects requiring structured assessment and code conversion

azure-cloud-migrate FAQ

Will the skill modify my original source files?

No. All output is written to a new <workspace-root-basename>-azure/ directory at the workspace root. The source directory is never modified.

What happens if my migration scenario is not in the supported list?

The skill falls back to using the mcp_azure_mcp_documentation and mcp_azure_mcp_get_azure_bestpractices MCP tools to guide the migration.

Does the skill handle infrastructure provisioning and deployment?

No. Code assessment and conversion are handled by this skill. Infrastructure, testing, and deployment are handed off to the azure-prepare skill.

How does the skill handle inter-service communication in containerized apps?

During assessment it scans source code for hardcoded Kubernetes-style DNS hostnames and ports, then flags them to be replaced with environment-variable-driven URL injection, since those DNS names do not resolve in Azure Container Apps.

Are destructive actions performed automatically?

No. Any destructive actions require explicit user confirmation via ask_user before proceeding.

Full instructions (SKILL.md)

Source of truth, from microsoft/azure-skills.


name: azure-cloud-migrate description: "Assess and migrate cross-cloud workloads to Azure with reports and code conversion. Supports Lambda→Functions, Beanstalk/Heroku/App Engine→App Service, Fargate/Kubernetes/Cloud Run/Spring Boot→Container Apps. WHEN: migrate Lambda to Functions, AWS to Azure, migrate Beanstalk, migrate Heroku, migrate App Engine, Cloud Run migration, Fargate to ACA, ECS/Kubernetes/GKE/EKS to Container Apps, Spring Boot to Container Apps, cross-cloud migration." license: MIT metadata: author: Microsoft version: "1.2.1"

Azure Cloud Migrate

This skill handles assessment and code migration of existing cloud workloads to Azure.

Rules

  1. Follow phases sequentially — do not skip
  2. Generate assessment before any code migration
  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. Use the latest supported runtime for the target service
  6. Destructive actions require ask_userfunctions global-rules | app-service global-rules
  7. Report progress to user — During long-running operations (deployments, image pushes), provide resource-level status updates so the user is never left waiting without feedback — see workflow-details.md
  8. Audit service discovery in app code — Kubernetes DNS names (e.g., http://order-service:3001) do not resolve in Container Apps. During assessment, scan source code for hardcoded hostnames/ports in HTTP clients and flag them for env-var-driven URL injection

Migration Scenarios

SourceTargetReference
AWS LambdaAzure Functionslambda-to-functions.md (assessment, code-migration)
AWS Elastic BeanstalkAzure App Servicebeanstalk-to-app-service.md
HerokuAzure App Serviceheroku-to-app-service.md
Google App EngineAzure App Serviceapp-engine-to-app-service.md
AWS Fargate (ECS)Azure Container Appsfargate-to-container-apps.md (assessment, deployment)
Kubernetes (GKE/EKS/Self-hosted)Azure Container Appsk8s-to-container-apps.md
GCP Cloud RunAzure Container Appscloudrun-to-container-apps.md
Spring Boot (Azure Spring Apps/VMs)Azure Container Appsspring-apps-to-aca.md

No matching scenario? Use mcp_azure_mcp_documentation and mcp_azure_mcp_get_azure_bestpractices tools.

Output Directory

All output goes to <workspace-root-basename>-azure/ at workspace root, where <workspace-root-basename> is the name of the top-level workspace directory itself (NOT a subdirectory within it). Never modify the source directory.

Steps

  1. Create <workspace-root-basename>-azure/ at workspace root
  2. Assess — Analyze source, map services, generate report using the scenario-specific assessment guide → functions assessment | app-service assessment
  3. Migrate — Convert code/config using the scenario-specific migration guide → functions code-migration | app-service code-migration
  4. Ask User — "Migration complete. Test locally or deploy to Azure?"
  5. Hand off to azure-prepare for infrastructure, testing, and deployment

Track progress in migration-status.md — see workflow-details.md.