[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-azure-wellarchitectedreview":3,"mdc--qv5aeb-key":39,"related-repo-azure-wellarchitectedreview":1331,"related-org-azure-wellarchitectedreview":1463},{"slug":4,"name":5,"fn":6,"description":7,"org":8,"tags":13,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":34,"sourceUrl":37,"mdContent":38},"wellarchitectedreview","well_architected_review","perform Azure Well-Architected Framework reviews","Run a Well-Architected Framework (WAF) review against Azure resources in scope. Use when asked about best practices, architecture review, WAF assessment, or pillar compliance (Reliability, Security, Cost, Operational Excellence, Performance Efficiency).",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},"azure","Azure (Microsoft)","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fazure.png","Azure",[14,18,21,22,25],{"name":15,"slug":16,"type":17},"Security","security","tag",{"name":19,"slug":20,"type":17},"Performance","performance",{"name":12,"slug":9,"type":17},{"name":23,"slug":24,"type":17},"Architecture","architecture",{"name":26,"slug":27,"type":17},"Reliability","reliability",2,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fsre-agent-plugins","2026-08-23T04:00:11.78064",null,8,[],{"repoUrl":29,"stars":28,"forks":32,"topics":35,"description":36},[],"Azure SRE Agent Plugins","https:\u002F\u002Fgithub.com\u002FAzure\u002Fsre-agent-plugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fazure-proactive-operations\u002Fskills\u002Fwell_architected_review","---\nname: well_architected_review\ndescription: Run a Well-Architected Framework (WAF) review against Azure resources in scope. Use when asked about best practices, architecture review, WAF assessment, or pillar compliance (Reliability, Security, Cost, Operational Excellence, Performance Efficiency).\n---\n\n# Well-Architected Review\n\n## Purpose\n\nPerform a structured assessment of Azure resources against the five pillars of the Microsoft Azure Well-Architected Framework. Produce a scored report with prioritized recommendations.\n\n## Procedure\n\n### 1. Reliability\n\n1. **Availability design**: Check if critical workloads use availability zones or availability sets\n   ```bash\n   az vm list --query \"[].{name:name, zones:zones, availabilitySet:availabilitySet.id}\" -o table\n   az appservice plan list --query \"[].{name:name, zoneRedundant:zoneRedundant, sku:sku.name}\" -o table\n   ```\n2. **Backup coverage**: Verify Recovery Services vaults and backup policies exist\n   ```bash\n   az backup vault list -o table\n   ```\n3. **Disaster recovery**: Check for paired regions, ASR replication, or geo-redundant storage\n4. **Health probes**: Verify App Service health checks, load balancer probes, and Container Apps health endpoints\n5. **Auto-healing**: Check if App Service auto-heal rules or AKS pod disruption budgets are configured\n\n### 2. Security\n\n1. **Identity**: Check for managed identities vs. stored credentials\n   ```bash\n   az webapp identity show --name \u003Capp> --resource-group \u003Crg>\n   ```\n2. **Network isolation**: Check for private endpoints, NSGs, and service endpoints\n   ```bash\n   az network private-endpoint list -o table\n   az network nsg list -o table\n   ```\n3. **Encryption**: Verify encryption at rest and in transit\n4. **Key management**: Check Key Vault usage and secret expiration\n   ```bash\n   az keyvault list -o table\n   ```\n5. **Defender for Cloud**: Check Secure Score and outstanding recommendations\n\n### 3. Cost Optimization\n\n1. **Rightsizing**: Identify underutilized VMs (CPU \u003C 5% average over 14 days)\n2. **Orphaned resources**: Find unattached disks, unused public IPs, empty resource groups\n   ```bash\n   az disk list --query \"[?managedBy==null].{name:name, size:diskSizeGb, rg:resourceGroup}\" -o table\n   az network public-ip list --query \"[?ipConfiguration==null].{name:name, rg:resourceGroup}\" -o table\n   ```\n3. **Reservations**: Check if high-usage resources could benefit from reserved instances\n4. **Dev\u002FTest pricing**: Verify non-production workloads use Dev\u002FTest subscriptions or B-series VMs\n5. **Storage tiers**: Check if cool\u002Farchive tiers are used for infrequently accessed data\n\n### 4. Operational Excellence\n\n1. **Tagging**: Verify mandatory tags (environment, owner, cost-center) exist\n   ```bash\n   az resource list --query \"[?tags.environment==null].{name:name, type:type, rg:resourceGroup}\" -o table\n   ```\n2. **Monitoring**: Check for alert rules, action groups, and diagnostic settings\n   ```bash\n   az monitor metrics alert list -o table\n   ```\n3. **Deployment practices**: Check for deployment slots, blue-green, or canary configurations\n4. **Automation**: Check for runbooks, Logic Apps, or scheduled tasks\n\n### 5. Performance Efficiency\n\n1. **Autoscaling**: Verify autoscale rules exist for App Service plans, VMSS, and Container Apps\n   ```bash\n   az monitor autoscale list --resource-group \u003Crg> -o table\n   ```\n2. **Caching**: Check for Redis Cache or CDN usage on high-traffic workloads\n3. **Database performance**: Check DTU\u002FvCore utilization, index recommendations\n4. **Content delivery**: Verify static assets use CDN or Front Door\n\n## Scoring\n\nFor each check, assign one of:\n- ✅ **Pass**: follows best practice\n- ⚠️ **Needs attention**: partially implemented or at risk\n- ❌ **Fail**: not implemented, risk exposure\n\nCalculate per-pillar score as `pass \u002F (pass + attention + fail)` percentage. Overall score is the average across all five pillars.\n\n## Sample output\n\n| Field | Value |\n|-------|-------|\n| Subscription | contoso-prod-001 |\n| Assessment Date | 2026-07-15 |\n| Overall Score | 68% |\n\n| Pillar | Pass | Needs Attention | Fail | Score |\n|--------|------|----------------|------|-------|\n| Reliability | 3 | 1 | 1 | 60% |\n| Security | 2 | 2 | 1 | 40% |\n| Cost Optimization | 4 | 1 | 0 | 80% |\n| Operational Excellence | 3 | 1 | 1 | 60% |\n| Performance Efficiency | 4 | 0 | 1 | 80% |\n| **Overall** | **16** | **5** | **4** | **68%** |\n\n## References\n\n- WAF Overview: https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002F\n- Reliability: https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Freliability\u002F\n- Security: https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Fsecurity\u002F\n- Cost Optimization: https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Fcost-optimization\u002F\n- Operational Excellence: https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Foperational-excellence\u002F\n- Performance Efficiency: https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Fperformance-efficiency\u002F\n",{"data":40,"body":41},{"name":5,"description":7},{"type":42,"children":43},"root",[44,53,60,66,72,79,283,289,515,521,667,673,805,811,909,915,920,960,973,979,1046,1248,1254,1325],{"type":45,"tag":46,"props":47,"children":49},"element","h1",{"id":48},"well-architected-review",[50],{"type":51,"value":52},"text","Well-Architected Review",{"type":45,"tag":54,"props":55,"children":57},"h2",{"id":56},"purpose",[58],{"type":51,"value":59},"Purpose",{"type":45,"tag":61,"props":62,"children":63},"p",{},[64],{"type":51,"value":65},"Perform a structured assessment of Azure resources against the five pillars of the Microsoft Azure Well-Architected Framework. Produce a scored report with prioritized recommendations.",{"type":45,"tag":54,"props":67,"children":69},{"id":68},"procedure",[70],{"type":51,"value":71},"Procedure",{"type":45,"tag":73,"props":74,"children":76},"h3",{"id":75},"_1-reliability",[77],{"type":51,"value":78},"1. Reliability",{"type":45,"tag":80,"props":81,"children":82},"ol",{},[83,207,253,263,273],{"type":45,"tag":84,"props":85,"children":86},"li",{},[87,93,95],{"type":45,"tag":88,"props":89,"children":90},"strong",{},[91],{"type":51,"value":92},"Availability design",{"type":51,"value":94},": Check if critical workloads use availability zones or availability sets\n",{"type":45,"tag":96,"props":97,"children":102},"pre",{"className":98,"code":99,"language":100,"meta":101,"style":101},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","az vm list --query \"[].{name:name, zones:zones, availabilitySet:availabilitySet.id}\" -o table\naz appservice plan list --query \"[].{name:name, zoneRedundant:zoneRedundant, sku:sku.name}\" -o table\n","bash","",[103],{"type":45,"tag":104,"props":105,"children":106},"code",{"__ignoreMap":101},[107,161],{"type":45,"tag":108,"props":109,"children":112},"span",{"class":110,"line":111},"line",1,[113,119,125,130,135,141,146,151,156],{"type":45,"tag":108,"props":114,"children":116},{"style":115},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[117],{"type":51,"value":118},"az",{"type":45,"tag":108,"props":120,"children":122},{"style":121},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[123],{"type":51,"value":124}," vm",{"type":45,"tag":108,"props":126,"children":127},{"style":121},[128],{"type":51,"value":129}," list",{"type":45,"tag":108,"props":131,"children":132},{"style":121},[133],{"type":51,"value":134}," --query",{"type":45,"tag":108,"props":136,"children":138},{"style":137},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[139],{"type":51,"value":140}," \"",{"type":45,"tag":108,"props":142,"children":143},{"style":121},[144],{"type":51,"value":145},"[].{name:name, zones:zones, availabilitySet:availabilitySet.id}",{"type":45,"tag":108,"props":147,"children":148},{"style":137},[149],{"type":51,"value":150},"\"",{"type":45,"tag":108,"props":152,"children":153},{"style":121},[154],{"type":51,"value":155}," -o",{"type":45,"tag":108,"props":157,"children":158},{"style":121},[159],{"type":51,"value":160}," table\n",{"type":45,"tag":108,"props":162,"children":163},{"class":110,"line":28},[164,168,173,178,182,186,190,195,199,203],{"type":45,"tag":108,"props":165,"children":166},{"style":115},[167],{"type":51,"value":118},{"type":45,"tag":108,"props":169,"children":170},{"style":121},[171],{"type":51,"value":172}," appservice",{"type":45,"tag":108,"props":174,"children":175},{"style":121},[176],{"type":51,"value":177}," plan",{"type":45,"tag":108,"props":179,"children":180},{"style":121},[181],{"type":51,"value":129},{"type":45,"tag":108,"props":183,"children":184},{"style":121},[185],{"type":51,"value":134},{"type":45,"tag":108,"props":187,"children":188},{"style":137},[189],{"type":51,"value":140},{"type":45,"tag":108,"props":191,"children":192},{"style":121},[193],{"type":51,"value":194},"[].{name:name, zoneRedundant:zoneRedundant, sku:sku.name}",{"type":45,"tag":108,"props":196,"children":197},{"style":137},[198],{"type":51,"value":150},{"type":45,"tag":108,"props":200,"children":201},{"style":121},[202],{"type":51,"value":155},{"type":45,"tag":108,"props":204,"children":205},{"style":121},[206],{"type":51,"value":160},{"type":45,"tag":84,"props":208,"children":209},{},[210,215,217],{"type":45,"tag":88,"props":211,"children":212},{},[213],{"type":51,"value":214},"Backup coverage",{"type":51,"value":216},": Verify Recovery Services vaults and backup policies exist\n",{"type":45,"tag":96,"props":218,"children":220},{"className":98,"code":219,"language":100,"meta":101,"style":101},"az backup vault list -o table\n",[221],{"type":45,"tag":104,"props":222,"children":223},{"__ignoreMap":101},[224],{"type":45,"tag":108,"props":225,"children":226},{"class":110,"line":111},[227,231,236,241,245,249],{"type":45,"tag":108,"props":228,"children":229},{"style":115},[230],{"type":51,"value":118},{"type":45,"tag":108,"props":232,"children":233},{"style":121},[234],{"type":51,"value":235}," backup",{"type":45,"tag":108,"props":237,"children":238},{"style":121},[239],{"type":51,"value":240}," vault",{"type":45,"tag":108,"props":242,"children":243},{"style":121},[244],{"type":51,"value":129},{"type":45,"tag":108,"props":246,"children":247},{"style":121},[248],{"type":51,"value":155},{"type":45,"tag":108,"props":250,"children":251},{"style":121},[252],{"type":51,"value":160},{"type":45,"tag":84,"props":254,"children":255},{},[256,261],{"type":45,"tag":88,"props":257,"children":258},{},[259],{"type":51,"value":260},"Disaster recovery",{"type":51,"value":262},": Check for paired regions, ASR replication, or geo-redundant storage",{"type":45,"tag":84,"props":264,"children":265},{},[266,271],{"type":45,"tag":88,"props":267,"children":268},{},[269],{"type":51,"value":270},"Health probes",{"type":51,"value":272},": Verify App Service health checks, load balancer probes, and Container Apps health endpoints",{"type":45,"tag":84,"props":274,"children":275},{},[276,281],{"type":45,"tag":88,"props":277,"children":278},{},[279],{"type":51,"value":280},"Auto-healing",{"type":51,"value":282},": Check if App Service auto-heal rules or AKS pod disruption budgets are configured",{"type":45,"tag":73,"props":284,"children":286},{"id":285},"_2-security",[287],{"type":51,"value":288},"2. Security",{"type":45,"tag":80,"props":290,"children":291},{},[292,380,454,464,505],{"type":45,"tag":84,"props":293,"children":294},{},[295,300,302],{"type":45,"tag":88,"props":296,"children":297},{},[298],{"type":51,"value":299},"Identity",{"type":51,"value":301},": Check for managed identities vs. stored credentials\n",{"type":45,"tag":96,"props":303,"children":305},{"className":98,"code":304,"language":100,"meta":101,"style":101},"az webapp identity show --name \u003Capp> --resource-group \u003Crg>\n",[306],{"type":45,"tag":104,"props":307,"children":308},{"__ignoreMap":101},[309],{"type":45,"tag":108,"props":310,"children":311},{"class":110,"line":111},[312,316,321,326,331,336,341,346,351,356,361,365,370,375],{"type":45,"tag":108,"props":313,"children":314},{"style":115},[315],{"type":51,"value":118},{"type":45,"tag":108,"props":317,"children":318},{"style":121},[319],{"type":51,"value":320}," webapp",{"type":45,"tag":108,"props":322,"children":323},{"style":121},[324],{"type":51,"value":325}," identity",{"type":45,"tag":108,"props":327,"children":328},{"style":121},[329],{"type":51,"value":330}," show",{"type":45,"tag":108,"props":332,"children":333},{"style":121},[334],{"type":51,"value":335}," --name",{"type":45,"tag":108,"props":337,"children":338},{"style":137},[339],{"type":51,"value":340}," \u003C",{"type":45,"tag":108,"props":342,"children":343},{"style":121},[344],{"type":51,"value":345},"ap",{"type":45,"tag":108,"props":347,"children":349},{"style":348},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[350],{"type":51,"value":61},{"type":45,"tag":108,"props":352,"children":353},{"style":137},[354],{"type":51,"value":355},">",{"type":45,"tag":108,"props":357,"children":358},{"style":121},[359],{"type":51,"value":360}," --resource-group",{"type":45,"tag":108,"props":362,"children":363},{"style":137},[364],{"type":51,"value":340},{"type":45,"tag":108,"props":366,"children":367},{"style":121},[368],{"type":51,"value":369},"r",{"type":45,"tag":108,"props":371,"children":372},{"style":348},[373],{"type":51,"value":374},"g",{"type":45,"tag":108,"props":376,"children":377},{"style":137},[378],{"type":51,"value":379},">\n",{"type":45,"tag":84,"props":381,"children":382},{},[383,388,390],{"type":45,"tag":88,"props":384,"children":385},{},[386],{"type":51,"value":387},"Network isolation",{"type":51,"value":389},": Check for private endpoints, NSGs, and service endpoints\n",{"type":45,"tag":96,"props":391,"children":393},{"className":98,"code":392,"language":100,"meta":101,"style":101},"az network private-endpoint list -o table\naz network nsg list -o table\n",[394],{"type":45,"tag":104,"props":395,"children":396},{"__ignoreMap":101},[397,426],{"type":45,"tag":108,"props":398,"children":399},{"class":110,"line":111},[400,404,409,414,418,422],{"type":45,"tag":108,"props":401,"children":402},{"style":115},[403],{"type":51,"value":118},{"type":45,"tag":108,"props":405,"children":406},{"style":121},[407],{"type":51,"value":408}," network",{"type":45,"tag":108,"props":410,"children":411},{"style":121},[412],{"type":51,"value":413}," private-endpoint",{"type":45,"tag":108,"props":415,"children":416},{"style":121},[417],{"type":51,"value":129},{"type":45,"tag":108,"props":419,"children":420},{"style":121},[421],{"type":51,"value":155},{"type":45,"tag":108,"props":423,"children":424},{"style":121},[425],{"type":51,"value":160},{"type":45,"tag":108,"props":427,"children":428},{"class":110,"line":28},[429,433,437,442,446,450],{"type":45,"tag":108,"props":430,"children":431},{"style":115},[432],{"type":51,"value":118},{"type":45,"tag":108,"props":434,"children":435},{"style":121},[436],{"type":51,"value":408},{"type":45,"tag":108,"props":438,"children":439},{"style":121},[440],{"type":51,"value":441}," nsg",{"type":45,"tag":108,"props":443,"children":444},{"style":121},[445],{"type":51,"value":129},{"type":45,"tag":108,"props":447,"children":448},{"style":121},[449],{"type":51,"value":155},{"type":45,"tag":108,"props":451,"children":452},{"style":121},[453],{"type":51,"value":160},{"type":45,"tag":84,"props":455,"children":456},{},[457,462],{"type":45,"tag":88,"props":458,"children":459},{},[460],{"type":51,"value":461},"Encryption",{"type":51,"value":463},": Verify encryption at rest and in transit",{"type":45,"tag":84,"props":465,"children":466},{},[467,472,474],{"type":45,"tag":88,"props":468,"children":469},{},[470],{"type":51,"value":471},"Key management",{"type":51,"value":473},": Check Key Vault usage and secret expiration\n",{"type":45,"tag":96,"props":475,"children":477},{"className":98,"code":476,"language":100,"meta":101,"style":101},"az keyvault list -o table\n",[478],{"type":45,"tag":104,"props":479,"children":480},{"__ignoreMap":101},[481],{"type":45,"tag":108,"props":482,"children":483},{"class":110,"line":111},[484,488,493,497,501],{"type":45,"tag":108,"props":485,"children":486},{"style":115},[487],{"type":51,"value":118},{"type":45,"tag":108,"props":489,"children":490},{"style":121},[491],{"type":51,"value":492}," keyvault",{"type":45,"tag":108,"props":494,"children":495},{"style":121},[496],{"type":51,"value":129},{"type":45,"tag":108,"props":498,"children":499},{"style":121},[500],{"type":51,"value":155},{"type":45,"tag":108,"props":502,"children":503},{"style":121},[504],{"type":51,"value":160},{"type":45,"tag":84,"props":506,"children":507},{},[508,513],{"type":45,"tag":88,"props":509,"children":510},{},[511],{"type":51,"value":512},"Defender for Cloud",{"type":51,"value":514},": Check Secure Score and outstanding recommendations",{"type":45,"tag":73,"props":516,"children":518},{"id":517},"_3-cost-optimization",[519],{"type":51,"value":520},"3. Cost Optimization",{"type":45,"tag":80,"props":522,"children":523},{},[524,534,637,647,657],{"type":45,"tag":84,"props":525,"children":526},{},[527,532],{"type":45,"tag":88,"props":528,"children":529},{},[530],{"type":51,"value":531},"Rightsizing",{"type":51,"value":533},": Identify underutilized VMs (CPU \u003C 5% average over 14 days)",{"type":45,"tag":84,"props":535,"children":536},{},[537,542,544],{"type":45,"tag":88,"props":538,"children":539},{},[540],{"type":51,"value":541},"Orphaned resources",{"type":51,"value":543},": Find unattached disks, unused public IPs, empty resource groups\n",{"type":45,"tag":96,"props":545,"children":547},{"className":98,"code":546,"language":100,"meta":101,"style":101},"az disk list --query \"[?managedBy==null].{name:name, size:diskSizeGb, rg:resourceGroup}\" -o table\naz network public-ip list --query \"[?ipConfiguration==null].{name:name, rg:resourceGroup}\" -o table\n",[548],{"type":45,"tag":104,"props":549,"children":550},{"__ignoreMap":101},[551,592],{"type":45,"tag":108,"props":552,"children":553},{"class":110,"line":111},[554,558,563,567,571,575,580,584,588],{"type":45,"tag":108,"props":555,"children":556},{"style":115},[557],{"type":51,"value":118},{"type":45,"tag":108,"props":559,"children":560},{"style":121},[561],{"type":51,"value":562}," disk",{"type":45,"tag":108,"props":564,"children":565},{"style":121},[566],{"type":51,"value":129},{"type":45,"tag":108,"props":568,"children":569},{"style":121},[570],{"type":51,"value":134},{"type":45,"tag":108,"props":572,"children":573},{"style":137},[574],{"type":51,"value":140},{"type":45,"tag":108,"props":576,"children":577},{"style":121},[578],{"type":51,"value":579},"[?managedBy==null].{name:name, size:diskSizeGb, rg:resourceGroup}",{"type":45,"tag":108,"props":581,"children":582},{"style":137},[583],{"type":51,"value":150},{"type":45,"tag":108,"props":585,"children":586},{"style":121},[587],{"type":51,"value":155},{"type":45,"tag":108,"props":589,"children":590},{"style":121},[591],{"type":51,"value":160},{"type":45,"tag":108,"props":593,"children":594},{"class":110,"line":28},[595,599,603,608,612,616,620,625,629,633],{"type":45,"tag":108,"props":596,"children":597},{"style":115},[598],{"type":51,"value":118},{"type":45,"tag":108,"props":600,"children":601},{"style":121},[602],{"type":51,"value":408},{"type":45,"tag":108,"props":604,"children":605},{"style":121},[606],{"type":51,"value":607}," public-ip",{"type":45,"tag":108,"props":609,"children":610},{"style":121},[611],{"type":51,"value":129},{"type":45,"tag":108,"props":613,"children":614},{"style":121},[615],{"type":51,"value":134},{"type":45,"tag":108,"props":617,"children":618},{"style":137},[619],{"type":51,"value":140},{"type":45,"tag":108,"props":621,"children":622},{"style":121},[623],{"type":51,"value":624},"[?ipConfiguration==null].{name:name, rg:resourceGroup}",{"type":45,"tag":108,"props":626,"children":627},{"style":137},[628],{"type":51,"value":150},{"type":45,"tag":108,"props":630,"children":631},{"style":121},[632],{"type":51,"value":155},{"type":45,"tag":108,"props":634,"children":635},{"style":121},[636],{"type":51,"value":160},{"type":45,"tag":84,"props":638,"children":639},{},[640,645],{"type":45,"tag":88,"props":641,"children":642},{},[643],{"type":51,"value":644},"Reservations",{"type":51,"value":646},": Check if high-usage resources could benefit from reserved instances",{"type":45,"tag":84,"props":648,"children":649},{},[650,655],{"type":45,"tag":88,"props":651,"children":652},{},[653],{"type":51,"value":654},"Dev\u002FTest pricing",{"type":51,"value":656},": Verify non-production workloads use Dev\u002FTest subscriptions or B-series VMs",{"type":45,"tag":84,"props":658,"children":659},{},[660,665],{"type":45,"tag":88,"props":661,"children":662},{},[663],{"type":51,"value":664},"Storage tiers",{"type":51,"value":666},": Check if cool\u002Farchive tiers are used for infrequently accessed data",{"type":45,"tag":73,"props":668,"children":670},{"id":669},"_4-operational-excellence",[671],{"type":51,"value":672},"4. Operational Excellence",{"type":45,"tag":80,"props":674,"children":675},{},[676,734,785,795],{"type":45,"tag":84,"props":677,"children":678},{},[679,684,686],{"type":45,"tag":88,"props":680,"children":681},{},[682],{"type":51,"value":683},"Tagging",{"type":51,"value":685},": Verify mandatory tags (environment, owner, cost-center) exist\n",{"type":45,"tag":96,"props":687,"children":689},{"className":98,"code":688,"language":100,"meta":101,"style":101},"az resource list --query \"[?tags.environment==null].{name:name, type:type, rg:resourceGroup}\" -o table\n",[690],{"type":45,"tag":104,"props":691,"children":692},{"__ignoreMap":101},[693],{"type":45,"tag":108,"props":694,"children":695},{"class":110,"line":111},[696,700,705,709,713,717,722,726,730],{"type":45,"tag":108,"props":697,"children":698},{"style":115},[699],{"type":51,"value":118},{"type":45,"tag":108,"props":701,"children":702},{"style":121},[703],{"type":51,"value":704}," resource",{"type":45,"tag":108,"props":706,"children":707},{"style":121},[708],{"type":51,"value":129},{"type":45,"tag":108,"props":710,"children":711},{"style":121},[712],{"type":51,"value":134},{"type":45,"tag":108,"props":714,"children":715},{"style":137},[716],{"type":51,"value":140},{"type":45,"tag":108,"props":718,"children":719},{"style":121},[720],{"type":51,"value":721},"[?tags.environment==null].{name:name, type:type, rg:resourceGroup}",{"type":45,"tag":108,"props":723,"children":724},{"style":137},[725],{"type":51,"value":150},{"type":45,"tag":108,"props":727,"children":728},{"style":121},[729],{"type":51,"value":155},{"type":45,"tag":108,"props":731,"children":732},{"style":121},[733],{"type":51,"value":160},{"type":45,"tag":84,"props":735,"children":736},{},[737,742,744],{"type":45,"tag":88,"props":738,"children":739},{},[740],{"type":51,"value":741},"Monitoring",{"type":51,"value":743},": Check for alert rules, action groups, and diagnostic settings\n",{"type":45,"tag":96,"props":745,"children":747},{"className":98,"code":746,"language":100,"meta":101,"style":101},"az monitor metrics alert list -o table\n",[748],{"type":45,"tag":104,"props":749,"children":750},{"__ignoreMap":101},[751],{"type":45,"tag":108,"props":752,"children":753},{"class":110,"line":111},[754,758,763,768,773,777,781],{"type":45,"tag":108,"props":755,"children":756},{"style":115},[757],{"type":51,"value":118},{"type":45,"tag":108,"props":759,"children":760},{"style":121},[761],{"type":51,"value":762}," monitor",{"type":45,"tag":108,"props":764,"children":765},{"style":121},[766],{"type":51,"value":767}," metrics",{"type":45,"tag":108,"props":769,"children":770},{"style":121},[771],{"type":51,"value":772}," alert",{"type":45,"tag":108,"props":774,"children":775},{"style":121},[776],{"type":51,"value":129},{"type":45,"tag":108,"props":778,"children":779},{"style":121},[780],{"type":51,"value":155},{"type":45,"tag":108,"props":782,"children":783},{"style":121},[784],{"type":51,"value":160},{"type":45,"tag":84,"props":786,"children":787},{},[788,793],{"type":45,"tag":88,"props":789,"children":790},{},[791],{"type":51,"value":792},"Deployment practices",{"type":51,"value":794},": Check for deployment slots, blue-green, or canary configurations",{"type":45,"tag":84,"props":796,"children":797},{},[798,803],{"type":45,"tag":88,"props":799,"children":800},{},[801],{"type":51,"value":802},"Automation",{"type":51,"value":804},": Check for runbooks, Logic Apps, or scheduled tasks",{"type":45,"tag":73,"props":806,"children":808},{"id":807},"_5-performance-efficiency",[809],{"type":51,"value":810},"5. Performance Efficiency",{"type":45,"tag":80,"props":812,"children":813},{},[814,879,889,899],{"type":45,"tag":84,"props":815,"children":816},{},[817,822,824],{"type":45,"tag":88,"props":818,"children":819},{},[820],{"type":51,"value":821},"Autoscaling",{"type":51,"value":823},": Verify autoscale rules exist for App Service plans, VMSS, and Container Apps\n",{"type":45,"tag":96,"props":825,"children":827},{"className":98,"code":826,"language":100,"meta":101,"style":101},"az monitor autoscale list --resource-group \u003Crg> -o table\n",[828],{"type":45,"tag":104,"props":829,"children":830},{"__ignoreMap":101},[831],{"type":45,"tag":108,"props":832,"children":833},{"class":110,"line":111},[834,838,842,847,851,855,859,863,867,871,875],{"type":45,"tag":108,"props":835,"children":836},{"style":115},[837],{"type":51,"value":118},{"type":45,"tag":108,"props":839,"children":840},{"style":121},[841],{"type":51,"value":762},{"type":45,"tag":108,"props":843,"children":844},{"style":121},[845],{"type":51,"value":846}," autoscale",{"type":45,"tag":108,"props":848,"children":849},{"style":121},[850],{"type":51,"value":129},{"type":45,"tag":108,"props":852,"children":853},{"style":121},[854],{"type":51,"value":360},{"type":45,"tag":108,"props":856,"children":857},{"style":137},[858],{"type":51,"value":340},{"type":45,"tag":108,"props":860,"children":861},{"style":121},[862],{"type":51,"value":369},{"type":45,"tag":108,"props":864,"children":865},{"style":348},[866],{"type":51,"value":374},{"type":45,"tag":108,"props":868,"children":869},{"style":137},[870],{"type":51,"value":355},{"type":45,"tag":108,"props":872,"children":873},{"style":121},[874],{"type":51,"value":155},{"type":45,"tag":108,"props":876,"children":877},{"style":121},[878],{"type":51,"value":160},{"type":45,"tag":84,"props":880,"children":881},{},[882,887],{"type":45,"tag":88,"props":883,"children":884},{},[885],{"type":51,"value":886},"Caching",{"type":51,"value":888},": Check for Redis Cache or CDN usage on high-traffic workloads",{"type":45,"tag":84,"props":890,"children":891},{},[892,897],{"type":45,"tag":88,"props":893,"children":894},{},[895],{"type":51,"value":896},"Database performance",{"type":51,"value":898},": Check DTU\u002FvCore utilization, index recommendations",{"type":45,"tag":84,"props":900,"children":901},{},[902,907],{"type":45,"tag":88,"props":903,"children":904},{},[905],{"type":51,"value":906},"Content delivery",{"type":51,"value":908},": Verify static assets use CDN or Front Door",{"type":45,"tag":54,"props":910,"children":912},{"id":911},"scoring",[913],{"type":51,"value":914},"Scoring",{"type":45,"tag":61,"props":916,"children":917},{},[918],{"type":51,"value":919},"For each check, assign one of:",{"type":45,"tag":921,"props":922,"children":923},"ul",{},[924,936,948],{"type":45,"tag":84,"props":925,"children":926},{},[927,929,934],{"type":51,"value":928},"✅ ",{"type":45,"tag":88,"props":930,"children":931},{},[932],{"type":51,"value":933},"Pass",{"type":51,"value":935},": follows best practice",{"type":45,"tag":84,"props":937,"children":938},{},[939,941,946],{"type":51,"value":940},"⚠️ ",{"type":45,"tag":88,"props":942,"children":943},{},[944],{"type":51,"value":945},"Needs attention",{"type":51,"value":947},": partially implemented or at risk",{"type":45,"tag":84,"props":949,"children":950},{},[951,953,958],{"type":51,"value":952},"❌ ",{"type":45,"tag":88,"props":954,"children":955},{},[956],{"type":51,"value":957},"Fail",{"type":51,"value":959},": not implemented, risk exposure",{"type":45,"tag":61,"props":961,"children":962},{},[963,965,971],{"type":51,"value":964},"Calculate per-pillar score as ",{"type":45,"tag":104,"props":966,"children":968},{"className":967},[],[969],{"type":51,"value":970},"pass \u002F (pass + attention + fail)",{"type":51,"value":972}," percentage. Overall score is the average across all five pillars.",{"type":45,"tag":54,"props":974,"children":976},{"id":975},"sample-output",[977],{"type":51,"value":978},"Sample output",{"type":45,"tag":980,"props":981,"children":982},"table",{},[983,1002],{"type":45,"tag":984,"props":985,"children":986},"thead",{},[987],{"type":45,"tag":988,"props":989,"children":990},"tr",{},[991,997],{"type":45,"tag":992,"props":993,"children":994},"th",{},[995],{"type":51,"value":996},"Field",{"type":45,"tag":992,"props":998,"children":999},{},[1000],{"type":51,"value":1001},"Value",{"type":45,"tag":1003,"props":1004,"children":1005},"tbody",{},[1006,1020,1033],{"type":45,"tag":988,"props":1007,"children":1008},{},[1009,1015],{"type":45,"tag":1010,"props":1011,"children":1012},"td",{},[1013],{"type":51,"value":1014},"Subscription",{"type":45,"tag":1010,"props":1016,"children":1017},{},[1018],{"type":51,"value":1019},"contoso-prod-001",{"type":45,"tag":988,"props":1021,"children":1022},{},[1023,1028],{"type":45,"tag":1010,"props":1024,"children":1025},{},[1026],{"type":51,"value":1027},"Assessment Date",{"type":45,"tag":1010,"props":1029,"children":1030},{},[1031],{"type":51,"value":1032},"2026-07-15",{"type":45,"tag":988,"props":1034,"children":1035},{},[1036,1041],{"type":45,"tag":1010,"props":1037,"children":1038},{},[1039],{"type":51,"value":1040},"Overall Score",{"type":45,"tag":1010,"props":1042,"children":1043},{},[1044],{"type":51,"value":1045},"68%",{"type":45,"tag":980,"props":1047,"children":1048},{},[1049,1078],{"type":45,"tag":984,"props":1050,"children":1051},{},[1052],{"type":45,"tag":988,"props":1053,"children":1054},{},[1055,1060,1064,1069,1073],{"type":45,"tag":992,"props":1056,"children":1057},{},[1058],{"type":51,"value":1059},"Pillar",{"type":45,"tag":992,"props":1061,"children":1062},{},[1063],{"type":51,"value":933},{"type":45,"tag":992,"props":1065,"children":1066},{},[1067],{"type":51,"value":1068},"Needs Attention",{"type":45,"tag":992,"props":1070,"children":1071},{},[1072],{"type":51,"value":957},{"type":45,"tag":992,"props":1074,"children":1075},{},[1076],{"type":51,"value":1077},"Score",{"type":45,"tag":1003,"props":1079,"children":1080},{},[1081,1107,1132,1159,1183,1207],{"type":45,"tag":988,"props":1082,"children":1083},{},[1084,1088,1093,1098,1102],{"type":45,"tag":1010,"props":1085,"children":1086},{},[1087],{"type":51,"value":26},{"type":45,"tag":1010,"props":1089,"children":1090},{},[1091],{"type":51,"value":1092},"3",{"type":45,"tag":1010,"props":1094,"children":1095},{},[1096],{"type":51,"value":1097},"1",{"type":45,"tag":1010,"props":1099,"children":1100},{},[1101],{"type":51,"value":1097},{"type":45,"tag":1010,"props":1103,"children":1104},{},[1105],{"type":51,"value":1106},"60%",{"type":45,"tag":988,"props":1108,"children":1109},{},[1110,1114,1119,1123,1127],{"type":45,"tag":1010,"props":1111,"children":1112},{},[1113],{"type":51,"value":15},{"type":45,"tag":1010,"props":1115,"children":1116},{},[1117],{"type":51,"value":1118},"2",{"type":45,"tag":1010,"props":1120,"children":1121},{},[1122],{"type":51,"value":1118},{"type":45,"tag":1010,"props":1124,"children":1125},{},[1126],{"type":51,"value":1097},{"type":45,"tag":1010,"props":1128,"children":1129},{},[1130],{"type":51,"value":1131},"40%",{"type":45,"tag":988,"props":1133,"children":1134},{},[1135,1140,1145,1149,1154],{"type":45,"tag":1010,"props":1136,"children":1137},{},[1138],{"type":51,"value":1139},"Cost Optimization",{"type":45,"tag":1010,"props":1141,"children":1142},{},[1143],{"type":51,"value":1144},"4",{"type":45,"tag":1010,"props":1146,"children":1147},{},[1148],{"type":51,"value":1097},{"type":45,"tag":1010,"props":1150,"children":1151},{},[1152],{"type":51,"value":1153},"0",{"type":45,"tag":1010,"props":1155,"children":1156},{},[1157],{"type":51,"value":1158},"80%",{"type":45,"tag":988,"props":1160,"children":1161},{},[1162,1167,1171,1175,1179],{"type":45,"tag":1010,"props":1163,"children":1164},{},[1165],{"type":51,"value":1166},"Operational Excellence",{"type":45,"tag":1010,"props":1168,"children":1169},{},[1170],{"type":51,"value":1092},{"type":45,"tag":1010,"props":1172,"children":1173},{},[1174],{"type":51,"value":1097},{"type":45,"tag":1010,"props":1176,"children":1177},{},[1178],{"type":51,"value":1097},{"type":45,"tag":1010,"props":1180,"children":1181},{},[1182],{"type":51,"value":1106},{"type":45,"tag":988,"props":1184,"children":1185},{},[1186,1191,1195,1199,1203],{"type":45,"tag":1010,"props":1187,"children":1188},{},[1189],{"type":51,"value":1190},"Performance Efficiency",{"type":45,"tag":1010,"props":1192,"children":1193},{},[1194],{"type":51,"value":1144},{"type":45,"tag":1010,"props":1196,"children":1197},{},[1198],{"type":51,"value":1153},{"type":45,"tag":1010,"props":1200,"children":1201},{},[1202],{"type":51,"value":1097},{"type":45,"tag":1010,"props":1204,"children":1205},{},[1206],{"type":51,"value":1158},{"type":45,"tag":988,"props":1208,"children":1209},{},[1210,1218,1226,1234,1241],{"type":45,"tag":1010,"props":1211,"children":1212},{},[1213],{"type":45,"tag":88,"props":1214,"children":1215},{},[1216],{"type":51,"value":1217},"Overall",{"type":45,"tag":1010,"props":1219,"children":1220},{},[1221],{"type":45,"tag":88,"props":1222,"children":1223},{},[1224],{"type":51,"value":1225},"16",{"type":45,"tag":1010,"props":1227,"children":1228},{},[1229],{"type":45,"tag":88,"props":1230,"children":1231},{},[1232],{"type":51,"value":1233},"5",{"type":45,"tag":1010,"props":1235,"children":1236},{},[1237],{"type":45,"tag":88,"props":1238,"children":1239},{},[1240],{"type":51,"value":1144},{"type":45,"tag":1010,"props":1242,"children":1243},{},[1244],{"type":45,"tag":88,"props":1245,"children":1246},{},[1247],{"type":51,"value":1045},{"type":45,"tag":54,"props":1249,"children":1251},{"id":1250},"references",[1252],{"type":51,"value":1253},"References",{"type":45,"tag":921,"props":1255,"children":1256},{},[1257,1270,1281,1292,1303,1314],{"type":45,"tag":84,"props":1258,"children":1259},{},[1260,1262],{"type":51,"value":1261},"WAF Overview: ",{"type":45,"tag":1263,"props":1264,"children":1268},"a",{"href":1265,"rel":1266},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002F",[1267],"nofollow",[1269],{"type":51,"value":1265},{"type":45,"tag":84,"props":1271,"children":1272},{},[1273,1275],{"type":51,"value":1274},"Reliability: ",{"type":45,"tag":1263,"props":1276,"children":1279},{"href":1277,"rel":1278},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Freliability\u002F",[1267],[1280],{"type":51,"value":1277},{"type":45,"tag":84,"props":1282,"children":1283},{},[1284,1286],{"type":51,"value":1285},"Security: ",{"type":45,"tag":1263,"props":1287,"children":1290},{"href":1288,"rel":1289},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Fsecurity\u002F",[1267],[1291],{"type":51,"value":1288},{"type":45,"tag":84,"props":1293,"children":1294},{},[1295,1297],{"type":51,"value":1296},"Cost Optimization: ",{"type":45,"tag":1263,"props":1298,"children":1301},{"href":1299,"rel":1300},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Fcost-optimization\u002F",[1267],[1302],{"type":51,"value":1299},{"type":45,"tag":84,"props":1304,"children":1305},{},[1306,1308],{"type":51,"value":1307},"Operational Excellence: ",{"type":45,"tag":1263,"props":1309,"children":1312},{"href":1310,"rel":1311},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Foperational-excellence\u002F",[1267],[1313],{"type":51,"value":1310},{"type":45,"tag":84,"props":1315,"children":1316},{},[1317,1319],{"type":51,"value":1318},"Performance Efficiency: ",{"type":45,"tag":1263,"props":1320,"children":1323},{"href":1321,"rel":1322},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Fperformance-efficiency\u002F",[1267],[1324],{"type":51,"value":1321},{"type":45,"tag":1326,"props":1327,"children":1328},"style",{},[1329],{"type":51,"value":1330},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1332,"total":1462},[1333,1349,1369,1391,1410,1424,1443],{"slug":1334,"name":1335,"fn":1336,"description":1337,"org":1338,"tags":1339,"stars":28,"repoUrl":29,"updatedAt":1348},"aifoundryposturecheck","ai_foundry_posture_check","assess Azure AI Foundry deployment posture","Assess security, reliability, and cost posture of Azure OpenAI and AI Foundry deployments. Detects anti-patterns like API keys instead of Managed Identity, public endpoints, disabled content filtering, deprecated models, over-provisioned PTU, missing AI Gateway, and single-region deployment.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1340,1343,1344,1346,1347],{"name":1341,"slug":1342,"type":17},"AI","ai",{"name":12,"slug":9,"type":17},{"name":1139,"slug":1345,"type":17},"cost-optimization",{"name":26,"slug":27,"type":17},{"name":15,"slug":16,"type":17},"2026-08-23T04:00:38.426809",{"slug":1350,"name":1351,"fn":1352,"description":1353,"org":1354,"tags":1355,"stars":28,"repoUrl":29,"updatedAt":1368},"atlassianrovo","atlassian_rovo","manage Atlassian Jira and Confluence tasks","Expertise in Atlassian Cloud products including Jira, Confluence, Compass, and Jira Service Management. Use for searching issues with JQL, creating and updating pages, managing service components, investigating ops alerts, and navigating Atlassian workspaces via the Rovo MCP server.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1356,1359,1362,1365],{"name":1357,"slug":1358,"type":17},"Atlassian","atlassian",{"name":1360,"slug":1361,"type":17},"Confluence","confluence",{"name":1363,"slug":1364,"type":17},"Jira","jira",{"name":1366,"slug":1367,"type":17},"Project Management","project-management","2026-07-12T08:20:33.735452",{"slug":1370,"name":1371,"fn":1372,"description":1373,"org":1374,"tags":1375,"stars":28,"repoUrl":29,"updatedAt":1390},"awscloudoperations","aws_cloud_operations","manage and troubleshoot AWS cloud operations","Expertise in AWS cloud operations including infrastructure management, troubleshooting, documentation search, API execution, and operational procedures. Use for querying AWS resources, investigating incidents, following SOPs, searching documentation, checking service availability, and executing AWS API calls via the AWS MCP Server.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1376,1379,1382,1385,1387],{"name":1377,"slug":1378,"type":17},"AWS","aws",{"name":1380,"slug":1381,"type":17},"Debugging","debugging",{"name":1383,"slug":1384,"type":17},"Infrastructure","infrastructure",{"name":741,"slug":1386,"type":17},"monitoring",{"name":1388,"slug":1389,"type":17},"Operations","operations","2026-07-12T08:20:14.702793",{"slug":1392,"name":1393,"fn":1394,"description":1395,"org":1396,"tags":1397,"stars":28,"repoUrl":29,"updatedAt":1409},"azuremanagedgrafana","azure_managed_grafana","monitor Azure infrastructure with Grafana","Expertise in Azure Managed Grafana including dashboards, Azure Monitor metrics, Application Insights failures and traces, Azure Data Explorer (Kusto) queries, SQL Server queries, and Azure Resource Graph. Use for querying observability data, searching dashboards, investigating failures, analyzing GenAI agent telemetry, and running KQL or SQL queries via the AMG-MCP endpoint.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1398,1401,1402,1405,1406],{"name":1399,"slug":1400,"type":17},"Application Insights","application-insights",{"name":12,"slug":9,"type":17},{"name":1403,"slug":1404,"type":17},"Dashboards","dashboards",{"name":741,"slug":1386,"type":17},{"name":1407,"slug":1408,"type":17},"Observability","observability","2026-07-12T08:19:37.659849",{"slug":1411,"name":1412,"fn":1413,"description":1414,"org":1415,"tags":1416,"stars":28,"repoUrl":29,"updatedAt":1423},"capacityplanning","capacity_planning","assess Azure resource capacity and scaling","Assess Azure resource capacity, quota utilization, and growth trends to prevent outages from resource exhaustion. Use when asked about capacity, quotas, scaling readiness, load testing prep, or growth projections.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1417,1418,1421,1422],{"name":12,"slug":9,"type":17},{"name":1419,"slug":1420,"type":17},"Capacity Planning","capacity-planning",{"name":1388,"slug":1389,"type":17},{"name":19,"slug":20,"type":17},"2026-08-23T04:00:12.510248",{"slug":1425,"name":1426,"fn":1427,"description":1428,"org":1429,"tags":1430,"stars":28,"repoUrl":29,"updatedAt":1442},"compliancegovernanceaudit","compliance_governance_audit","audit Azure compliance and governance","Audit Azure environment for compliance and governance posture. Checks Azure Policy, RBAC, tagging, resource locks, naming conventions, and regulatory alignment. Use when asked about compliance, governance, audit readiness, or policy violations.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1431,1434,1435,1438,1441],{"name":1432,"slug":1433,"type":17},"Audit","audit",{"name":12,"slug":9,"type":17},{"name":1436,"slug":1437,"type":17},"Compliance","compliance",{"name":1439,"slug":1440,"type":17},"Governance","governance",{"name":15,"slug":16,"type":17},"2026-08-23T04:00:39.064619",{"slug":1444,"name":1445,"fn":1446,"description":1447,"org":1448,"tags":1449,"stars":28,"repoUrl":29,"updatedAt":1461},"datadogobservability","datadog_observability","query Datadog telemetry and investigate behavior","Expertise in Datadog's observability platform including logs, metrics, APM, monitors, incidents, dashboards, hosts, and services. Use for searching logs, querying metrics, investigating incidents, analyzing traces, inspecting monitors, and navigating Datadog data via the Datadog MCP server.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1450,1453,1456,1459,1460],{"name":1451,"slug":1452,"type":17},"Datadog","datadog",{"name":1454,"slug":1455,"type":17},"Logs","logs",{"name":1457,"slug":1458,"type":17},"Metrics","metrics",{"name":741,"slug":1386,"type":17},{"name":1407,"slug":1408,"type":17},"2026-07-12T08:20:41.400308",15,{"items":1464,"total":1634},[1465,1480,1499,1518,1533,1546,1559,1574,1585,1597,1608,1620],{"slug":1466,"name":1466,"fn":1467,"description":1468,"org":1469,"tags":1470,"stars":1477,"repoUrl":1478,"updatedAt":1479},"azure-arg-external-evaluation-policy-author","author and test Azure Resource Graph policies","Use when the user wants to author, design, or test an Azure Policy that queries Azure Resource Graph (ARG) at request-time — i.e. a policy whose deny\u002Faudit decision depends on data from elsewhere in the subscription (sibling\u002Fparent resource state, RG-wide invariants, multi-hop relationships, etc.). Formally called Azure Policy External Evaluation; sometimes referred to colloquially as \"Invoke\". Drives an iterative KQL co-design loop against the user's real subscription via `az graph query`, then emits a policy definition, assignment, `.http` test flow, and an `EXPLANATION.md` companion. Read-only; never provisions anything.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1471,1472,1473,1474],{"name":12,"slug":9,"type":17},{"name":1436,"slug":1437,"type":17},{"name":1439,"slug":1440,"type":17},{"name":1475,"slug":1476,"type":17},"Policy","policy",1689,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-policy","2026-07-12T08:17:48.378432",{"slug":1481,"name":1481,"fn":1482,"description":1483,"org":1484,"tags":1485,"stars":1496,"repoUrl":1497,"updatedAt":1498},"azure-blueprints-migration","migrate Azure Blueprints to Template Specs","Use when a user needs to migrate off Azure Blueprints (definitions and\u002For assignments) to Template Specs and Deployment Stacks before the January 31, 2027 retirement. Covers inventory, export, conversion to Bicep, policy decoupling, Template Spec publishing, Deployment Stack deployment with deny-settings, validation, and cutover.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1486,1487,1490,1493],{"name":12,"slug":9,"type":17},{"name":1488,"slug":1489,"type":17},"Deployment","deployment",{"name":1491,"slug":1492,"type":17},"Infrastructure as Code","infrastructure-as-code",{"name":1494,"slug":1495,"type":17},"Migration","migration",261,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-blueprints","2026-08-20T03:28:18.136156",{"slug":1500,"name":1500,"fn":1501,"description":1502,"org":1503,"tags":1504,"stars":1515,"repoUrl":1516,"updatedAt":1517},"apiview-feedback-resolution","resolve APIView feedback on Azure SDKs","Analyze and resolve APIView review feedback on Azure SDK PRs. **UTILITY SKILL**. USE FOR: APIView comments, API review feedback, SDK API surface changes. DO NOT USE FOR: general code review, non-APIView feedback. INVOKES: azure-sdk-mcp:azsdk_apiview_get_comments, azure-sdk-mcp:azsdk_typespec_customized_code_update.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1505,1508,1509,1512],{"name":1506,"slug":1507,"type":17},"API Development","api-development",{"name":12,"slug":9,"type":17},{"name":1510,"slug":1511,"type":17},"Code Review","code-review",{"name":1513,"slug":1514,"type":17},"Documentation","documentation",136,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-tools","2026-07-12T08:17:43.350876",{"slug":1519,"name":1519,"fn":1520,"description":1521,"org":1522,"tags":1523,"stars":1515,"repoUrl":1516,"updatedAt":1532},"azsdk-common-live-and-recorded-tests","deploy resources and run Azure SDK tests","Deploy test resources and run Azure SDK tests in live, record, or playback mode. WHEN: \"run live tests\", \"run recorded tests\", \"deploy test resources\", \"record tests\", \"run tests in record mode\", \"clean up test resources\", \"run tests against live resources\". DO NOT USE FOR: writing new tests, authoring Bicep templates, playback-only test runs without resource deployment. INVOKES: azure-sdk-mcp:azsdk_package_run_tests.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1524,1525,1526,1529],{"name":12,"slug":9,"type":17},{"name":1488,"slug":1489,"type":17},{"name":1527,"slug":1528,"type":17},"SDK","sdk",{"name":1530,"slug":1531,"type":17},"Testing","testing","2026-07-12T08:17:44.718943",{"slug":1534,"name":1534,"fn":1535,"description":1536,"org":1537,"tags":1538,"stars":1515,"repoUrl":1516,"updatedAt":1545},"azsdk-common-prepare-release-plan","manage Azure SDK release plan work items","Create, get, update, abandon, and link SDK PRs to release plan work items for Azure SDK releases. **UTILITY SKILL**. USE FOR: \"create release plan\", \"get release plan\", \"update release plan\", \"update API spec in release plan\", \"update SDK details in release plan\", \"abandon release plan\", \"link SDK PR to plan\", \"namespace approval\", \"check release plan status\". DO NOT USE FOR: SDK code generation, pipeline troubleshooting, API review feedback. INVOKES: azure-sdk-mcp:azsdk_create_release_plan, azure-sdk-mcp:azsdk_get_release_plan, azure-sdk-mcp:azsdk_get_release_plan_for_spec_pr, azure-sdk-mcp:azsdk_update_release_plan, azure-sdk-mcp:azsdk_update_api_spec_pull_request_in_release_plan, azure-sdk-mcp:azsdk_update_sdk_details_in_release_plan, azure-sdk-mcp:azsdk_abandon_release_plan, azure-sdk-mcp:azsdk_link_sdk_pull_request_to_release_plan, azure-sdk-mcp:azsdk_link_namespace_approval_issue.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1539,1540,1543,1544],{"name":12,"slug":9,"type":17},{"name":1541,"slug":1542,"type":17},"GitHub","github",{"name":1366,"slug":1367,"type":17},{"name":1527,"slug":1528,"type":17},"2026-07-12T08:17:38.345387",{"slug":1547,"name":1547,"fn":1548,"description":1549,"org":1550,"tags":1551,"stars":1515,"repoUrl":1516,"updatedAt":1558},"azsdk-common-sdk-release","release Azure SDK packages","Check release readiness and trigger the release pipeline for Azure SDK packages. **UTILITY SKILL**. USE FOR: \"release SDK\", \"trigger release\", \"check release readiness\", \"release pipeline\", \"publish package\", \"ship SDK\". DO NOT USE FOR: SDK development, code generation, pipeline debugging, release plan creation. INVOKES: azure-sdk-mcp:azsdk_release_sdk.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1552,1553,1556,1557],{"name":12,"slug":9,"type":17},{"name":1554,"slug":1555,"type":17},"CI\u002FCD","ci-cd",{"name":1488,"slug":1489,"type":17},{"name":1527,"slug":1528,"type":17},"2026-07-12T08:17:34.27607",{"slug":1560,"name":1560,"fn":1561,"description":1562,"org":1563,"tags":1564,"stars":1515,"repoUrl":1516,"updatedAt":1573},"azure-typespec-author","author and modify Azure TypeSpec API specifications","Authors and modifies Azure TypeSpec (.tsp) API specifications. USE FOR: any TypeSpec\u002Ftsp change — api versions (add, bump, preview, stable, promote), resources, operations, models, properties, decorators, visibility, constraints, breaking changes, LRO, suppressions, operationId, spread model. Covers ARM resource-manager and data-plane services. DO NOT USE FOR: SDK generation, releasing SDK packages, or single MCP tool calls. INVOKES: azure-sdk-mcp:azsdk_typespec_generate_authoring_plan, azure-sdk-mcp:azsdk_run_typespec_validation.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1565,1566,1567,1570],{"name":1506,"slug":1507,"type":17},{"name":12,"slug":9,"type":17},{"name":1568,"slug":1569,"type":17},"OpenAPI","openapi",{"name":1571,"slug":1572,"type":17},"Technical Writing","technical-writing","2026-07-12T08:17:39.603232",{"slug":1575,"name":1575,"fn":1576,"description":1577,"org":1578,"tags":1579,"stars":1515,"repoUrl":1516,"updatedAt":1584},"generate-sdk-locally","generate and test Azure SDKs locally","Generate, build, and test Azure SDKs locally from TypeSpec with automatic customization. WHEN: \"generate SDK locally\", \"build SDK\", \"run SDK tests\", \"run CI checks\", \"validate package\", \"run checks\", \"update changelog\", \"fix SDK build errors\", \"fix breaking changes\", \"resolve SDK generation errors\", \"customize TypeSpec\", \"rename SDK client\", \"rename SDK model\", \"hide operation from SDK\", \"fix analyzer errors\", \"resolve customization drift\", \"create subclient\", \"update metadata\", \"update version\". DO NOT USE FOR: publishing to package registries, CI pipeline configuration, API design review. INVOKES: azsdk_verify_setup, azsdk_package_generate_code, azsdk_package_build_code, azsdk_package_run_check, azsdk_package_run_tests, azsdk_customized_code_update, azsdk_package_update_changelog_content, azsdk_package_update_metadata, azsdk_package_update_version.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1580,1581,1582,1583],{"name":12,"slug":9,"type":17},{"name":1554,"slug":1555,"type":17},{"name":1527,"slug":1528,"type":17},{"name":1530,"slug":1531,"type":17},"2026-07-12T08:17:37.08523",{"slug":1586,"name":1586,"fn":1587,"description":1588,"org":1589,"tags":1590,"stars":1515,"repoUrl":1516,"updatedAt":1596},"markdown-token-optimizer","optimize markdown files for token efficiency","Analyze markdown files for token efficiency and reduce context-window bloat. **UTILITY SKILL**. DO NOT USE FOR: code optimization, general file editing, non-markdown files. TRIGGERS: optimize markdown, reduce tokens, token count, token bloat, too many tokens, make concise, shrink file, file too large, optimize for AI, token efficiency, verbose markdown, reduce file size. INVOKES: waza CLI.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1591,1594,1595],{"name":1592,"slug":1593,"type":17},"LLM","llm",{"name":19,"slug":20,"type":17},{"name":1571,"slug":1572,"type":17},"2026-07-12T08:17:42.080413",{"slug":1598,"name":1598,"fn":1599,"description":1600,"org":1601,"tags":1602,"stars":1515,"repoUrl":1516,"updatedAt":1607},"pipeline-troubleshooting","troubleshoot Azure SDK CI pipelines","Diagnose and resolve failures in Azure SDK CI and generation pipelines. **UTILITY SKILL**. USE FOR: \"pipeline failed\", \"build failure\", \"CI check failing\", \"SDK generation error\", \"reproduce pipeline locally\", \"debug SDK pipeline\". DO NOT USE FOR: local build issues without pipeline context, API design review, SDK publishing. INVOKES: azure-sdk-mcp:azsdk_analyze_pipeline, azure-sdk-mcp:azsdk_package_build_code, azure-sdk-mcp:azsdk_package_run_check.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1603,1604,1605,1606],{"name":12,"slug":9,"type":17},{"name":1554,"slug":1555,"type":17},{"name":1380,"slug":1381,"type":17},{"name":1527,"slug":1528,"type":17},"2026-07-12T08:17:40.821512",{"slug":1609,"name":1609,"fn":1610,"description":1611,"org":1612,"tags":1613,"stars":1515,"repoUrl":1516,"updatedAt":1619},"skill-authoring","author agent skills for agentskills.io","Write Agent Skills that comply with the agentskills.io specification. WHEN: \"create a skill\", \"new skill\", \"write a skill\", \"skill template\", \"skill structure\", \"review skill\", \"skill PR\", \"skill compliance\", \"SKILL.md format\", \"skill frontmatter\", \"skill best practices\". DO NOT USE FOR: general documentation. INVOKES: waza CLI.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1614,1615,1618],{"name":1513,"slug":1514,"type":17},{"name":1616,"slug":1617,"type":17},"Plugin Development","plugin-development",{"name":1571,"slug":1572,"type":17},"2026-08-07T04:39:22.66861",{"slug":1621,"name":1621,"fn":1622,"description":1623,"org":1624,"tags":1625,"stars":1631,"repoUrl":1632,"updatedAt":1633},"kickstart-acr-integration","integrate Azure Container Registry with AKS","ACR integration for AKS Automatic. Teaches attaching an ACR, image reference conventions (digest pinning, no :latest), and pull-secret-free authentication via the managed identity.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1626,1627,1630],{"name":12,"slug":9,"type":17},{"name":1628,"slug":1629,"type":17},"Containers","containers",{"name":1488,"slug":1489,"type":17},65,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fvscode-aks-tools","2026-07-12T08:18:05.091337",124]