{"id":"a89c676b-2d4d-463e-a785-5d4576233e94","shortId":"BvREAN","kind":"skill","title":"Azure Architecture Autopilot","tagline":"Awesome Copilot skill by Github","description":"# Azure Architecture Builder\n\nA pipeline that designs Azure infrastructure using natural language, or analyzes existing resources to visualize architecture and proceed through modification and deployment.\n\nThe diagram engine is **embedded within the skill** (`scripts/` folder).\nNo `pip install` needed — it directly uses the bundled Python scripts\nto generate interactive HTML diagrams with 605+ official Azure icons.\nReady to use immediately without network access or package installation.\n\n## Automatic User Language Detection\n\n**🚨 Detect the language of the user's first message and provide all subsequent responses in that language. This is the highest-priority principle.**\n\n- If the user writes in Korean → respond in Korean\n- If the user writes in English → **respond in English** (ask_user, progress updates, reports, Bicep comments — all in English)\n- The instructions and examples in this document are written in English, and **all user-facing output must match the user's language**\n\n**⚠️ Do not copy examples from this document verbatim to the user.**\nUse only the structure as reference, and adapt text to the user's language.\n\n## Tool Usage Guide (GHCP Environment)\n\n| Feature | Tool Name | Notes |\n|---------|-----------|-------|\n| Fetch URL content | `web_fetch` | For MS Docs lookups, etc. |\n| Web search | `web_search` | URL discovery |\n| Ask user | `ask_user` | `choices` must be a string array |\n| Sub-agents | `task` | explore/task/general-purpose |\n| Shell command execution | `powershell` | Windows PowerShell |\n\n> All sub-agents (explore/task/general-purpose) cannot use `web_fetch` or `web_search`.\n> Fact-checking that requires MS Docs lookups must be performed **directly by the main agent**.\n\n## External Tool Path Discovery\n\n`az`, `python`, `bicep`, etc. are often not on PATH.\n**Discover once before starting a Phase and cache the result. Do not re-discover every time.**\n\n> **⚠️ Do not use `Get-Command python`** — risk of Windows Store alias.\n> Direct filesystem discovery (`$env:LOCALAPPDATA\\Programs\\Python`) takes priority.\n\naz CLI path:\n```powershell\n$azCmd = $null\nif (Get-Command az -ErrorAction SilentlyContinue) { $azCmd = 'az' }\nif (-not $azCmd) {\n  $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\n  if ($azExe) { $azCmd = $azExe }\n}\n```\n\nPython path + embedded diagram engine: refer to the diagram generation section in `references/phase1-advisor.md`.\n\n## Progress Updates Required\n\nUse blockquote + emoji + bold format:\n```markdown\n> **⏳ [Action]** — [Reason]\n> **✅ [Complete]** — [Result]\n> **⚠️ [Warning]** — [Details]\n> **❌ [Failed]** — [Cause]\n```\n\n## Parallel Preload Principle\n\nWhile waiting for user input via `ask_user`, preload information needed for the next step in parallel.\n\n| ask_user Question | Preload Simultaneously |\n|---|---|\n| Project name / scan scope | Reference files, MS Docs, Python path discovery, **diagram module path verification** |\n| Model/SKU selection | MS Docs for next question choices |\n| Architecture confirmation | `az account show/list`, `az group list` |\n| Subscription selection | `az group list` |\n\n---\n\n## Path Branching — Automatically Determined by User Request\n\n### Path A: New Design (New Build)\n\n**Trigger**: \"create\", \"set up\", \"deploy\", \"build\", etc.\n```\nPhase 1 (references/phase1-advisor.md) — Interactive architecture design + diagram\n    ↓\nPhase 2 (references/bicep-generator.md) — Bicep code generation\n    ↓\nPhase 3 (references/bicep-reviewer.md) — Code review + compilation verification\n    ↓\nPhase 4 (references/phase4-deployer.md) — validate → what-if → deploy\n```\n\n### Path B: Existing Analysis + Modification (Analyze & Modify)\n\n**Trigger**: \"analyze\", \"current resources\", \"scan\", \"draw a diagram\", \"show my infrastructure\", etc.\n```\nPhase 0 (references/phase0-scanner.md) — Existing resource scan + diagram\n    ↓\nModification conversation — \"What would you like to change here?\" (natural language modification request → follow-up questions)\n    ↓\nPhase 1 (references/phase1-advisor.md) — Confirm modifications + update diagram\n    ↓\nPhase 2~4 — Same as above\n```\n\n### When Path Determination Is Ambiguous\n\nAsk the user directly:\n```\nask_user({\n  question: \"What would you like to do?\",\n  choices: [\n    \"Design a new Azure architecture (Recommended)\",\n    \"Analyze + modify existing Azure resources\"\n  ]\n})\n```\n\n---\n\n## Phase Transition Rules\n\n- Each Phase reads and follows the instructions in its corresponding `references/*.md` file\n- When transitioning between Phases, always inform the user about the next step\n- Do not skip Phases (especially the what-if between Phase 3 → Phase 4)\n- **🚨 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.\n- Modification request after deployment → return to Phase 1, not Phase 0 (Delta Confirmation Rule)\n\n## Service Coverage & Fallback\n\n### Optimized Services\nMicrosoft Foundry, Azure OpenAI, AI Search, ADLS Gen2, Key Vault, Microsoft Fabric, Azure Data Factory, VNet/Private Endpoint, AML/AI Hub\n\n### Other Azure Services\nAll supported — MS Docs are automatically consulted to generate at the same quality standard.\n**Do not send messages that cause user anxiety such as \"out of scope\" or \"best-effort\".**\n\n### Stable vs Dynamic Information Handling\n\n| Category | Handling Method | Examples |\n|----------|----------------|---------|\n| **Stable** | Reference files first | `isHnsEnabled: true`, PE triple set |\n| **Dynamic** | **Always fetch MS Docs** | API version, model availability, SKU, region |\n\n## Quick Reference\n\n| File | Role |\n|------|------|\n| `references/phase0-scanner.md` | Existing resource scan + relationship inference + diagram |\n| `references/phase1-advisor.md` | Interactive architecture design + fact checking |\n| `references/bicep-generator.md` | Bicep code generation rules |\n| `references/bicep-reviewer.md` | Code review checklist |\n| `references/phase4-deployer.md` | validate → what-if → deploy |\n| `references/service-gotchas.md` | Required properties, PE mappings |\n| `references/azure-dynamic-sources.md` | MS Docs URL registry |\n| `references/azure-common-patterns.md` | PE/security/naming patterns |\n| `references/ai-data.md` | AI/Data service guide |","tags":["azure","architecture","autopilot","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/azure-architecture-autopilot","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T03:40:31.923Z","embedding":null,"createdAt":"2026-04-18T20:33:19.006Z","updatedAt":"2026-04-22T03:40:31.923Z","lastSeenAt":"2026-04-22T03:40:31.923Z","tsv":"'0':514,682 '01_arch_diagram_draft.html':630 '1':348,467,538,626,662,666,679 '2':474,545,628 '3':480,619 '4':487,621 '605':61 'access':71 'account':436 'action':377 'adapt':172 'adl':697 'agent':216,228,252 'ai':695 'ai/data':819 'alia':294 'alon':657 'alway':600,763 'ambigu':554 'aml/ai':708 'analysi':497 'analyz':22,499,502,575 'anxieti':734 'api':767 'architectur':2,10,27,433,470,573,786 'array':213 'ask':121,204,206,394,405,555,559 'automat':75,448,718 'autopilot':3 'avail':770 'awesom':4 'az':257,304,314,318,435,438,443 'az.cmd':341 'azcmd':308,317,321,353 'azex':322,352,354 'azur':1,9,16,63,331,337,572,578,693,703,711 'b':495 'best':742 'best-effort':741 'bicep':126,259,476,649,791 'blockquot':372 'bold':374 'branch':447 'build':458,464 'builder':11 'bundl':52 'cach':273 'cannot':230 'categori':749 'category-awesome-copilot' 'caus':384,732 'chang':527 'check':239,789 'checklist':798 'childitem':325 'choic':208,432,568 'cli':305,338 'cli2':332 'code':477,482,792,796 'collect':656 'command':220,288,313 'comment':127 'compil':484 'complet':379,654 'condit':623 'confirm':434,540,671,684 'consult':719 'content':190 'convers':521 'copi':156 'copilot':5 'correspond':592 'coverag':687 'creat':460 'current':503 'data':704 'delta':683 'deploy':33,463,493,675,804 'design':15,456,471,569,787 'detail':382 'detect':78,79 'determin':449,552 'diagram':35,59,358,363,421,472,508,519,543,638,653,668,783 'direct':49,248,295,558 'discov':266,280 'discoveri':203,256,297,420 'doc':195,243,417,428,716,766,812 'document':137,160 'done':664 'draw':506 'dynam':746,762 'effort':743 'embed':38,357,637 'emoji':373 'endpoint':707 'engin':36,359,639 'english':117,120,130,141 'env':298,327,334 'environ':183 'erroract':315,342 'especi':612 'etc':197,260,465,512 'everi':281 'exampl':134,157,752 'execut':221 'exist':23,496,516,577,778 'expandproperti':349 'explore/task/general-purpose':218,229 'extern':253 'fabric':702 'face':146 'fact':238,788 'fact-check':237 'factori':705 'fail':383 'fallback':688 'featur':184 'fetch':188,192,233,764 'file':415,595,755,775 'filesystem':296 'filter':340 'first':86,347,756 'folder':43 'follow':534,587 'follow-up':533 'format':375 'foundri':692 'fullnam':350 'gen2':698 'generat':56,364,478,634,650,669,721,793 'get':287,312,324 'get-childitem':323 'get-command':286,311 'ghcp':182 'github':8 'group':439,444 'guid':181,821 'handl':748,750 'highest':100 'highest-prior':99 'html':58 'hub':709 'icon':64 'immedi':68 'includ':667 'infer':782 'inform':397,601,747 'infrastructur':17,511 'input':392 'instal':46,74 'instruct':132,589 'interact':57,469,785 'ishnsen':757 'key':699 'korean':108,111 'languag':20,77,81,95,153,178,530 'like':525,565 'list':440,445 'localappdata':299,335 'lookup':196,244 'main':251 'map':809 'markdown':376 'match':149 'md':594 'mean':660 'messag':87,730 'method':751 'microsoft':329,691,701 'model':769 'model/sku':425 'modif':31,498,520,531,541,672 'modifi':500,576 'modul':422 'ms':194,242,416,427,715,765,811 'must':148,209,245,631 'name':186,411 'natur':19,529 'need':47,398 'network':70 'new':455,457,571 'next':401,430,606 'note':187 'null':309 'object':346 'offici':62 'often':262 'openai':694 'optim':689 'output':147 'packag':73 'parallel':385,404 'path':255,265,306,326,356,419,423,446,453,494,551 'pattern':817 'pe':759,808 'pe/security/naming':816 'perform':247 'phase':271,466,473,479,486,513,537,544,580,584,599,611,618,620,625,627,661,665,678,681 'pip':45 'pipelin':13 'powershel':222,224,307 'preload':386,396,408 'principl':102,387 'prioriti':101,303 'proceed':29,647 'program':300,336 'programfil':328 'progress':123,368 'project':410 'properti':807 'provid':89 'python':53,258,289,301,355,418 'qualiti':725 'question':407,431,536,561 'quick':773 're':279 're-discov':278 'read':585 'readi':65 'reason':378 'recommend':574 'refer':170,360,414,593,754,774 'references/ai-data.md':818 'references/azure-common-patterns.md':815 'references/azure-dynamic-sources.md':810 'references/bicep-generator.md':475,790 'references/bicep-reviewer.md':481,795 'references/phase0-scanner.md':515,777 'references/phase1-advisor.md':367,468,539,784 'references/phase4-deployer.md':488,799 'references/service-gotchas.md':805 'region':772 'registri':814 'relationship':781 'report':125 'request':452,532,673 'requir':241,370,622,806 'resourc':24,504,517,579,779 'respond':109,118 'respons':92 'result':275,380 'return':676 'review':483,797 'risk':290 'role':776 'rule':582,685,794 'scan':412,505,518,780 'scope':413,739 'script':42,54 'sdks':330 'search':199,201,236,696 'section':365 'select':345,426,442 'select-object':344 'send':729 'servic':686,690,712,820 'set':461,761 'shell':219 'show':509 'show/list':437 'shown':641 'silentlycontinu':316,343 'simultan':409 'skill':6,41 'skip':610 'sku':771 'source-github' 'spec':655 'stabl':744,753 'standard':726 'start':269 'step':402,607 'store':293 'string':212 'structur':168 'sub':215,227 'sub-ag':214,226 'subscript':441 'subsequ':91 'support':714 'take':302 'task':217 'text':173 'time':282 'tool':179,185,254 'transit':581,597,629 'trigger':459,501 'tripl':760 'true':758 'updat':124,369,542 'url':189,202,813 'usag':180 'use':18,50,67,165,231,285,371,635 'user':76,84,105,114,122,145,151,164,176,205,207,391,395,406,451,557,560,603,644,670,733 'user-fac':144 'valid':489,800 'vault':700 'verbatim':161 'verif':424,485 'version':768 'via':393 'visual':26 'vnet/private':706 'vs':745 'wait':389 'warn':381 'wbin':333,339 'web':191,198,200,232,235 'what-if':490,614,801 'window':223,292 'within':39 'without':69,651 'would':523,563 'write':106,115 'written':139 '~4':546","prices":[{"id":"c1e2293f-2cc9-4775-95f1-10fdbab3a84a","listingId":"a89c676b-2d4d-463e-a785-5d4576233e94","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:33:19.006Z"}],"sources":[{"listingId":"a89c676b-2d4d-463e-a785-5d4576233e94","source":"github","sourceId":"github/awesome-copilot/azure-architecture-autopilot","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/azure-architecture-autopilot","isPrimary":false,"firstSeenAt":"2026-04-18T21:48:22.724Z","lastSeenAt":"2026-04-22T00:52:04.296Z"},{"listingId":"a89c676b-2d4d-463e-a785-5d4576233e94","source":"skills_sh","sourceId":"github/awesome-copilot/azure-architecture-autopilot","sourceUrl":"https://skills.sh/github/awesome-copilot/azure-architecture-autopilot","isPrimary":true,"firstSeenAt":"2026-04-18T20:33:19.006Z","lastSeenAt":"2026-04-22T03:40:31.923Z"}],"details":{"listingId":"a89c676b-2d4d-463e-a785-5d4576233e94","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"azure-architecture-autopilot","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/azure-architecture-autopilot"},"updatedAt":"2026-04-22T03:40:31.923Z"}}