Generated banner for Azure Architecture Autopilot
Generated logo for Azure Architecture Autopilot

Azure Architecture Autopilot

GitHubOfficialFirst committed by whoniiiiDistributed by GitHub

  • Skill
  • Workflow
  • Cloud and DevOps
  • MIT
  • Low risk
  • Has scripts

From the author

Design Azure infrastructure using natural language, or analyze existing Azure resources to auto-generate architecture diagrams, refine them through conversation, and deploy with Bicep. When to use this skill: - "Create X on Azure", "Set up a RAG architecture" (new design) - "Analyze my current Azure infrastructure", "Draw a diagram for rg-xxx" (existing analysis) - "Foundry is slow", "I want to reduce costs", "Strengthen security" (natural language modification) - Azure resource deployment, Bicep template generation, IaC code generation - Microsoft Foundry, AI Search, OpenAI, Fabric, ADLS Gen2, Databricks, and all Azure services
— the description by whoniiii

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

Azure Architecture Autopilot is a multi-phase agentic workflow designed to assist users in creating or modifying Azure infrastructure. It guides users through an interactive design process, generates architecture diagrams using an embedded engine, produces Bicep templates, and manages the deployment lifecycle. The skill integrates with Azure services and utilizes official Microsoft documentation to ensure configurations align with current service specifications.

What it does

  • Designs new Azure infrastructure based on natural language requirements.
  • Analyzes existing Azure resources to generate visual architecture diagrams.
  • Refines infrastructure designs through interactive conversation.
  • Generates and reviews Bicep templates for infrastructure as code.
  • Executes deployment workflows including validation and what-if analysis.
  • Detects user language to provide localized support and documentation.

When to use it

  • When you need to design a new Azure environment or RAG architecture.
  • When you want to visualize your current Azure resource configuration.
  • When you need to generate or update Bicep templates for Azure deployments.
  • When you require guidance on modifying existing Azure infrastructure to meet new requirements.

Advantages

  • Automated diagram generation using an embedded engine with official Azure icons.
  • Structured multi-phase workflow ensuring design confirmation before deployment.
  • Integration with Microsoft documentation for dynamic service property lookups.
  • Supports natural language interaction for complex infrastructure tasks.
  • Includes built-in safety checks like what-if analysis prior to deployment.

Usage examples

“Create a RAG architecture on Azure.”
The agent will initiate the design phase, suggest a baseline architecture, generate a diagram, and guide you through the Bicep generation and deployment process.
“Analyze my current Azure infrastructure and draw a diagram.”
The agent will scan your existing resources, infer relationships, and produce an interactive HTML diagram of your current setup.
“I want to strengthen security for my existing Azure resources.”
The agent will analyze your current configuration and propose modifications to your infrastructure design to align with security patterns.

Install

Documentation by whoniiii

Azure Architecture Builder

A pipeline that designs Azure infrastructure using natural language, or analyzes existing resources to visualize architecture and proceed through modification and deployment.

The diagram engine is embedded within the skill (scripts/ folder). No pip install needed — it directly uses the bundled Python scripts to generate interactive HTML diagrams with 605+ official Azure icons. Ready to use immediately without network access or package installation.

Automatic User Language Detection

🚨 Detect the language of the user's first message and provide all subsequent responses in that language. This is the highest-priority principle.

  • If the user writes in Korean → respond in Korean

  • If the user writes in English → respond in English (ask_user, progress updates, reports, Bicep comments — all in English)

  • The instructions and examples in this document are written in English, and all user-facing output must match the user's language

⚠️ Do not copy examples from this document verbatim to the user. Use only the structure as reference, and adapt text to the user's language.

Tool Usage Guide (GHCP Environment)

FeatureTool NameNotes
Fetch URL contentweb_fetchFor MS Docs lookups, etc.
Web searchweb_searchURL discovery
Ask userask_userchoices must be a string array
Sub-agentstaskexplore/task/general-purpose
Shell command executionpowershellWindows PowerShell

All sub-agents (explore/task/general-purpose) cannot use web_fetch or web_search. Fact-checking that requires MS Docs lookups must be performed directly by the main agent.

External Tool Path Discovery

az, python, bicep, etc. are often not on PATH. Discover once before starting a Phase and cache the result. Do not re-discover every time.

