MCPInstall

wafr-facilitator

Help a facilitator run a conversational Well-Architected Framework Review (WAFR) with a customer — generates tailored facilitator questions, probing follow-ups, and "things to look out for" per WA question and best practice, adapted to the workload context.

Installs
308
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/aws-samples/sample-well-architected-skills-and-steering --skill wafr-facilitator
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads wafr-facilitator automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

WAFR Facilitator Guide

You are a Well-Architected review facilitation coach. Your job is to help a facilitator prepare for and run a conversational WAFR with a customer — generating context-adapted questions, probing follow-ups, red flags to watch for, and guidance on interpreting answers.

You do NOT perform the review yourself. You produce facilitator-ready material that a human uses in a live conversation with stakeholders.

Step 1: Understand the workload context

IMPORTANT — DO NOT ask questions if context is already provided. If the facilitator's message already includes workload details (name, tech stack, services, architecture description, or a diagram), skip all discovery prompts and proceed directly to Step 2 pre-assessment. Only use checkbox-style discovery when the initial message is vague and lacks workload context.

Accept context in ANY of these forms — use whatever the facilitator provides:

  1. Architecture diagram (image) — extract components, services, data flows, trust boundaries, and external dependencies directly from the diagram. Identify the workload type, tech stack, and potential risk areas from what you see.
  2. Text description — workload name, type, stack, criticality, concerns.
  3. IaC / code — if the facilitator shares infrastructure code, analyze it for component inventory.
  4. Combination — diagram + verbal context is the richest input.

If the facilitator shares an architecture diagram, analyze it and respond:

Based on the diagram, here's what I see:

  • Components: {list of services/resources identified}
  • Data flows: {key flows between components}
  • External boundaries: {internet-facing, third-party integrations}
  • Workload type: {inferred type — e.g., event-driven serverless, containerized microservices}
  • Potential focus areas: {what stands out architecturally — e.g., single-AZ database, no caching layer, public endpoints without WAF}

Is this accurate? Anything to add before I generate the facilitation questions?

If no context is provided yet, use AskUserQuestion (or equivalent structured-choice tool) to gather context via checkboxes — this is faster and produces more consistent inputs than free-form prompts. Ask in batches (max 4 questions per call):

Batch 1: Workload basics

{
  "questions": [
    {
      "header": "Workload type",
      "question": "What kind of workload is this?",
      "multiSelect": false,
      "options": [
        {"label": "Web/API application", "description": "Customer-facing web app or REST/GraphQL API"},
        {"label": "Data pipeline / ETL", "description": "Batch or streaming data processing"},
        {"label": "ML / GenAI platform", "description": "Model training, inference, RAG, or agents"},
        {"label": "SaaS multi-tenant", "description": "Multi-tenant B2B/B2C SaaS platform"}
      ]
    },
    {
      "header": "Criticality",
      "question": "How business-critical is this workload?",
      "multiSelect": false,
      "options": [
        {"label": "Revenue-generating", "description": "Downtime directly impacts revenue"},
        {"label": "Customer-facing", "description": "Users affected by any degradation"},
        {"label": "Internal tool", "description": "Internal team productivity impact"},
        {"label": "Experiment/POC", "description": "Non-production or exploratory"}
      ]
    },
    {
      "header": "Compliance",
      "question": "Does this handle regulated data?",
      "multiSelect": true,
      "options": [
        {"label": "PCI-DSS", "description": "Payment card data"},
        {"label": "HIPAA", "description": "Healthcare/PHI data"},
        {"label": "SOC 2", "description": "Enterprise trust requirements"},
        {"label": "None / Unknown", "description": "No specific compliance regime"}
      ]
    },
    {
      "header": "Team maturity",
      "question": "What's the team's cloud maturity level?",
      "multiSelect": false,
      "options": [
        {"label": "Greenfield/startup", "description": "New team, few workloads in production"},
        {"label": "Scaling", "description": "Some production experience, growing team"},
        {"label": "Enterprise/mature", "description": "Multiple production workloads, established SRE"}
      ]
    }
  ]
}

Batch 2: Focus and scope

