All skills
microsoft avatar

/azure-prepare

@7995851 official

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

Use this Skill: https://skilld.dev/gh/microsoft/github-copilot-for-azure/azure-prepare

This session only. Nothing lands on disk.

referencesarchitecture.md

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

Architecture Planning

Select hosting stack and map components to Azure services.

Stack Selection

Stack Best For Azure Services
Containers Docker experience, complex dependencies, microservices Container Apps, AKS, ACR
Serverless Event-driven, variable traffic, cost optimization Functions, Logic Apps, Event Grid
App Service Traditional web apps, PaaS preference App Service, Static Web Apps

Decision Factors

Factor Containers Serverless App Service
Docker experience ✓✓
Event-driven ✓ ✓✓
Variable traffic ✓✓ ✓
Complex dependencies ✓✓ ✓
Long-running processes ✓✓ ✓ (Durable Functions) ✓
Workflow / orchestration ✓✓ (Durable Functions + DTS)
Minimal ops overhead ✓✓ ✓

Container Hosting: Container Apps vs AKS

Factor Container Apps AKS
Scale to zero ✓✓
Kubernetes API access ✓✓
Custom operators/CRDs ✓✓
Service mesh Dapr (built-in) Istio
Networking/dataplane Managed platform defaults Azure CNI powered by Cilium
GPU workloads ✓✓
Best for Microservices, event-driven Full K8s control, complex workloads
When to Use Container Apps
  • Microservices without Kubernetes complexity
  • Event-driven workloads (KEDA built-in)
  • Need scale-to-zero for cost optimization
  • Teams without Kubernetes expertise
When to Use AKS
  • Need Kubernetes API/kubectl access
  • Require custom operators or CRDs
  • Service mesh requirements (Istio, Linkerd)
  • GPU/ML workloads
  • Complex networking or multi-tenant architectures

AKS Planning: For AKS SKU selection (Automatic vs Standard), networking, identity, scaling, and security configuration, invoke the azure-kubernetes skill.

Service Mapping

Hosting

Component Type Primary Service Alternatives
SPA Frontend Static Web Apps Blob + CDN
SSR Web App Container Apps App Service, AKS
REST/GraphQL API Container Apps App Service, Functions, AKS
Background Worker Container Apps Functions, AKS
Scheduled Task Functions (Timer) Container Apps Jobs, Kubernetes CronJob (on AKS)
Event Processor Functions Container Apps, AKS + KEDA
Microservices (full K8s) AKS Container Apps
GPU/ML Workloads AKS Azure ML

Data

Need Primary Reference Alternatives
Relational Azure SQL SQL Database PostgreSQL, MySQL
Document Cosmos DB Cosmos DB MongoDB
Cache Redis Cache
Files Blob Storage Storage Files Storage
Search AI Search

Integration

Need Service
Message Queue Service Bus
Pub/Sub Event Grid
Streaming Event Hubs

Workflow & Orchestration

Need Service Notes
Multi-step workflow / orchestration Durable Functions + Durable Task Scheduler DTS is the required managed backend for Durable Functions. Do NOT use Azure Storage or MSSQL backends. See durable.md.
Low-code / visual workflow Logic Apps For integration-heavy, low-code scenarios

Supporting (Always Include)

Service Purpose
Log Analytics Centralized logging
Application Insights Monitoring, APM
Key Vault Secrets management
Managed Identity Service-to-service auth

Document Architecture

Record selections in .azure/deployment-plan.md with rationale for each choice.

Source: SKILL.md on GitHub

1 alert8d4 checks · Risk SAFE
  • Gen Agent Trust Hub8d

    The azure-prepare skill provides a comprehensive environment for preparing Azure applications for deployment. It focuses on generating infrastructure-as-code and deployment configuration while strictly enforcing security best practices like managed identity usage and secret management via Key Vault. No malicious patterns or security risks were identified.

  • Socket8d

    5 alerts: gptAnomaly, gptSecurity

  • Snyk8d

    Risk: LOW · No issues

  • Runlayer6mo

    68/196 files flagged

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

Last checked against GitHub yesterday.

Activeupdated 3 weeks ago
metadata
{
  "author": "Microsoft",
  "version": "0.0.0-placeholder"
}
  • Infrastructure
  • azure
  • bicep
  • terraform
  • deployment
  • docker
  • functions
  • app-service

README badge

README badge for microsoft/github-copilot-for-azure/azure-prepare

Prepares Azure applications for deployment by generating infrastructure templates (Bicep or Terraform), azure.yaml configuration, and Dockerfiles. Covers new app creation, modernization, and hosting on App Service, Container Apps, or Functions—but excludes Python App Service deployments, copilot SDK apps, and cross-cloud migrations which have dedicated skills.

Generated from the current SKILL.md.

Does this skill handle Python App Service deployments?
No. Use the python-appservice-deploy skill instead for Python code-only App Service deploys.
Can I use this skill for cross-cloud migration?
No. This skill is for Azure-native preparation. Use azure-cloud-migrate for migrations from AWS, GCP, or other clouds.
Does this skill support Copilot SDK apps?
No. Use azure-hosted-copilot-sdk for apps with @github/copilot-sdk or CopilotClient.
What infrastructure templates does this skill support?
Azure Developer CLI (azd), Bicep, Terraform, and Azure CLI. The skill creates infrastructure code, Dockerfiles, and configuration files—actual deployment execution is handled by the azure-deploy skill.
Does this skill delete existing project files?
No. When adding features to existing projects, it modifies files rather than deletes them. It never removes the project or workspace directory itself.

Generated from the current SKILL.md. These answers refresh after source changes.