⚠️ Do not use Get-Command python — risk of Windows Store alias. Direct filesystem discovery ($env:LOCALAPPDATA\Programs\Python) takes priority.

az CLI path:

$azCmd = $null
if (Get-Command az -ErrorAction SilentlyContinue) { $azCmd = 'az' }
if (-not $azCmd) {
  $azExe = Get-ChildItem -Path "$env:ProgramFiles\Microsoft SDKs\Azure\CLI2\wbin", "$env:LOCALAPPDATA\Programs\Azure CLI\wbin" -Filter "az.cmd" -ErrorAction SilentlyContinue | Select-Object -First 1 -ExpandProperty FullName
  if ($azExe) { $azCmd = $azExe }
}

Python path + embedded diagram engine: refer to the diagram generation section in references/phase1-advisor.md.

Progress Updates Required

Use blockquote + emoji + bold format:

> **⏳ [Action]** — [Reason]
> **✅ [Complete]** — [Result]
> **⚠️ [Warning]** — [Details]
> **❌ [Failed]** — [Cause]

Parallel Preload Principle

While waiting for user input via ask_user, preload information needed for the next step in parallel.

ask_user QuestionPreload Simultaneously
Project name / scan scopeReference files, MS Docs, Python path discovery, diagram module path verification
Model/SKU selectionMS Docs for next question choices
Architecture confirmationaz account show/list, az group list
Subscription selectionaz group list

Path Branching — Automatically Determined by User Request

Path A: New Design (New Build)

Trigger: "create", "set up", "deploy", "build", etc.

Phase 1 (references/phase1-advisor.md) — Interactive architecture design + diagram
    ↓
Phase 2 (references/bicep-generator.md) — Bicep code generation
    ↓
Phase 3 (references/bicep-reviewer.md) — Code review + compilation verification
    ↓
Phase 4 (references/phase4-deployer.md) — validate → what-if → deploy
Path B: Existing Analysis + Modification (Analyze & Modify)

Trigger: "analyze", "current resources", "scan", "draw a diagram", "show my infrastructure", etc.

Phase 0 (references/phase0-scanner.md) — Existing resource scan + diagram
    ↓
Modification conversation — "What would you like to change here?" (natural language modification request → follow-up questions)
    ↓
Phase 1 (references/phase1-advisor.md) — Confirm modifications + update diagram
    ↓
Phase 2~4 — Same as above
When Path Determination Is Ambiguous

Ask the user directly:

ask_user({
  question: "What would you like to do?",
  choices: [
    "Design a new Azure architecture (Recommended)",
    "Analyze + modify existing Azure resources"
  ]
})

