Azure Architecture Autopilot
GitHubOfficialFirst committed by whoniiiiDistributed by GitHub
- Skill
- Workflow
- Cloud and DevOps
- MIT
- Low risk
- Has scripts
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
1 of its files are not mirrored here, so install it from its source:
https://github.com/github/awesome-copilot/tree/797337f33f73e35d08d82f840e21c4b8c4932d88/skills/azure-architecture-autopilot
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)
| Feature | Tool Name | Notes |
|---|---|---|
| Fetch URL content | web_fetch | For MS Docs lookups, etc. |
| Web search | web_search | URL discovery |
| Ask user | ask_user | choices must be a string array |
| Sub-agents | task | explore/task/general-purpose |
| Shell command execution | powershell | Windows PowerShell |
All sub-agents (explore/task/general-purpose) cannot use
web_fetchorweb_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 Question | Preload Simultaneously |
|---|---|
| Project name / scan scope | Reference files, MS Docs, Python path discovery, diagram module path verification |
| Model/SKU selection | MS Docs for next question choices |
| Architecture confirmation | az account show/list, az group list |
| Subscription selection | az 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 → deployPath 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 aboveWhen 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/*.mdfileWhen 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.htmlmust 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
| Category | Handling Method | Examples |
|---|---|---|
| Stable | Reference files first | isHnsEnabled: true, PE triple set |
| Dynamic | Always fetch MS Docs | API version, model availability, SKU, region |
Quick Reference
| File | Role |
|---|---|
references/phase0-scanner.md | Existing resource scan + relationship inference + diagram |
references/phase1-advisor.md | Interactive architecture design + fact checking |
references/bicep-generator.md | Bicep code generation rules |
references/bicep-reviewer.md | Code review checklist |
references/phase4-deployer.md | validate → what-if → deploy |
references/service-gotchas.md | Required properties, PE mappings |
references/azure-dynamic-sources.md | MS Docs URL registry |
references/azure-common-patterns.md | PE/security/naming patterns |
references/ai-data.md | AI/Data service guide |
assets/06-architecture-diagram.png | Example generated architecture diagram |
assets/07-azure-portal-resources.png | Example Azure portal resource view |
assets/08-deployment-succeeded.png | Example successful deployment result |
Files
- .gitignore508 B
- ATTRIBUTION.mdAdded by AutoGineer889 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md7.5 KiB
- assets/06-architecture-diagram.png326.8 KiB
- assets/07-azure-portal-resources.png171.4 KiB
- assets/08-deployment-succeeded.png41.0 KiB
- references/ai-data.md7.1 KiB
- references/architecture-guidance-sources.md6.9 KiB
- references/azure-common-patterns.md4.2 KiB
- references/azure-dynamic-sources.md4.7 KiB
- references/bicep-generator.md19.9 KiB
- references/bicep-reviewer.md7.1 KiB
- references/phase0-scanner.md24.9 KiB
- references/phase1-advisor.md46.9 KiB
- references/phase4-deployer.md11.7 KiB
- references/service-gotchas.md6.4 KiB
- scripts/cli.pyScript5.7 KiB
- scripts/generator.pyScript137.2 KiB
- scripts/icons.py(opens on GitHub)Not mirrored: opens on GitHub2.0 MiB
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.mdDynamic information (API version, SKU, region) →azure-dynamic-sources.mdCommon 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 inazure-dynamic-sources.md. Model name/version/deployment type/capacity: All Dynamic — Confirmed with user after MS Docs fetch in Phase 1.
2. Azure AI Search
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
semanticSearchproperty (disabled|free|standard) — verify per-SKU support in MS DocsVector 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
isHnsEnabledcannot be changed after creation → Resource must be recreated if omittedPE: May need both
blobanddfsPEs depending on use caseCommon 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 itBicep 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 configurationData Platform
Fabric Capacity (analytics)
├── ADLS Gen2 (data lake)
├── ADF (ingestion)
└── Key Vault (secrets)
+ VNet/PE configurationRequirements 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
whoniiii
- 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