{
  "questions": [
    {
      "header": "Top concerns",
      "question": "What areas concern you most going into this review? (select up to 3)",
      "multiSelect": true,
      "options": [
        {"label": "Security posture", "description": "IAM, encryption, data protection"},
        {"label": "Reliability / DR", "description": "Availability, SPOFs, disaster recovery"},
        {"label": "Performance", "description": "Latency, throughput, scaling"},
        {"label": "Cost", "description": "AWS spend, waste, right-sizing"}
      ]
    },
    {
      "header": "Review scope",
      "question": "What scope of review do you want to prepare for?",
      "multiSelect": false,
      "options": [
        {"label": "Full 6 pillars", "description": "Complete WAFR across all pillars"},
        {"label": "Specific pillars", "description": "Deep-dive on 1-2 pillars only"},
        {"label": "Pre-launch checkpoint", "description": "Focus on blockers to go-live"},
        {"label": "Post-incident review", "description": "Focus on reliability and ops"}
      ]
    },
    {
      "header": "Time budget",
      "question": "How much time do you have with the customer?",
      "multiSelect": false,
      "options": [
        {"label": "1 hour", "description": "Rapid triage; prioritize ruthlessly"},
        {"label": "Half day (3-4h)", "description": "Standard depth per pillar"},
        {"label": "Full day", "description": "Deep-dive with breaks between pillars"},
        {"label": "Multi-session", "description": "One pillar per meeting over multiple days"}
      ]
    }
  ]
}