Phase Transition Rules

  • Each Phase reads and follows the instructions in its corresponding references/*.md file

  • When transitioning between Phases, always inform the user about the next step

  • Do not skip Phases (especially the what-if between Phase 3 → Phase 4)

  • 🚨 Required condition for Phase 1 → Phase 2 transition: 01_arch_diagram_draft.html must have been generated using the embedded diagram engine and shown to the user. Do not proceed to Bicep generation without a diagram. Completing spec collection alone does not mean Phase 1 is done — Phase 1 includes diagram generation + user confirmation.

  • Modification request after deployment → return to Phase 1, not Phase 0 (Delta Confirmation Rule)

Service Coverage & Fallback

Optimized Services

Microsoft Foundry, Azure OpenAI, AI Search, ADLS Gen2, Key Vault, Microsoft Fabric, Azure Data Factory, VNet/Private Endpoint, AML/AI Hub

Other Azure Services

All supported — MS Docs are automatically consulted to generate at the same quality standard. Do not send messages that cause user anxiety such as "out of scope" or "best-effort".

Stable vs Dynamic Information Handling
CategoryHandling MethodExamples
StableReference files firstisHnsEnabled: true, PE triple set
DynamicAlways fetch MS DocsAPI version, model availability, SKU, region

Quick Reference

FileRole
references/phase0-scanner.mdExisting resource scan + relationship inference + diagram
references/phase1-advisor.mdInteractive architecture design + fact checking
references/bicep-generator.mdBicep code generation rules
references/bicep-reviewer.mdCode review checklist
references/phase4-deployer.mdvalidate → what-if → deploy
references/service-gotchas.mdRequired properties, PE mappings
references/azure-dynamic-sources.mdMS Docs URL registry
references/azure-common-patterns.mdPE/security/naming patterns
references/ai-data.mdAI/Data service guide
assets/06-architecture-diagram.pngExample generated architecture diagram
assets/07-azure-portal-resources.pngExample Azure portal resource view
assets/08-deployment-succeeded.pngExample successful deployment result

Files

references/ai-data.md

Domain Pack: AI/Data (v1)

Service configuration guide specialized for Azure AI/Data workloads. v1 scope: Foundry, AI Search, ADLS Gen2, Key Vault, Fabric, ADF, VNet/PE.

Required properties/common mistakes → service-gotchas.md Dynamic information (API version, SKU, region) → azure-dynamic-sources.md Common patterns (PE, security, naming) → azure-common-patterns.md


1. Microsoft Foundry (CognitiveServices)

Resource Hierarchy
Microsoft.CognitiveServices/accounts (kind: 'AIServices')
├── /projects          — Foundry Project (required for portal access)
└── /deployments       — Model deployments (GPT-4o, embedding, etc.)
Bicep Core Structure
// Foundry resource
resource foundry 'Microsoft.CognitiveServices/accounts@<fetch>' = {
  name: foundryName
  location: location
  kind: 'AIServices'
  sku: { name: '<confirm with user>' }               // ← SKU confirmed after MS Docs check in Phase 1
  identity: { type: 'SystemAssigned' }
  properties: {
    customSubDomainName: foundryName  // ← Required, globally unique. Cannot change after creation — must delete and recreate if omitted
    allowProjectManagement: true
    publicNetworkAccess: 'Disabled'
    networkAcls: { defaultAction: 'Deny' }
  }
}

// Foundry Project — Must be created as a set with Foundry
resource project 'Microsoft.CognitiveServices/accounts/projects@<fetch>' = {
  parent: foundry
  name: '${foundryName}-project'
  location: location
  sku: { name: '<same as parent>' }
  kind: 'AIServices'
  identity: { type: 'SystemAssigned' }
  properties: {}
}

// Model deployment — At Foundry resource level
resource deployment 'Microsoft.CognitiveServices/accounts/deployments@<fetch>' = {
  parent: foundry
  name: '<model-name>'                              // ← Confirmed with user in Phase 1
  sku: {
    name: '<deployment-type>'                        // ← GlobalStandard, Standard, etc. — MS Docs fetch
    capacity: <confirm with user>                    // ← Capacity units — verify available range from MS Docs
  }
  properties: {
    model: {
      format: 'OpenAI'
      name: '<model-name>'                           // ← Must verify availability (fetch)
      version: '<fetch>'                             // ← Version also fetched
    }
  }
}

@<fetch>: Verify API version from the URLs in azure-dynamic-sources.md. Model name/version/deployment type/capacity: All Dynamic — Confirmed with user after MS Docs fetch in Phase 1.


Bicep Core Structure
resource search 'Microsoft.Search/searchServices@<fetch>' = {
  name: searchName
  location: location
  sku: { name: '<confirm with user>' }
  identity: { type: 'SystemAssigned' }
  properties: {
    hostingMode: 'default'
    publicNetworkAccess: 'disabled'
    semanticSearch: '<confirm with user>'    // disabled | free | standard — verify in MS Docs
  }
}
Design Notes
  • PE support: Basic SKU or higher (verify latest constraints in MS Docs)

  • Semantic Ranker: Activated via semanticSearch property (disabled | free | standard) — verify per-SKU support in MS Docs

  • Vector search: Supported on paid SKUs (verify in MS Docs)

  • Commonly used together with Foundry for RAG configurations


3. ADLS Gen2 (Storage Account)

Bicep Core Structure
resource storage 'Microsoft.Storage/storageAccounts@<fetch>' = {
  name: storageName        // Lowercase+numbers only, no hyphens
  location: location
  kind: 'StorageV2'
  sku: { name: 'Standard_LRS' }
  properties: {
    isHnsEnabled: true                 // ← Never omit this
    accessTier: 'Hot'
    allowBlobPublicAccess: false
    minimumTlsVersion: 'TLS1_2'
    publicNetworkAccess: 'Disabled'
    networkAcls: { defaultAction: 'Deny' }
  }
}

// Container
resource container 'Microsoft.Storage/storageAccounts/blobServices/containers@<fetch>' = {
  name: '${storage.name}/default/raw'
}
Design Notes
  • isHnsEnabled cannot be changed after creation → Resource must be recreated if omitted

  • PE: May need both blob and dfs PEs depending on use case

  • Common containers: raw, processed, curated


4. Microsoft Fabric

Bicep Core Structure
resource fabric 'Microsoft.Fabric/capacities@<fetch>' = {
  name: fabricName
  location: location
  sku: { name: '<confirm with user>', tier: 'Fabric' }
  properties: {
    administration: {
      members: [ '<admin-email>' ]    // ← Required, deployment fails without it
    }
  }
}
Design Notes
  • Only Capacity can be provisioned via Bicep

  • Workspace, Lakehouse, Warehouse, etc. must be created manually in the portal

  • Confirm admin email with the user (ask_user)

Required Confirmation Items When Adding in Phase 1

When Fabric is added during conversation, the following items must be confirmed via ask_user before updating the diagram:

  • [ ] SKU/Capacity: F2, F4, F8, ... — Provide choices after fetching available SKUs from MS Docs

  • [ ] administration.members: Admin email — Deployment fails without it

Do not arbitrarily include sub-workloads (OneLake, data pipelines, Warehouse, etc.) that the user did not specify. Only Capacity can be provisioned via Bicep.


5. Azure Data Factory

Bicep Core Structure
resource adf 'Microsoft.DataFactory/factories@<fetch>' = {
  name: adfName
  location: location
  identity: { type: 'SystemAssigned' }
  properties: {
    publicNetworkAccess: 'Disabled'
  }
}
Design Notes
  • Self-hosted Integration Runtime requires manual setup outside Bicep

  • Primarily used for on-premises data ingestion scenarios

  • PE groupId: dataFactory


6. AML / AI Hub (MachineLearningServices)

When to Use
Decision Rule:
├─ General AI/RAG → Use Foundry (AIServices)
└─ ML training, open-source models needed → Consider AI Hub
    └─ Only when the user explicitly requests it
Bicep Core Structure
resource hub 'Microsoft.MachineLearningServices/workspaces@<fetch>' = {
  name: hubName
  location: location
  kind: 'Hub'
  sku: { name: '<confirm with user>', tier: '<confirm with user>' }  // e.g., Basic/Basic — verify available SKUs in MS Docs
  identity: { type: 'SystemAssigned' }
  properties: {
    friendlyName: hubName
    storageAccount: storage.id
    keyVault: keyVault.id
    applicationInsights: appInsights.id    // Required for Hub
    publicNetworkAccess: 'Disabled'
  }
}
AI Hub Dependencies

Additional resources needed when using Hub:

  • Storage Account

  • Key Vault

  • Application Insights + Log Analytics Workspace

  • Container Registry (optional)


7. Common AI/Data Architecture Combinations

RAG Chatbot
Foundry (AIServices) + Project
├── <chat-model> (chat)              — Confirmed after availability check in Phase 1
├── <embedding-model> (embedding)    — Confirmed after availability check in Phase 1
├── AI Search (vector + semantic)
├── ADLS Gen2 (document store)
└── Key Vault (secrets)
+ Full VNet/PE configuration
Data Platform
Fabric Capacity (analytics)
├── ADLS Gen2 (data lake)
├── ADF (ingestion)
└── Key Vault (secrets)
+ VNet/PE configuration

Requirements and compatibility

Written for: GitHub Copilot

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Python

Security

What our scanner noticed· Low risk

  • Phrasing that asks for actions without confirmation
  • Instructions that use the network
  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

First committed by
GitHub avatar of whoniiiiwhoniiii
Publisher
GitHub (Official)
Distributed by
GitHub
Source
github/awesome-copilot · skills/azure-architecture-autopilot · commit 797337f
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced
Contributors
whoniiii, NehaGitHubAcc, Sertxito, stbenjam

AutoGineer is not affiliated with or endorsed by whoniiii or GitHub.

Get it from the source

1 of this skill’s files are not mirrored here, so there is no ZIP. Get the complete skill from its source: github/awesome-copilot