
Handles the full assessment and code conversion workflow when you're moving workloads from AWS, GCP, or Heroku into Azure. You point it at Lambda functions, Beanstalk apps, or Kubernetes manifests, and it generates a migration report, rewrites your code for Functions or Container Apps, and outputs everything to a separate directory without touching your source. The scenario matrix is comprehensive (Lambda to Functions, Fargate to Container Apps, even Spring Boot migrations), and it enforces a phase-locked workflow so you can't skip the assessment step. One thing to like is the explicit rule about scanning for hardcoded service URLs in Kubernetes apps, since those DNS names won't resolve in Azure. Hands off to azure-prepare when it's time to deploy.
$ npx -y skills add microsoft/github-copilot-for-azure --skill azure-cloud-migrate --agent claude-codeInstalls into .claude/skills of the current project.
This skill handles assessment and code migration of existing cloud workloads to Azure.
mcp_azure_mcp_get_azure_bestpractices and mcp_azure_mcp_documentation MCP toolsask_user — functions global-rules | app-service global-ruleshttp://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| Source | Target | Reference |
|---|---|---|
| AWS Lambda | Azure Functions | lambda-to-functions.md (assessment, code-migration) |
| AWS Elastic Beanstalk | Azure App Service | beanstalk-to-app-service.md |
| Heroku | Azure App Service | heroku-to-app-service.md |
| Google App Engine | Azure App Service | app-engine-to-app-service.md |
| AWS Fargate (ECS) | Azure Container Apps | fargate-to-container-apps.md (assessment, deployment) |
| Kubernetes (GKE/EKS/Self-hosted) | Azure Container Apps | k8s-to-container-apps.md |
| GCP Cloud Run | Azure Container Apps | cloudrun-to-container-apps.md |
| Spring Boot (Azure Spring Apps/VMs) | Azure Container Apps | spring-apps-to-aca.md |
No matching scenario? Use
mcp_azure_mcp_documentationandmcp_azure_mcp_get_azure_bestpracticestools.
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.
<workspace-root-basename>-azure/ at workspace rootTrack progress in migration-status.md — see workflow-details.md.
Sponsors