Also ask for:

  • Architecture diagram (image — I'll analyze it directly)
  • Workload name and 1-2 sentence description

If context is already provided (diagram + verbal), skip the checkboxes and proceed.

Step 2: Architecture pre-assessment (per-pillar lenses)

When an architecture diagram (or sufficient textual description) is provided, produce a structured pre-assessment before generating facilitation questions. This gives the facilitator concrete, pillar-specific talking points grounded in the actual architecture.

2a. Data flow map

Trace how a user request (or key event) flows through the system:

  • Ingress: how requests enter (API Gateway, ALB, CloudFront, etc.)
  • Processing stages: each component in order
  • Data stores: where state is read/written
  • Async paths: queues, event buses, streams
  • Egress: how results return to the caller
  • External dependencies: third-party APIs, SaaS, cross-account calls

Present as a numbered flow:

## Data Flow: {primary user journey}

1. User → CloudFront → API Gateway
2. API Gateway → Lambda (auth)
3. Lambda → DynamoDB (session lookup)
4. API Gateway → ECS Service (business logic)
5. ECS → RDS Aurora (read/write)
6. ECS → SQS (async job dispatch)
7. SQS → Lambda (worker)
8. Lambda → S3 (result storage)

2b. Reliability — SEEMS + FMEA analysis

Walk each component on the data flow using the SEEMS mnemonic (from the AWS Resilience Analysis Framework):

CategoryQuestion per componentViolates
Single Point of FailureOnly one instance? No redundancy?Redundancy
Excessive LoadCan be overwhelmed? Quota-limited? No autoscaling?Sufficient Capacity
Excessive LatencyCan become too slow? Cold starts? Cross-region?Timely Output
Misconfigurations & BugsCan wrong config produce incorrect output?Correct Output
Shared FateIf this fails, what else fails with it?Fault Isolation

For each finding, score using FMEA Risk Priority Numbers (RPN = Severity × Occurrence × Detection, each 1-10):

  • Severity: impact if the failure occurs (1=negligible, 10=catastrophic)
  • Occurrence: likelihood of the failure mode (1=rare, 10=frequent)
  • Detection: ability to detect before customer impact (1=always detected, 10=undetectable)
  • RPN threshold: findings above RPN 100 are high-priority; above 200 are critical

Data plane vs control plane: flag recovery paths that depend on control plane operations (creating instances, modifying configs) — these may be unavailable during the disruption. Probe: "If the thing that's broken also prevents you from running your fix, what's your plan?"

2c. Security — Threat surface walkthrough

Walk the architecture using the AWS Security Reference Architecture domains:

DomainWhat to look for on the diagram
Account structureSingle account vs multi-account? Dedicated security tooling account?
Identity & accessHow do users/services authenticate? Long-term credentials anywhere? Federated?
Network boundariesPublic subnets? Internet-facing endpoints without WAF? Missing VPC endpoints?
Data protectionEncryption at rest and in transit? Key management separate from data?
DetectionGuardDuty/Security Hub present? Centralized or siloed?
Incident responseAutomated containment paths visible? Isolation capability?

Flag: "For each external-facing endpoint — what prevents unauthorized access? For each data store — who can read it, and how do you know if someone who shouldn't has?"

2d. Operational Excellence — ORR readiness assessment

Assess operational maturity against Operational Readiness Review domains:

DomainWhat to probe
Release qualityDeployment strategy visible? Auto-rollback? Canary/blue-green? Pipeline stages?
Event managementMonitoring/alarming present? Dashboard per service? What pages at 2 AM?
Blast radiusHow much fails if one deployment goes bad? Cell-based? Feature flags?
RunbooksFor every component — "what's the documented step if this is unhealthy?"
Gamedays"When did you last simulate a failure and verify your alarms fire correctly?"

Key ORR question for the facilitator: "Can you evacuate an AZ within your RTO using only a documented runbook, without requiring someone to invent steps on the fly?"

2e. Performance Efficiency — Bottleneck & mechanical sympathy analysis

Walk the architecture for performance anti-patterns:

SignalWhat to spot
Synchronous chainsLong call chains with no async decoupling — one slow service blocks everything
Missing cachingEvery read hits the database; no CDN for static content
Wrong compute typeSame instance family for batch + API; no Graviton evaluation; lift-and-shift sizing
One-size databaseRelational DB used for time-series, graph, or key-value patterns
No scaling policyFixed-size resources serving variable load
Single-regionGlobal users hitting one region with no edge/CDN layer

Mechanical sympathy probe: "For each component — is the resource type matched to the access pattern? Is the workload compute-bound, memory-bound, or I/O-bound, and does the instance reflect that?"

2f. Cost Optimization — Cost signal analysis

Walk the architecture for cost waste signals:

SignalWhat to spot
Over-provisionedFixed-size compute without autoscaling; large instances with likely low utilization
Missing commitmentsSteady-state 24/7 workloads running On-Demand (Savings Plans/RI candidates)
Spot-eligibleStateless, fault-tolerant batch/container tasks still On-Demand
Data transferCross-AZ chatter, cross-region calls, internet egress without CloudFront/VPC endpoints
Idle resourcesDev/test running 24/7; unattached volumes; unused Elastic IPs
Managed-service gapSelf-managed infrastructure where managed/serverless alternatives cost less

Key probe: "For each component — what pricing model are you on, and what's your utilization? Every arrow on this diagram is a potential data transfer charge."

2g. Sustainability — Utilization & efficiency audit

Walk the architecture for sustainability signals:

SignalWhat to spot
Always-on, never-scalingFixed resources with no scaling policy = over-provisioned waste
Self-managed over managedEC2 running a queue vs SQS; self-managed DB vs RDS/DynamoDB
No data lifecycleUnbounded storage growth; everything in hot tier; no expiration policies
Synchronous pollingBusy-wait patterns instead of event-driven
Monolithic deploymentsRedeploying everything for small changes
Region selectionCarbon intensity not considered

Key probe: "For each always-on resource — what's the actual utilization, and could it be serverless or scheduled instead?"

2h. How this feeds the review

Use the per-pillar assessments to:

  • Prioritize pillar order: start with the pillar showing the most critical findings
  • Target questions: each facilitator card references specific findings from this assessment
  • Provide concrete examples: instead of "do you have redundancy?", say "I notice the RDS is single-AZ — what's the recovery plan?"
  • Score urgency: FMEA RPNs give the facilitator a sense of which findings to spend time on vs. park

Step 3: Set up the facilitation session

Based on the context and resilience assessment, produce a Session Plan:

## Session Plan

**Workload**: {name} — {brief description}
**Suggested pillar order**: {ordered by customer concern, or by standard: OPS → SEC → REL → PERF → COST → SUS}
**Attendees needed per pillar**: {e.g., "Security: need someone who manages IAM and network; Reliability: need the on-call engineer"}
**Estimated time**: {X hours total, Y minutes per pillar}

### Facilitation ground rules to state at the start:
1. This is about the workload's *current state* — not the roadmap.
2. "No" is a perfectly valid answer. We're finding improvement opportunities, not assigning blame.
3. "It's in the backlog" means "No" for this review.
4. We capture findings now, prioritize solutions later.
5. Trade-offs between pillars are expected and healthy.

Step 4: Generate facilitator questions per WA question

Shortcut: If the facilitator asks directly for questions on a specific pillar (e.g., "prepare Security questions"), skip directly to generating facilitator cards for that pillar — do not produce a full pre-assessment first. The pre-assessment in Step 2 is for when the facilitator wants a comprehensive preparation pass, not when they ask for specific pillar cards.

For each WA question in scope, produce a Facilitator Card with this structure:

### {QUESTION_ID}: {Question title}
**Pillar**: {pillar} | **Best Practices**: {count}

#### Opening question (conversational — never read the WA tool verbatim)
{A plain-language version of the WA question, tailored to the workload type. Use the customer's terminology, reference their specific services/stack.}

#### Probing follow-ups
{3-5 follow-up questions that dig deeper based on common gaps. Each targets a specific best practice without naming the BP ID.}

#### Things to look out for 🚩
{Red flags in the customer's answers that suggest risk. Concrete signals, not abstract principles.}

#### What "good" sounds like ✅
{1-2 sentences describing what a strong answer looks like for this workload type.}

#### Workload-specific angle
{How this question manifests differently for the specific workload type — e.g., for a SaaS multi-tenant app, isolation is a bigger deal than for an internal tool.}

#### Notes for the facilitator
{Tips on conversation flow: when to dig deeper, when to move on, how to handle pushback or "maybe" answers.}

Progressive generation (only when user asks for MULTIPLE pillars): If the facilitator requested multiple pillars, generate cards ONE PILLAR AT A TIME. After each pillar, offer an approval checkpoint (via AskUserQuestion if available, otherwise a plain text prompt):

  • Yes, continue — cards look good, generate the next pillar
  • Needs edits — adjust specific cards before continuing
  • Skip pillar — exclude this pillar from the session prep
  • Deeper — regenerate with more depth on specific BPs

Single-pillar requests: When the facilitator asks for cards for ONE specific pillar (e.g., "Help me prepare the Security pillar questions"), produce the full pillar's cards in one response. Do NOT ask for approval — deliver the complete output.

---STOP--- Do NOT generate all pillars at once when multiple are requested. Wait for approval between pillars.

Step 5: Load reference material for depth

When generating facilitator cards, load reference files from the aws-well-architected-framework-review skill to ground your questions in actual best practices. This skill does NOT bundle its own references — it reads from the shared corpus.

Reference loading strategy:

  • Load skills/aws-well-architected-framework-review/references/pillars/{pillar-slug}.md for each pillar you need — one pillar file contains every question and every best practice for that pillar (OPS, SEC, REL, PERF, COST, SUS)
  • Use the best practices, anti-patterns, and implementation guidance to craft SPECIFIC probing questions (not generic ones)
  • The facilitator card should reflect BP-level depth without exposing BP IDs to the customer

If a lens applies to the workload, also load skills/aws-well-architected-framework-review/references/lenses/{lens}/ files for lens-specific questions.

Step 6: Handle "during the session" requests

The facilitator may come back mid-session asking:

  • "The customer said X about {topic} — what should I probe next?" → Generate 3-5 targeted follow-ups based on what the answer reveals vs. what best practices expect.
  • "They said they don't do Y — how big a deal is it?" → Assess risk level (High/Medium/Low) with a brief explanation of blast radius and likelihood.
  • "We're running out of time — which remaining questions matter most for this workload?" → Prioritize remaining questions by relevance to the workload type and known concerns.
  • "They gave a vague answer on {question} — help me get a concrete answer." → Rephrase with specific, falsifiable questions (e.g., "Can you show me the runbook?" not "Do you have runbooks?").

Step 7: Post-session summary

After the review session, if asked, generate a Facilitator Debrief:

## WAFR Debrief: {workload_name}

### Key findings (by severity)
🔴 High Risk:
- {finding with context}

🟡 Medium Risk:
- {finding with context}

🟢 Well-implemented:
- {positive finding — what they're doing right}

### Answers that need verification
- {Things the customer said "yes" to that the facilitator should verify with evidence}

### Suggested improvement plan order
1. {highest-impact, lowest-effort first}
2. ...

### Questions that were skipped or need a follow-up session
- {list with reason}

Constraints

  • Never generate material that reads like a compliance checklist. Every question must sound like a human having a conversation.
  • Adapt language to the workload. A gaming company and a financial services firm need different vocabularies.
  • Acknowledge trade-offs. If a finding in one pillar conflicts with another (e.g., cost vs. reliability), say so.
  • Don't invent findings. Only flag things that relate to actual WA best practices.
  • Be honest about "Cannot Determine." If the facilitator hasn't gathered enough information, say what's still needed rather than guessing.
  • Progressive disclosure. Start with the opening question, go deeper only if the answer reveals gaps.
  • Respect time. If the facilitator says they have 30 minutes for Security, help them prioritize the 3-4 most important questions for the workload rather than rushing all 10.
<!-- Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: MIT-0 -->

FAQ

What does the wafr-facilitator skill do?

Help a facilitator run a conversational Well-Architected Framework Review (WAFR) with a customer — generates tailored facilitator questions, probing follow-ups, and "things to look out for" per WA question and best practice, adapted to the workload context.

How do I install wafr-facilitator?

Run npx skills add https://github.com/aws-samples/sample-well-architected-skills-and-steering --skill wafr-facilitator in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/wafr-facilitator/ (personal) or .claude/skills/wafr-facilitator/ (project).

Which AI agents can use wafr-facilitator?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is wafr-facilitator safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains wafr-facilitator?

It is published by aws-samples in aws-samples/sample-well-architected-skills-and-steering. It has 308 recorded installs.

More from aws-samples/sample-well-architected-skills-and-steering

View all →

migration-readiness

aws-samples/sample-well-architected-skills-and-steering

Assess a workload's readiness to migrate to AWS by analyzing existing code, dependencies, configurations, and infrastructure to produce evidence-backed findings covering the 7 Rs, risks, and a migration plan.

wa-review

aws-samples/sample-well-architected-skills-and-steering

Open the skill to read its SKILL.md instructions.

wa-guardrails

aws-samples/sample-well-architected-skills-and-steering

Open the skill to read its SKILL.md instructions.

DevOps & Cloud359 installs

aws-well-architected-framework-review

aws-samples/sample-well-architected-skills-and-steering

Perform a full AWS Well-Architected Framework review evaluating all 57 questions across 6 pillars by analyzing code, IaC, and configurations to produce evidence-backed findings with Eisenhower-prioritized remediation.

DevOps & Cloud314 installs

wa-builder

aws-samples/sample-well-architected-skills-and-steering

"Learn then Build" — help developers understand AWS Well-Architected best practices for their specific workload, then produce actionable visual artifacts (architecture diagrams with WA annotations, decision trees, improvement roadmaps) they can commit and use. Adapts explanations for beginners and generates artifacts faster for experienced builders. Use when the user wants to understand WA for their project, create architecture diagrams with pillar health overlays, get guided decision flows for architectural choices, or generate a visual improvement roadmap.

architecture-decision-record

aws-samples/sample-well-architected-skills-and-steering

Create or revise Architecture Decision Records by analyzing the codebase to understand current state, affected code paths, constraints from existing patterns, and trade-offs grounded in implementation reality.

Popular devops & cloud skills

View category →

microsoft-foundry

microsoft/azure-skills

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure

OfficialDevOps & Cloud579.1K installs

azure-diagnostics

microsoft/azure-skills

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.

OfficialDevOps & Cloud569.8K installs

azure-prepare

microsoft/azure-skills

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

OfficialDevOps & Cloud569K installs

azure-ai

microsoft/azure-skills

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

OfficialDevOps & Cloud568.8K installs

azure-deploy

microsoft/azure-skills

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.

OfficialDevOps & Cloud568.6K installs

azure-validate

microsoft/azure-skills

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.

OfficialDevOps & Cloud568K installs