[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699P23R29VQKBFB59YDC0YV":3,"skill-same:01M699P23R29VQKBFB59YDC0YV":186},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":61,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M699P23R29VQKBFB59YDC0YV","azure-validate",null,"Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.","microsoft\u002Fazure-skills","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M699HXPKQFT1BH5KD1PG0CB4",1638,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,9,46,47],"azure validate","validate","azure","permissions","roles","functions","check","analysis","when","apps","container","errors","managed","deployment","for","container apps deployment","ready","deep","app","troubleshoot","review","identity","deploy","test","2026-11-10 10:12:30",false,"---\nname: azure-validate\ndescription: \"Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.\"\nlicense: MIT\nmetadata:\n  author: Microsoft\n  version: \"1.2.5\"\n---\n\n# Azure Validate\n\n> **AUTHORITATIVE GUIDANCE** — Follow these instructions exactly unless they contradict security policies given to you.\n\n> **⛔ STOP — PREREQUISITE CHECK REQUIRED**\n>\n> Before proceeding, verify this prerequisite is met:\n>\n> **azure-prepare** was invoked and completed → `.azure\u002Fdeployment-plan.md` exists with status `Approved` or later\n>\n> If the plan is missing, **STOP IMMEDIATELY** and invoke **azure-prepare** first.\n>\n> The complete workflow ensures success:\n>\n> `azure-prepare` → `azure-validate` → `azure-deploy`\n\n## Triggers\n\n- Check if app is ready to deploy\n- Validate azure.yaml or Bicep\n- Run preflight checks\n- Troubleshoot deployment errors\n\n## Rules\n\n1. Run after azure-prepare, before azure-deploy\n2. All checks must pass—do not deploy with failures\n3. ⛔ **Destructive actions require `ask_user`** — [global-rules](references\u002Fglobal-rules.md)\n\n## Steps\n\nRun the workflow script and follow its instructions. It walks you through each validation step one at a time, recording progress in `.azure\u002Fvalidate-status.json`. Use [references\u002Fscripts\u002Fworkflow.ps1](references\u002Fscripts\u002Fworkflow.ps1) on Windows or [references\u002Fscripts\u002Fworkflow.sh](references\u002Fscripts\u002Fworkflow.sh) on macOS\u002FLinux.\n\nStart by calling the script **without** the completed-step argument:\n\n```bash\npwsh references\u002Fscripts\u002Fworkflow.ps1 -WorkspacePath \u003Cworkspace-path>\n# macOS\u002FLinux: bash references\u002Fscripts\u002Fworkflow.sh --workspace-path \u003Cworkspace-path>\n```\n\nEach run prints the next action and the value to pass next. Perform the action, then re-run with that value (`-CompletedStep \u003Cvalue>` for pwsh, `--completed-step \u003Cvalue>` for bash). Repeat until it reports the azure-validate workflow is complete.\n\nRead [references\u002Frecipes\u002FREADME.md](references\u002Frecipes\u002FREADME.md) and apply its Node.js runtime check for **every recipe** before provisioning or deployment. The steps also reference [role checks](references\u002Frole-verification.md).\n\n> **⛔ VALIDATION AUTHORITY**\n>\n> This skill is the officially verified way to set plan status to `Validated`. You MUST follow the script's instructions to completion before setting status to `Validated`.\n> Do NOT set status to `Validated` without doing so.\n\n---\n\n> **⚠️ NEXT STEP — DEPENDS ON USER INTENT**\n>\n> After ALL validations pass, check whether the user asked to deploy:\n> - **If the user explicitly requested deployment**, you **MUST** invoke **azure-deploy** to execute it. Do NOT run `azd up`, `azd deploy`, or any deployment commands directly — let azure-deploy handle execution.\n> - **If the user only asked to validate or prepare** (not deploy), STOP after recording proof and setting status to `Validated`. Report the validation results and do NOT invoke azure-deploy.\n>\n> If any validation failed, fix the issues and re-run azure-validate before proceeding.\n","# Azure Validate\n\n> **AUTHORITATIVE GUIDANCE** — Follow these instructions exactly unless they contradict security policies given to you.\n\n> **⛔ STOP — PREREQUISITE CHECK REQUIRED**\n>\n> Before proceeding, verify this prerequisite is met:\n>\n> **azure-prepare** was invoked and completed → `.azure\u002Fdeployment-plan.md` exists with status `Approved` or later\n>\n> If the plan is missing, **STOP IMMEDIATELY** and invoke **azure-prepare** first.\n>\n> The complete workflow ensures success:\n>\n> `azure-prepare` → `azure-validate` → `azure-deploy`\n\n## Triggers\n\n- Check if app is ready to deploy\n- Validate azure.yaml or Bicep\n- Run preflight checks\n- Troubleshoot deployment errors\n\n## Rules\n\n1. Run after azure-prepare, before azure-deploy\n2. All checks must pass—do not deploy with failures\n3. ⛔ **Destructive actions require `ask_user`** — [global-rules](references\u002Fglobal-rules.md)\n\n## Steps\n\nRun the workflow script and follow its instructions. It walks you through each validation step one at a time, recording progress in `.azure\u002Fvalidate-status.json`. Use [references\u002Fscripts\u002Fworkflow.ps1](references\u002Fscripts\u002Fworkflow.ps1) on Windows or [references\u002Fscripts\u002Fworkflow.sh](references\u002Fscripts\u002Fworkflow.sh) on macOS\u002FLinux.\n\nStart by calling the script **without** the completed-step argument:\n\n```bash\npwsh references\u002Fscripts\u002Fworkflow.ps1 -WorkspacePath \u003Cworkspace-path>\n# macOS\u002FLinux: bash references\u002Fscripts\u002Fworkflow.sh --workspace-path \u003Cworkspace-path>\n```\n\nEach run prints the next action and the value to pass next. Perform the action, then re-run with that value (`-CompletedStep \u003Cvalue>` for pwsh, `--completed-step \u003Cvalue>` for bash). Repeat until it reports the azure-validate workflow is complete.\n\nRead [references\u002Frecipes\u002FREADME.md](references\u002Frecipes\u002FREADME.md) and apply its Node.js runtime check for **every recipe** before provisioning or deployment. The steps also reference [role checks](references\u002Frole-verification.md).\n\n> **⛔ VALIDATION AUTHORITY**\n>\n> This skill is the officially verified way to set plan status to `Validated`. You MUST follow the script's instructions to completion before setting status to `Validated`.\n> Do NOT set status to `Validated` without doing so.\n\n---\n\n> **⚠️ NEXT STEP — DEPENDS ON USER INTENT**\n>\n> After ALL validations pass, check whether the user asked to deploy:\n> - **If the user explicitly requested deployment**, you **MUST** invoke **azure-deploy** to execute it. Do NOT run `azd up`, `azd deploy`, or any deployment commands directly — let azure-deploy handle execution.\n> - **If the user only asked to validate or prepare** (not deploy), STOP after recording proof and setting status to `Validated`. Report the validation results and do NOT invoke azure-deploy.\n>\n> If any validation failed, fix the issues and re-run azure-validate before proceeding.\n",{"name":5,"license":15,"metadata":53,"description":7},{"author":12,"version":54},"1.2.5","main","9aa7f618563713f47481af67b7b9dcaafdc2154a",".github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate",267,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-14 01:56:00",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add microsoft\u002Fazure-skills --skill azure-validate",{"tool":70,"command":71},"bunx","bunx skills add microsoft\u002Fazure-skills --skill azure-validate",{"tool":73,"command":74},"pnpm","pnpm dlx skills add microsoft\u002Fazure-skills --skill azure-validate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002FSKILL.md",true,[78,84,88,92,96,100,104,108,112,116,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Faspire-functions-secrets.md","REFERENCE","参考文档",3771,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Faspire-functions-secrets.md",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fglobal-rules.md",1215,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fglobal-rules.md",{"path":89,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fpolicy-validation.md",1493,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fpolicy-validation.md",{"path":93,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Frecipes\u002Fazcli\u002Ferrors.md",505,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazcli\u002Ferrors.md",{"path":97,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Frecipes\u002Fazcli\u002FREADME.md",2786,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazcli\u002FREADME.md",{"path":101,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Frecipes\u002Fazd\u002Faspire.md",1772,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002Faspire.md",{"path":105,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Frecipes\u002Fazd\u002Fenvironment.md",1979,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002Fenvironment.md",{"path":109,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":110,"sourceHtmlUrl":111},"references\u002Frecipes\u002Fazd\u002Ferrors.md",2680,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002Ferrors.md",{"path":113,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":114,"sourceHtmlUrl":115},"references\u002Frecipes\u002Fazd\u002FREADME.md",5410,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002FREADME.md",{"path":117,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":120,"sourceHtmlUrl":121},"references\u002Frecipes\u002Fazd\u002Fscripts\u002Fset-aspire-aca-env.ps1","SCRIPT","脚本",3588,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002Fscripts\u002Fset-aspire-aca-env.ps1",{"path":123,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":124,"sourceHtmlUrl":125},"references\u002Frecipes\u002Fazd\u002Fscripts\u002Fset-aspire-aca-env.sh",3638,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002Fscripts\u002Fset-aspire-aca-env.sh",{"path":127,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":128,"sourceHtmlUrl":129},"references\u002Frecipes\u002Fbicep\u002Ferrors.md",374,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fbicep\u002Ferrors.md",{"path":131,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":132,"sourceHtmlUrl":133},"references\u002Frecipes\u002Fbicep\u002FREADME.md",2562,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fbicep\u002FREADME.md",{"path":135,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":136,"sourceHtmlUrl":137},"references\u002Frecipes\u002FREADME.md",1651,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002FREADME.md",{"path":139,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":140,"sourceHtmlUrl":141},"references\u002Frecipes\u002Fscripts\u002Fvalidate-deployment.ps1",5278,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fscripts\u002Fvalidate-deployment.ps1",{"path":143,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":144,"sourceHtmlUrl":145},"references\u002Frecipes\u002Fscripts\u002Fvalidate-deployment.sh",6198,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fscripts\u002Fvalidate-deployment.sh",{"path":147,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":148,"sourceHtmlUrl":149},"references\u002Frecipes\u002Fterraform\u002Ferrors.md",2889,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fterraform\u002Ferrors.md",{"path":151,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":152,"sourceHtmlUrl":153},"references\u002Frecipes\u002Fterraform\u002FREADME.md",4040,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fterraform\u002FREADME.md",{"path":155,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":156,"sourceHtmlUrl":157},"references\u002Frecipes\u002Fterraform\u002Fscripts\u002Fvalidate-terraform.ps1",6933,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fterraform\u002Fscripts\u002Fvalidate-terraform.ps1",{"path":159,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":160,"sourceHtmlUrl":161},"references\u002Frecipes\u002Fterraform\u002Fscripts\u002Fvalidate-terraform.sh",6808,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fterraform\u002Fscripts\u002Fvalidate-terraform.sh",{"path":163,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":164,"sourceHtmlUrl":165},"references\u002Fregion-availability.md",3031,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fregion-availability.md",{"path":167,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":168,"sourceHtmlUrl":169},"references\u002Frole-verification.md",3947,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frole-verification.md",{"path":171,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":172,"sourceHtmlUrl":173},"references\u002Fscripts\u002Fscan-aspire-functions-secrets.ps1",3053,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fscripts\u002Fscan-aspire-functions-secrets.ps1",{"path":175,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":176,"sourceHtmlUrl":177},"references\u002Fscripts\u002Fscan-aspire-functions-secrets.sh",3342,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fscripts\u002Fscan-aspire-functions-secrets.sh",{"path":179,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":180,"sourceHtmlUrl":181},"references\u002Fscripts\u002Fworkflow.ps1",5289,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fscripts\u002Fworkflow.ps1",{"path":183,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":184,"sourceHtmlUrl":185},"references\u002Fscripts\u002Fworkflow.sh",5856,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fscripts\u002Fworkflow.sh",[187,207,232,254,270,287],{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":194,"publishedAt":48},"01M699VFT1T15GFDGC4K4ZHY4N","python-appservice-deploy","Deploy Python (Flask\u002FDjango\u002FFastAPI) code to Azure App Service Linux. WHEN: \"Flask App Service\", \"Django App Service\", \"FastAPI App Service\", \"deploy Python to App Service\". DO NOT USE FOR: Container Apps, Functions, non-Python, Terraform\u002FBicep\u002FIaC, full infra — use azure-prepare.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002Fskills\u002Fpython-appservice-deploy\u002FSKILL.md",[193],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[195,46,196,197,198,42,199,200,38,201,26,34,202,203,204,33,32,205,29,206],"python appservice deploy","python","linux","infra","do","django","azure app service","iac","fastapi","use","code","fastapi app",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":211,"categories":212,"keywords":217,"publishedAt":48},"01M699VDV3PT5P0YDXRT4GM2TJ","preset","Intelligently deploys Azure OpenAI models to optimal regions by analyzing capacity across all available regions. Automatically checks current region first and shows alternatives if needed. USE FOR: quick deployment, optimal region, best region, automatic region selection, fast setup, multi-region capacity check, high availability deployment, deploy to best location. DO NOT USE FOR: custom SKU selection (use customize), specific version selection (use customize), custom capacity configuration (use customize), PTU deployments (use customize).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002Fskills\u002Fmicrosoft-foundry\u002Fmodels\u002Fdeploy-model\u002Fpreset\u002FSKILL.md",[213,214],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":215,"categoryName":216,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[209,46,218,9,219,220,199,221,222,38,37,223,224,26,225,226,227,204,228,229,30,230,231],"setup","capacity","customize","quick","availability","alternatives","selection","custom","deployments","high availability","version","across","multi","first",{"skillNo":233,"name":220,"nameZh":6,"description":234,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":235,"categories":236,"keywords":238,"publishedAt":48},"01M699VBT6YFAKBWCK890XDB6N","Interactive guided deployment flow for Azure OpenAI models with full customization control. Step-by-step selection of model version, SKU (GlobalStandard\u002FStandard\u002FProvisionedManaged), capacity, RAI policy (content filter), and advanced options (dynamic quota, priority processing, spillover). USE FOR: custom deployment, customize model deployment, choose version, select SKU, set capacity, configure content filter, RAI policy, deployment options, detailed deployment, advanced deployment, PTU deployment, provisioned throughput. DO NOT USE FOR: quick deployment to optimal region (use preset).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002Fskills\u002Fmicrosoft-foundry\u002Fmodels\u002Fdeploy-model\u002Fcustomize\u002FSKILL.md",[237],{"categoryNo":215,"categoryName":216,"taxonomyType":21,"taxonomyTypeDesc":22},[220,209,9,219,239,240,221,241,242,243,244,245,224,246,247,248,249,250,251,252,253,199,38,37],"policy","SET","processing","advanced","model","select","choose","configure","filter","azure openai","options","flow","openai","throughput","full",{"skillNo":255,"name":219,"nameZh":6,"description":256,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":257,"categories":258,"keywords":259,"publishedAt":48},"01M699V9FXHBSWG3Y48057VAYZ","Discovers available Azure OpenAI model capacity across regions and projects. Analyzes quota limits, compares availability, and recommends optimal deployment locations based on capacity requirements. USE FOR: find capacity, check quota, where can I deploy, capacity discovery, best region for capacity, multi-project capacity search, quota analysis, model availability, region comparison, check TPM availability. DO NOT USE FOR: actual deployment (hand off to preset or customize after discovery), quota increase requests (direct user to Azure Portal), listing existing deployments.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002Fskills\u002Fmicrosoft-foundry\u002Fmodels\u002Fdeploy-model\u002Fcapacity\u002FSKILL.md",[],[219,209,46,9,220,260,243,261,262,31,263,264,229,248,265,266,251,267,268,199,222,38,269,37],"projects","project","search","listing","hand","limits","azure portal","direct","TPM","discovery",{"skillNo":271,"name":272,"nameZh":6,"description":273,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":274,"categories":275,"keywords":278,"publishedAt":48},"01M699V7GW2RF4AB3RE3Z8Y048","deploy-model","Unified Azure OpenAI model deployment skill with intelligent intent-based routing. Handles quick preset deployments, fully customized deployments (version\u002FSKU\u002Fcapacity\u002FRAI policy), and capacity discovery across regions and projects. USE FOR: deploy model, deploy gpt, create deployment, model deployment, deploy openai model, set up model, provision model, find capacity, check model availability, where can I deploy, best region for model, capacity analysis. DO NOT USE FOR: listing existing deployments (use foundry_models_deployments_list MCP tool), deleting deployments, agent creation (use agent\u002Fcreate), project creation (use project\u002Fcreate).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002Fskills\u002Fmicrosoft-foundry\u002Fmodels\u002Fdeploy-model\u002FSKILL.md",[276,277],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":215,"categoryName":216,"taxonomyType":21,"taxonomyTypeDesc":22},[46,279,243,209,280,281,9,219,239,240,260,221,282,261,283,31,263,229,284,248,285,286,251,199,222],"deploy model","MCP","foundry","creation","up","create","intent","list",{"skillNo":288,"name":289,"nameZh":6,"description":290,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":291,"categories":292,"keywords":294,"publishedAt":48},"01M699V3NA4YQKCHJTVWHBQH10","finetuning","Fine-tune models on Microsoft Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset preparation, training job submission, deployment, and evaluation. USE FOR: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, training job, large file upload, calibrate grader, deploy fine-tuned model, evaluate fine-tuned model. DO NOT USE FOR: general model deployment without fine-tuning (use deploy-model), agent creation (use agents), prompt optimization without training (use prompt-optimizer).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Fblob\u002Fmain\u002Fskills\u002Fmicrosoft-foundry\u002Ffinetuning\u002FSKILL.md",[293],{"categoryNo":215,"categoryName":216,"taxonomyType":21,"taxonomyTypeDesc":22},[289,295,46,281,296,9,297,282,243,298,299,300,301,302,303,304,305,306,199,38,307,308,37,309],"placeholder","microsoft foundry","Prompt Optimization","training","dataset","optimizer","Evaluation","tuning","grader","data","supervised","distillation","Optimization","calibrate","submission"]