{"id":"960f38d6-7251-4f4e-a3a6-f17f7bedf691","shortId":"GbjhqK","kind":"skill","title":"azure-validate","tagline":"Official agent plugin providing skills and MCP server configurations for Azure scenarios.","description":"# Azure Validate\r\n\r\n> **AUTHORITATIVE GUIDANCE** — Follow these instructions exactly unless they contradict security policies given to you.\r\n\r\n> **⛔ STOP — PREREQUISITE CHECK REQUIRED**\r\n>\r\n> Before proceeding, verify this prerequisite is met:\r\n>\r\n> **azure-prepare** was invoked and completed → `.azure/deployment-plan.md` exists with status `Approved` or later\r\n>\r\n> If the plan is missing, **STOP IMMEDIATELY** and invoke **azure-prepare** first.\r\n>\r\n> The complete workflow ensures success:\r\n>\r\n> `azure-prepare` → `azure-validate` → `azure-deploy`\r\n\r\n## Triggers\r\n\r\n- Check if app is ready to deploy\r\n- Validate azure.yaml or Bicep\r\n- Run preflight checks\r\n- Troubleshoot deployment errors\r\n\r\n## Rules\r\n\r\n1. Run after azure-prepare, before azure-deploy\r\n2. All checks must pass—do not deploy with failures\r\n3. ⛔ **Destructive actions require `ask_user`** — [global-rules](references/global-rules.md)\r\n\r\n## Steps\r\n\r\n| # | Action | Reference |\r\n|---|--------|-----------|\r\n| 1 | **Load Plan** — Read `.azure/deployment-plan.md` for recipe and configuration. If missing → run azure-prepare first | `.azure/deployment-plan.md` |\r\n| 2 | **Add Validation Steps** — Copy recipe \"Validation Steps\" to `.azure/deployment-plan.md` as children of \"All validation checks pass\" | [recipes/README.md](references/recipes/README.md), `.azure/deployment-plan.md` |\r\n| 3 | **Run Validation** — Execute recipe-specific validation commands | [recipes/README.md](references/recipes/README.md) |\r\n| 4 | **Build Verification** — Build the project and fix any errors before proceeding | See recipe |\r\n| 5 | **Static Role Verification** — Review Bicep/Terraform for correct RBAC role assignments in code | [role-verification.md](references/role-verification.md) |\r\n| 6 | **Record Proof** — Populate **Section 7: Validation Proof** with commands run and results | `.azure/deployment-plan.md` |\r\n| 7 | **Resolve Errors** — Fix failures before proceeding | See recipe's `errors.md` |\r\n| 8 | **Update Status** — Only after ALL checks pass, set status to `Validated` | `.azure/deployment-plan.md` |\r\n| 9 | **Deploy** — Invoke **azure-deploy** skill | — |\r\n> **⛔ VALIDATION AUTHORITY**\r\n>\r\n> This skill is the officially verified way to set plan status to `Validated`. You MUST follow these steps to make sure every prerequisite is fulfilled before setting status to `Validated`:\r\n> 1. Run actual validation commands (azd provision --preview, bicep build, terraform validate, etc.)\r\n> 2. Populate **Section 7: Validation Proof** with the commands you ran and their results\r\n> 3. Only then set status to `Validated`\r\n>\r\n> Do NOT set status to `Validated` without running checks and recording proof.\r\n\r\n---\r\n\r\n> **⚠️ MANDATORY NEXT STEP — DO NOT SKIP**\r\n>\r\n> After ALL validations pass, you **MUST** invoke **azure-deploy** to execute the deployment. Do NOT attempt to run `azd up`, `azd deploy`, or any deployment commands directly. Let azure-deploy handle execution.\r\n>\r\n> If any validation failed, fix the issues and re-run azure-validate before proceeding.","tags":["azure","validate","skills","microsoft","agent-skills"],"capabilities":["skill","source-microsoft","skill-azure-validate","topic-agent-skills"],"categories":["azure-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/microsoft/azure-skills/azure-validate","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add microsoft/azure-skills","source_repo":"https://github.com/microsoft/azure-skills","install_from":"skills.sh"}},"qualityScore":"0.950","qualityRationale":"deterministic score 0.95 from registry signals: · indexed on github topic:agent-skills · official publisher · 1014 github stars · SKILL.md body (3,032 chars)","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-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:53:17.106Z","embedding":null,"createdAt":"2026-04-18T20:23:24.561Z","updatedAt":"2026-05-18T18:53:17.106Z","lastSeenAt":"2026-05-18T18:53:17.106Z","tsv":"'1':103,136,290 '2':113,153,303 '3':123,173,317 '4':184 '5':198 '6':213 '7':218,227,306 '8':238 '9':251 'action':125,134 'actual':292 'add':154 'agent':5 'app':87 'approv':54 'ask':127 'assign':208 'attempt':358 'author':259 'authorit':18 'azd':295,361,363 'azur':2,14,16,44,67,76,79,82,107,111,149,255,350,372,388 'azure-deploy':81,110,254,349,371 'azure-prepar':43,66,75,106,148 'azure-valid':1,78,387 'azure.yaml':93 'azure/deployment-plan.md':50,140,152,162,172,226,250 'bicep':95,298 'bicep/terraform':203 'build':185,187,299 'check':34,85,98,115,168,244,332 'children':164 'code':210 'command':181,222,294,311,368 'complet':49,71 'configur':12,144 'contradict':26 'copi':157 'correct':205 'deploy':83,91,100,112,120,252,256,351,355,364,367,373 'destruct':124 'direct':369 'ensur':73 'error':101,193,229 'errors.md':237 'etc':302 'everi':281 'exact':23 'execut':176,353,375 'exist':51 'fail':379 'failur':122,231 'first':69,151 'fix':191,230,380 'follow':20,275 'fulfil':284 'given':29 'global':130 'global-rul':129 'guidanc':19 'handl':374 'immedi':63 'instruct':22 'invok':47,65,253,348 'issu':382 'later':56 'let':370 'load':137 'make':279 'mandatori':336 'mcp':10 'met':42 'miss':61,146 'must':116,274,347 'next':337 'offici':4,264 'pass':117,169,245,345 'plan':59,138,269 'plugin':6 'polici':28 'popul':216,304 'preflight':97 'prepar':45,68,77,108,150 'prerequisit':33,40,282 'preview':297 'proceed':37,195,233,391 'project':189 'proof':215,220,308,335 'provid':7 'provis':296 'ran':313 'rbac':206 're':385 're-run':384 'read':139 'readi':89 'recip':142,158,178,197,235 'recipe-specif':177 'recipes/readme.md':170,182 'record':214,334 'refer':135 'references/global-rules.md':132 'references/recipes/readme.md':171,183 'references/role-verification.md':212 'requir':35,126 'resolv':228 'result':225,316 'review':202 'role':200,207 'role-verification.md':211 'rule':102,131 'run':96,104,147,174,223,291,331,360,386 'scenario':15 'section':217,305 'secur':27 'see':196,234 'server':11 'set':246,268,286,320,326 'skill':8,257,261 'skill-azure-validate' 'skip':341 'source-microsoft' 'specif':179 'static':199 'status':53,240,247,270,287,321,327 'step':133,156,160,277,338 'stop':32,62 'success':74 'sure':280 'terraform':300 'topic-agent-skills' 'trigger':84 'troubleshoot':99 'unless':24 'updat':239 'user':128 'valid':3,17,80,92,155,159,167,175,180,219,249,258,272,289,293,301,307,323,329,344,378,389 'verif':186,201 'verifi':38,265 'way':266 'without':330 'workflow':72","prices":[{"id":"ecf4ff3a-dac5-4be8-87da-eb2078b2ccb5","listingId":"960f38d6-7251-4f4e-a3a6-f17f7bedf691","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"microsoft","category":"azure-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T20:23:24.561Z"}],"sources":[{"listingId":"960f38d6-7251-4f4e-a3a6-f17f7bedf691","source":"github","sourceId":"microsoft/azure-skills/azure-validate","sourceUrl":"https://github.com/microsoft/azure-skills/tree/main/skills/azure-validate","isPrimary":false,"firstSeenAt":"2026-04-18T21:57:18.952Z","lastSeenAt":"2026-05-18T18:53:17.106Z"},{"listingId":"960f38d6-7251-4f4e-a3a6-f17f7bedf691","source":"skills_sh","sourceId":"microsoft/azure-skills/azure-validate","sourceUrl":"https://skills.sh/microsoft/azure-skills/azure-validate","isPrimary":true,"firstSeenAt":"2026-04-18T20:23:24.561Z","lastSeenAt":"2026-05-07T22:40:11.797Z"}],"details":{"listingId":"960f38d6-7251-4f4e-a3a6-f17f7bedf691","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"microsoft","slug":"azure-validate","github":{"repo":"microsoft/azure-skills","stars":1014,"topics":["agent-skills"],"license":"mit","html_url":"https://github.com/microsoft/azure-skills","pushed_at":"2026-05-18T14:38:04Z","description":"Official agent plugin providing skills and MCP server configurations for Azure scenarios.","skill_md_sha":"e852edd0519414ed61ee39d786b50bd8a8b0d389","skill_md_path":"skills/azure-validate/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/microsoft/azure-skills/tree/main/skills/azure-validate"},"layout":"multi","source":"github","category":"azure-skills","frontmatter":{},"skills_sh_url":"https://skills.sh/microsoft/azure-skills/azure-validate"},"updatedAt":"2026-05-18T18:53:17.106Z"}}