From azure
Provision and sync the Azure landing zone — Management Groups, Subscriptions, Resource Groups, Azure Policy assignments, and budget alerts — from a landing-zone-design.md and naming-convention.md. Uses the Azure MCP server. Use when applying or updating the Azure cloud structure after running design-landing-zone.
How this skill is triggered — by the user, by Claude, or both
Slash command
/azure:manage-azure-landing-zoneThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Implementation
Implementation
Management Group Contributor at the Tenant Root Group (or Owner if Policy assignments need to be created)Billing Account Owner or Enrollment Account Owner (for Subscription creation via EA or MCA)Microsoft.Authorization/policyAssignments/write at the Management Group scopeApply the landing zone definition from landing-zone-design.md to Azure. Ensure that:
(Sector, Tier, Region, Tenant).This skill is idempotent: running it multiple times produces the same result.
When writing configurations or documentation, you MUST strictly adhere to the structural notation and types defined in the book. Before proceeding, read the following reference files:
references/notation.mdreferences/types.mdBefore proceeding, ask the user (or infer from context):
landing-zone-design.md. Read it first.naming-convention.md. All resource names must follow it.eu01 → westeurope).Read both input documents before proceeding.
Read landing-zone-design.md and naming-convention.md. Extract:
Validate that all names conform to the naming convention and Azure naming constraints (Management Group display name ≤ 90 chars, Subscription name ≤ 64 chars, Resource Group name ≤ 90 chars).
For each Management Group in the design:
Do not delete Management Groups not in the design without explicit user confirmation.
For each Subscription in the design:
sector, tier).For each Management Group and Subscription, apply the guardrails from the design as Azure Policy assignments:
Recommended built-in policies to assign at Management Group (Sector) level:
Require a tag and its value on resources — for each mandatory tag in the naming conventionAllowed locations — restrict resource creation to declared regionsAzure Security Benchmark (or a custom initiative) — enforce baseline security controlsTier("live") Subscription level:
Secure transfer to storage accounts should be enabledTransparent Data Encryption on SQL databases should be enabledAudit VMs that do not use managed disksPublic network access should be disabled for [resource types in scope]Tier("sandbox") — more permissive; assign only tagging and location policies.
For each assignment:
DeployIfNotExists or Modify policies.Deny or Audit mode per the design (prefer Audit first, then escalate to Deny after validation).For each Resource Group in the design (typically one per full coordinate (Sector, Tier, Region, Tenant)):
For each Subscription, configure a budget alert:
Produce a summary:
In dry-run mode, produce the report without making changes.
Produce a Markdown report named azure-landing-zone-report.md:
# Azure Landing Zone Sync Report
**Date**: [timestamp]
**Mode**: [applied / dry-run]
## Management Groups
| Name | Parent | Status |
|------|--------|--------|
| mg-platform | Tenant Root | created |
| mg-ecommerce | Tenant Root | exists |
## Subscriptions
| Name | Management Group | Status |
|------|-----------------|--------|
| sub-ecommerce-live | mg-ecommerce | created |
| sub-platform-sandbox | mg-platform | exists |
## Resource Groups
| Name | Subscription | Region | Status |
|------|-------------|--------|--------|
| rg-payments-eu01-live | sub-ecommerce-live | westeurope | created |
## Policy Assignments
| Policy | Scope | Mode | Status |
|--------|-------|------|--------|
| Require tag: mountainlab:tenant | mg-ecommerce | Deny | created |
## Budget Alerts
| Subscription | Amount | Status |
|-------------|--------|--------|
| sub-ecommerce-live | $5,000/mo | created |
## Open Items
[Subscription creation pending billing approval, policy remediation tasks, etc.]
mg-ecommerce applies to all child Subscriptions and Resource Groups. Assign at the highest applicable level.Audit mode to understand the impact. Escalate to Deny after validating that compliant resources are not blocked.This skill is grounded in Chapter 6: Infrastructure of Crafting Platforms.
npx claudepluginhub craftingplatforms/ai --plugin azureDesigns and reviews Azure management-group hierarchy, subscription placement, and resource-group boundaries for governance and landing-zone scale.
Architects enterprise Azure infrastructure from workload descriptions: landing zones, hub-spoke networks, VNets, firewalls, private endpoints, identity, security, multi-region DR. Generates Bicep or Terraform.
Expert guidance for Azure Policy development: troubleshooting non-compliance, authoring Machine Configuration packages, deploying with ARM/Bicep/Terraform, mapping CIS/NIST baselines, and querying compliance with Resource Graph. Not for Azure Blueprints, RBAC, or ARM.