[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69B05J48DB429TES722CKWX":3,"skill-same:01M69B05J48DB429TES722CKWX":192},{"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":26,"publishedAt":53,"linkOnly":54,"markdownContent":55,"markdownBody":56,"frontMatter":57,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":65,"ownerHtmlUrl":66,"ownerBlogUrl":67,"ownerDescription":68,"updatedAt":69,"install":70,"resources":83},"01M69B05J48DB429TES722CKWX","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\u002Fskills","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69AJYYW4E1RMSYCQDJ4FJSH",3202,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,9,52],"validate","azure","azure validate","permissions","roles","functions","check","analysis","when","apps","container","errors","managed","deployment","for","container apps deployment","ready","deep","app","review","infrastructure","identity","deploy","troubleshoot","rbac","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":58,"description":7},{"author":12,"version":59},"1.2.5","main","9287b443662d2433c85621c7325ee72a0ce499b5",".github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate",368,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","https:\u002F\u002Fmicrosoft.github.io\u002Fskills\u002F","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-14 02:08:41",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add microsoft\u002Fskills --skill azure-validate",{"tool":76,"command":77},"bunx","bunx skills add microsoft\u002Fskills --skill azure-validate",{"tool":79,"command":80},"pnpm","pnpm dlx skills add microsoft\u002Fskills --skill azure-validate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002FSKILL.md",true,[84,90,94,98,102,106,110,114,118,122,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188],{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Faspire-functions-secrets.md","REFERENCE","参考文档",3771,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Faspire-functions-secrets.md",{"path":91,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fglobal-rules.md",1215,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fglobal-rules.md",{"path":95,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fpolicy-validation.md",1493,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fpolicy-validation.md",{"path":99,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Frecipes\u002Fazcli\u002Ferrors.md",505,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazcli\u002Ferrors.md",{"path":103,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Frecipes\u002Fazcli\u002FREADME.md",2786,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazcli\u002FREADME.md",{"path":107,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Frecipes\u002Fazd\u002Faspire.md",1772,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002Faspire.md",{"path":111,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Frecipes\u002Fazd\u002Fenvironment.md",1979,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002Fenvironment.md",{"path":115,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Frecipes\u002Fazd\u002Ferrors.md",2680,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002Ferrors.md",{"path":119,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":120,"sourceHtmlUrl":121},"references\u002Frecipes\u002Fazd\u002FREADME.md",5410,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002FREADME.md",{"path":123,"resourceType":124,"resourceTypeDesc":125,"sizeBytes":126,"sourceHtmlUrl":127},"references\u002Frecipes\u002Fazd\u002Fscripts\u002Fset-aspire-aca-env.ps1","SCRIPT","脚本",3588,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002Fscripts\u002Fset-aspire-aca-env.ps1",{"path":129,"resourceType":124,"resourceTypeDesc":125,"sizeBytes":130,"sourceHtmlUrl":131},"references\u002Frecipes\u002Fazd\u002Fscripts\u002Fset-aspire-aca-env.sh",3638,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fazd\u002Fscripts\u002Fset-aspire-aca-env.sh",{"path":133,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":134,"sourceHtmlUrl":135},"references\u002Frecipes\u002Fbicep\u002Ferrors.md",374,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fbicep\u002Ferrors.md",{"path":137,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":138,"sourceHtmlUrl":139},"references\u002Frecipes\u002Fbicep\u002FREADME.md",2562,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fbicep\u002FREADME.md",{"path":141,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":142,"sourceHtmlUrl":143},"references\u002Frecipes\u002FREADME.md",1651,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002FREADME.md",{"path":145,"resourceType":124,"resourceTypeDesc":125,"sizeBytes":146,"sourceHtmlUrl":147},"references\u002Frecipes\u002Fscripts\u002Fvalidate-deployment.ps1",5278,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fscripts\u002Fvalidate-deployment.ps1",{"path":149,"resourceType":124,"resourceTypeDesc":125,"sizeBytes":150,"sourceHtmlUrl":151},"references\u002Frecipes\u002Fscripts\u002Fvalidate-deployment.sh",6198,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fscripts\u002Fvalidate-deployment.sh",{"path":153,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":154,"sourceHtmlUrl":155},"references\u002Frecipes\u002Fterraform\u002Ferrors.md",2889,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fterraform\u002Ferrors.md",{"path":157,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":158,"sourceHtmlUrl":159},"references\u002Frecipes\u002Fterraform\u002FREADME.md",4040,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fterraform\u002FREADME.md",{"path":161,"resourceType":124,"resourceTypeDesc":125,"sizeBytes":162,"sourceHtmlUrl":163},"references\u002Frecipes\u002Fterraform\u002Fscripts\u002Fvalidate-terraform.ps1",6933,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fterraform\u002Fscripts\u002Fvalidate-terraform.ps1",{"path":165,"resourceType":124,"resourceTypeDesc":125,"sizeBytes":166,"sourceHtmlUrl":167},"references\u002Frecipes\u002Fterraform\u002Fscripts\u002Fvalidate-terraform.sh",6808,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frecipes\u002Fterraform\u002Fscripts\u002Fvalidate-terraform.sh",{"path":169,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":170,"sourceHtmlUrl":171},"references\u002Fregion-availability.md",3031,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fregion-availability.md",{"path":173,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":174,"sourceHtmlUrl":175},"references\u002Frole-verification.md",3947,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Frole-verification.md",{"path":177,"resourceType":124,"resourceTypeDesc":125,"sizeBytes":178,"sourceHtmlUrl":179},"references\u002Fscripts\u002Fscan-aspire-functions-secrets.ps1",3053,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fscripts\u002Fscan-aspire-functions-secrets.ps1",{"path":181,"resourceType":124,"resourceTypeDesc":125,"sizeBytes":182,"sourceHtmlUrl":183},"references\u002Fscripts\u002Fscan-aspire-functions-secrets.sh",3342,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fscripts\u002Fscan-aspire-functions-secrets.sh",{"path":185,"resourceType":124,"resourceTypeDesc":125,"sizeBytes":186,"sourceHtmlUrl":187},"references\u002Fscripts\u002Fworkflow.ps1",5289,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fscripts\u002Fworkflow.ps1",{"path":189,"resourceType":124,"resourceTypeDesc":125,"sizeBytes":190,"sourceHtmlUrl":191},"references\u002Fscripts\u002Fworkflow.sh",5856,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-validate\u002Freferences\u002Fscripts\u002Fworkflow.sh",[193,216,254,281,302,340],{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":200,"publishedAt":53},"01M69B4JCRQV5SPXAFCKXQRV0H","skill-creator","Guide for creating effective skills for AI coding agents working with Azure SDKs and Microsoft Foundry services. Use when creating new skills or updating existing skills.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fskill-creator\u002FSKILL.md",[199],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[201,202,203,9,204,205,206,28,207,208,209,210,211,212,213,41,214,35,215],"skill creator","creator","coding agents","foundry","microsoft foundry","ai coding agents","services","coding","guide","use","ai coding","with","sdks","Existing","new",{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":220,"categories":221,"keywords":232,"publishedAt":53},"01M69B4FD57V1MYKRWAJJECTZ7","podcast-generation","Generate AI-powered podcast-style audio narratives using Azure OpenAI's GPT Realtime Mini model via WebSocket. Use when building text-to-speech features, audio narrative generation, podcast creation from content, or integrating with Azure OpenAI Realtime API for real audio output. Covers full-stack implementation from React frontend to Python FastAPI backend with WebSocket streaming.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fpodcast-generation\u002FSKILL.md",[222,225,228,231],{"categoryNo":223,"categoryName":224,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":226,"categoryName":227,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":229,"categoryName":230,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[233,234,235,236,237,238,239,28,240,241,242,243,244,245,246,247,248,249,250,251,252,35,253],"podcast generation","podcast","generation","frontend","python","react","realtime","azure openai","generate","streaming","api","Audio","stack","text","model","fastapi","creation","python fastapi","narrative","features","fastapi backend",{"skillNo":255,"name":256,"nameZh":6,"description":257,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":258,"categories":259,"keywords":261,"publishedAt":53},"01M69B4CYPM5SESY5ZWEFDXEQZ","microsoft-docs","Understand Microsoft technologies by querying official documentation. Use whenever the user asks how something works, wants tutorials, needs configuration options, limits, quotas, or best practices for any Microsoft technology (Azure, .NET, M365, Windows, Power Platform, etc.)—even if they don't mention \"docs.\" If the question is about understanding a concept rather than writing code, this is the right skill.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[260],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[262,9,263,264,265,266,267,268,269,270,271,28,272,273,274,210,275,73,276,277,278,279,280,41],"docs","microsoft docs","MCP","writing","cli","mcp server","windows","power platform","official","documentation","learn","best practices","question","power","back","technology","platform","learn mcp","concept",{"skillNo":282,"name":283,"nameZh":6,"description":284,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":285,"categories":286,"keywords":288,"publishedAt":53},"01M69B49C3YPD1ZJ3NC0HPCY58","mcp-builder","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP), Node\u002FTypeScript (MCP SDK), or C#\u002F.NET (Microsoft MCP SDK).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fmcp-builder\u002FSKILL.md",[287],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[264,289,290,291,237,292,293,294,9,295,296,247,297,298,209,210,299,300,301,212,41,35],"mcp builder","builder","typescript","llms","sdk","model context protocol","fastmcp","Tools","node","context","integrate","mcp sdk","building mcp servers",{"skillNo":303,"name":304,"nameZh":6,"description":305,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":306,"categories":307,"keywords":320,"publishedAt":53},"01M69B467A7CDMFQ0T6Q0ZA12Q","kql","KQL language expertise for writing correct, efficient Kusto Query Language queries. Covers syntax gotchas, join patterns, dynamic types, datetime pitfalls, regex patterns, serialization, memory management, result-size discipline, and advanced functions (geo, vector, graph). USE THIS SKILL whenever writing, debugging, or reviewing KQL queries — even simple ones — because the gotchas section prevents the most common errors that waste tool calls and cause expensive retry cascades. Trigger on: KQL, Kusto, ADX, Azure Data Explorer, Fabric Real-Time Intelligence, EventHouse, Log Analytics, log analysis, data exploration, time series, anomaly detection, summarize, where clause, join, extend, project, let statement, parse operator, extract function, any mention of pipe-forward query syntax.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fkql\u002FSKILL.md",[308,311,312,317],{"categoryNo":309,"categoryName":310,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":313,"categoryName":314,"taxonomyType":315,"taxonomyTypeDesc":316},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",{"categoryNo":318,"categoryName":319,"taxonomyType":315,"taxonomyTypeDesc":316},"01JBSEEDCAT000000000000036","内容创作者",[304,265,321,322,323,28,324,325,326,327,328,329,330,331,332,333,334,335,336,41,337,338,339],"summarize","memory","analytics","vector","time series","tool","discipline","log","geo","exploration","pipe","time","project","regex","join","datetime","section","anomaly","parse",{"skillNo":341,"name":342,"nameZh":6,"description":343,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":344,"categories":345,"keywords":346,"publishedAt":53},"01M69B44HJQ7897EZ7NE7DWQX3","github-issue-creator","Convert raw notes, error logs, voice dictation, or screenshots into crisp GitHub-flavored markdown issue reports. Use when the user pastes bug info, error messages, or informal descriptions and wants a structured GitHub issue. Supports images\u002FGIFs for visual evidence.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fgithub-issue-creator\u002FSKILL.md",[],[347,348,349,350,202,351,352,353,354,355,356,357,210,358,359,360,361,362,363,41,35],"github","github issue creator","github issue","issue","issue creator","screenshots","notes","logs","error messages","messages","convert","evidence","reports","images","info","visual","error"]