Run pre-deployment validation for Azure readiness with deep checks on configuration, Bicep or Terraform infrastructure, RBAC role assignments, managed identity permissions, and prerequisites. Use when the user wants to validate an app or azure.yaml, check deployment readiness, run preflight checks, verify configuration before deploying, validate Bicep, Azure Functions, or Container Apps deployments, review role assignments and managed identity permissions, run what-if analysis, or troubleshoo...
Scanned 9/4/2026
Install to Claude Code
npx -y skills add paulasilvatech/awesome-harness-primitives --skill azure-validate --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Azure Validate?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/paulasilvatech-azure-validate)More formats (shields.io, HTML) on the badges page.
---
name: azure-validate
description: >-
Run pre-deployment validation for Azure readiness with deep checks on configuration, Bicep or
Terraform infrastructure, RBAC role assignments, managed identity permissions, and
prerequisites. Use when the user wants to validate an app or azure.yaml, check deployment
readiness, run preflight checks, verify configuration before deploying, validate Bicep, Azure
Functions, or Container Apps deployments, review role assignments and managed identity
permissions, run what-if analysis, or troubleshoot deployment errors.
license: MIT
metadata:
author: Microsoft
version: 1.2.2
---
<!-- Generated from harness/github-copilot/plugins/azure-app-lifecycle/skills/azure-validate/SKILL.md by harness/claude-code/scripts/convert_from_copilot.py. Edit the source, not this file. -->
# Azure Validate
> **AUTHORITATIVE GUIDANCE** — Follow these instructions exactly unless they contradict security policies given to you.
> **⛔ STOP — PREREQUISITE CHECK REQUIRED**
>
> Before proceeding, verify this prerequisite is met:
>
> **azure-prepare** was invoked and completed → `.azure/deployment-plan.md` exists with status `Approved` or later
>
> If the plan is missing, **STOP IMMEDIATELY** and invoke **azure-prepare** first.
>
> The complete workflow ensures success:
>
> `azure-prepare` → `azure-validate` → `azure-deploy`
## When to invoke
- Check if app is ready to deploy
- Validate azure.yaml or Bicep
- Run preflight checks
- Troubleshoot deployment errors
## Rules
1. Run after azure-prepare, before azure-deploy
2. All checks must pass—do not deploy with failures
3. ⛔ **Destructive actions require `ask_user`** — [global-rules](references/global-rules.md)
## Steps
Run the workflow script and follow its instructions. It walks you through each validation step one at a time, recording progress in `.azure/validate-status.json`. Use [references/scripts/workflow.ps1](references/scripts/workflow.ps1) on Windows or [references/scripts/workflow.sh](references/scripts/workflow.sh) on macOS/Linux.
Start by calling the script **without** the completed-step argument:
```bash
pwsh references/scripts/workflow.ps1 -WorkspacePath <workspace-path>
# macOS/Linux: bash references/scripts/workflow.sh --workspace-path <workspace-path>
```
Each run prints the next action and the value to pass next. Perform the action, then re-run with that value (`-CompletedStep <value>` for pwsh, `--completed-step <value>` for bash). Repeat until it reports the azure-validate workflow is complete.
The steps reference recipe details in [references/recipes/README.md](references/recipes/README.md) and role checks in [references/role-verification.md](references/role-verification.md).
> **⛔ VALIDATION AUTHORITY**
>
> This skill is the officially verified way to set plan status to `Validated`. You MUST follow the script's instructions to completion before setting status to `Validated`.
> Do NOT set status to `Validated` without doing so.
---
> **⚠️ NEXT STEP — DEPENDS ON USER INTENT**
>
> After ALL validations pass, check whether the user asked to deploy:
> - **If the user explicitly requested deployment**, you **MUST** invoke **azure-deploy** to execute it. Do NOT run `azd up`, `azd deploy`, or any deployment commands directly — let azure-deploy handle execution.
> - **If the user only asked to validate or prepare** (not deploy), STOP after recording proof and setting status to `Validated`. Report the validation results and do NOT invoke azure-deploy.
>
> If any validation failed, fix the issues and re-run azure-validate before proceeding.
## Output template
```markdown
## Validation result
**Status:** pass | fail | blocked
**Summary:** <one sentence covering scope and outcome>
### Details
Checks performed on configuration, infrastructure, RBAC, and identity.
### Validation
- <check performed>: <result and evidence>
```
## Quality gate
- [ ] Every reported check was actually executed.
- [ ] Failures name the exact file, resource, or role assignment.
- [ ] The output follows `## Output template` exactly.
- [ ] Every reported check was performed and its evidence is shown.
- [ ] Irreversible Azure actions were confirmed with the user first.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!