Azure Tenant Assessment
This skill provides the entry-point workflow for any new Azure engagement — surveying the tenant, cataloging resources, snapshotting security posture, and recommending the right plugins from this marketplace.
Integration Context Contract
Canonical contract: docs/integration-context.md
| Workflow |
tenantId |
subscriptionId |
environmentCloud |
principalType |
scopesOrRoles |
| List subscriptions |
required |
not required |
AzureCloud* |
delegated-user or service-principal |
Azure Reader on any subscription |
| List resource groups + resources |
required |
required |
AzureCloud* |
delegated-user or service-principal |
Azure Reader at subscription scope |
| Cost overview (optional) |
required |
required |
AzureCloud* |
delegated-user or service-principal |
CostManagement.Read + Azure Reader |
| Security snapshot (optional) |
required |
required |
AzureCloud* |
delegated-user or service-principal |
SecurityCenter.Read + Azure Reader |
* Use sovereign cloud values (AzureUSGovernment, AzureChinaCloud) when applicable.
Fail fast before API calls when required context is missing. Redact tenant/subscription/object IDs in all outputs.
MCP Tool Detection
Before attempting live assessment, detect whether microsoft-azure-mcp MCP tools are available:
- Attempt to call
azure_list_subscriptions with no parameters.
- If the call succeeds → live mode: proceed with full MCP-based assessment.
- If the call fails with "unknown tool" or similar → guided mode: switch to the fallback guided checklist.
Never assume MCP availability. Always detect and adapt.
Assessment Methodology
Execute in this order for live mode:
- Subscriptions — Call
azure_list_subscriptions. Collect: subscriptionId, displayName, state, tenantId.
- Resource Groups — For each subscription, call
azure_list_resource_groups. Collect: name, location, provisioningState, resource count (from resources step).
- Resources — For each subscription, call
azure_list_resources. For --depth full: also call per-RG for completeness. Collect: name, type, location, resourceGroup.
- Taxonomy — Normalize resource types (title case), group by type, count occurrences, extract ARM namespace prefixes.
- Tenant Profile — Classify as compute-heavy / data-heavy / networking-heavy / security-focused / mixed per
references/plugin-capability-matrix.md.
- Plugin Mapping — Map discovered ARM prefixes to plugins using the capability matrix; add baseline always-recommend plugins.
- Report — Write markdown report and print to screen.
For --depth quick: skip per-RG resource calls; use subscription-level resource list only.
Assessment Report Format
Save report as azure-assessment-YYYY-MM-DD.md where YYYY-MM-DD is today's date.
# Azure Tenant Assessment
**Date**: YYYY-MM-DD
**Tenant**: xxxx...yyyy
**Assessed by**: azure-tenant-assessment v1.0.0
**Mode**: Live (microsoft-azure-mcp) | Guided
---
## Executive Summary
| Item | Value |
|---|---|
| Subscriptions | N |
| Resource Groups | N |
| Total Resources | N |
| Regions | N |
| Tenant Profile | compute-heavy / data-heavy / networking-heavy / mixed |
| Assessment Mode | Live / Guided |
<2–3 sentence narrative summary of what was found.>
---
## Subscription Inventory
| Subscription | ID (redacted) | State | Resource Groups |
|---|---|---|---|
| Name | xxxx...yyyy | Enabled | N |
---
## Resource Catalog
| Resource Type | Count | Recommended Plugin(s) |
|---|---|---|
| Microsoft.Compute/virtualMachines | N | azure-containers |
| ... | | |
---
## Resource Distribution
### By Region
| Region | Resources |
|---|---|
| eastus | N |
### Top Resource Groups
| Resource Group | Subscription | Resources |
|---|---|---|
| rg-production | xxxx...yyyy | N |
---
## Security Posture Summary
| Check | Status | Notes |
|---|---|---|
| Key Vault present | Yes / No / Unknown | |
| Monitoring/Insights resources | Yes / No / Unknown | |
| Policy resources | Yes / No / Unknown | |
| Entra ID coverage | Assumed / Confirmed | |
---
## Recommended Plugins
| Priority | Plugin | Why | Install |
|---|---|---|---|
| Tier 1 | azure-storage | 12 storage accounts found | `/plugin install azure-storage@claude-m-microsoft-marketplace` |
| Tier 2 | azure-cost-governance | Baseline — every tenant | `/plugin install azure-cost-governance@claude-m-microsoft-marketplace` |
---
## Next Steps
1. Run `/azure-tenant-plugin-setup` to install recommended plugins
2. Run `azure-cost-governance` cost query for spend baseline
3. Run `azure-policy-security` policy compliance check
4. Review security posture gaps noted above
Plugin Capability Matrix Reference
Full resource type → plugin mapping: references/plugin-capability-matrix.md
Always include the four baseline plugins regardless of what resources are found:
microsoft-azure-mcp (unless already installed)
azure-cost-governance
azure-policy-security
entra-id-security
Fallback Guided Checklist
When MCP tools are not available, ask the user the following structured questions:
- Subscription count: How many Azure subscriptions does this tenant have?
- Resource types: Which of the following resource categories are present? (Compute/VMs, Containers, Web Apps, Storage, Databases, Networking, Key Vaults, Monitoring, Fabric/Analytics, DevOps)
- Estimated resources: Roughly how many total resources are deployed? (<100 / 100–500 / 500–2000 / 2000+)
- Primary regions: Which Azure regions are primarily used?
- Cloud environment: AzureCloud (global) / AzureUSGovernment / AzureChinaCloud
Build the report from these answers using the same format as live mode. Mark the report **Mode**: Guided and note that counts are estimates.
Reference Files
| File |
Purpose |
references/plugin-capability-matrix.md |
ARM resource type → plugin mapping table |
references/operational-knowledge.md |
ARM API endpoints, pagination, prerequisites, failure modes |
commands/azure-tenant-setup.md |
Auth and MCP connectivity validation |
commands/azure-tenant-assess.md |
Full assessment execution |
commands/azure-tenant-plugin-setup.md |
Plugin recommendation and installation |
agents/azure-tenant-assessment-reviewer.md |
Post-assessment report review |
Progressive Disclosure — Reference Files
| Topic |
File |
| ARM API endpoints, pagination, prerequisites, failure modes |
references/operational-knowledge.md |
| ARM resource type to plugin mapping table |
references/plugin-capability-matrix.md |
| Composite health scoring across identity, security, compliance, collaboration, governance |
references/tenant-health-scoring.md |
| CIS M365 Benchmark gap checks, NIST CSF and ISO 27001 mapping, priority matrix |
references/compliance-gaps.md |
| 30/60/90-day remediation phases, rollback procedures, stakeholder templates, re-assessment |
references/remediation-roadmap.md |
1---2name: azure-tenant-assessment3description: Deep expertise in running an initial Azure tenant assessment - subscription inventory, resource catalog, security posture snapshot, cost overview, and plugin setup recommendations via ARM REST API and microsoft-azure-mcp tools. Acts as the entry point for any new Azure engagement, surveying the tenant and mapping discovered resource types to the right plugins.4---56# Azure Tenant Assessment78This skill provides the entry-point workflow for any new Azure engagement — surveying the tenant, cataloging resources, snapshotting security posture, and recommending the right plugins from this marketplace.910## Integration Context Contract1112Canonical contract: [`docs/integration-context.md`](../../../docs/integration-context.md)1314| Workflow | tenantId | subscriptionId | environmentCloud | principalType | scopesOrRoles |15|---|---|---|---|---|---|16| List subscriptions | required | not required | `AzureCloud`* | `delegated-user` or `service-principal` | Azure `Reader` on any subscription |17| List resource groups + resources | required | required | `AzureCloud`* | `delegated-user` or `service-principal` | Azure `Reader` at subscription scope |18| Cost overview (optional) | required | required | `AzureCloud`* | `delegated-user` or `service-principal` | `CostManagement.Read` + Azure `Reader` |19| Security snapshot (optional) | required | required | `AzureCloud`* | `delegated-user` or `service-principal` | `SecurityCenter.Read` + Azure `Reader` |2021\* Use sovereign cloud values (`AzureUSGovernment`, `AzureChinaCloud`) when applicable.2223Fail fast before API calls when required context is missing. Redact tenant/subscription/object IDs in all outputs.2425## MCP Tool Detection2627Before attempting live assessment, detect whether `microsoft-azure-mcp` MCP tools are available:28291. Attempt to call `azure_list_subscriptions` with no parameters.302. If the call succeeds → **live mode**: proceed with full MCP-based assessment.313. If the call fails with "unknown tool" or similar → **guided mode**: switch to the fallback guided checklist.3233Never assume MCP availability. Always detect and adapt.3435## Assessment Methodology3637Execute in this order for live mode:38391. **Subscriptions** — Call `azure_list_subscriptions`. Collect: `subscriptionId`, `displayName`, `state`, `tenantId`.402. **Resource Groups** — For each subscription, call `azure_list_resource_groups`. Collect: `name`, `location`, `provisioningState`, resource count (from resources step).413. **Resources** — For each subscription, call `azure_list_resources`. For `--depth full`: also call per-RG for completeness. Collect: `name`, `type`, `location`, `resourceGroup`.424. **Taxonomy** — Normalize resource types (title case), group by type, count occurrences, extract ARM namespace prefixes.435. **Tenant Profile** — Classify as compute-heavy / data-heavy / networking-heavy / security-focused / mixed per `references/plugin-capability-matrix.md`.446. **Plugin Mapping** — Map discovered ARM prefixes to plugins using the capability matrix; add baseline always-recommend plugins.457. **Report** — Write markdown report and print to screen.4647For `--depth quick`: skip per-RG resource calls; use subscription-level resource list only.4849## Assessment Report Format5051Save report as `azure-assessment-YYYY-MM-DD.md` where YYYY-MM-DD is today's date.5253```markdown54# Azure Tenant Assessment55**Date**: YYYY-MM-DD56**Tenant**: xxxx...yyyy57**Assessed by**: azure-tenant-assessment v1.0.058**Mode**: Live (microsoft-azure-mcp) | Guided5960---6162## Executive Summary6364| Item | Value |65|---|---|66| Subscriptions | N |67| Resource Groups | N |68| Total Resources | N |69| Regions | N |70| Tenant Profile | compute-heavy / data-heavy / networking-heavy / mixed |71| Assessment Mode | Live / Guided |7273<2–3 sentence narrative summary of what was found.>7475---7677## Subscription Inventory7879| Subscription | ID (redacted) | State | Resource Groups |80|---|---|---|---|81| Name | xxxx...yyyy | Enabled | N |8283---8485## Resource Catalog8687| Resource Type | Count | Recommended Plugin(s) |88|---|---|---|89| Microsoft.Compute/virtualMachines | N | azure-containers |90| ... | | |9192---9394## Resource Distribution9596### By Region97| Region | Resources |98|---|---|99| eastus | N |100101### Top Resource Groups102| Resource Group | Subscription | Resources |103|---|---|---|104| rg-production | xxxx...yyyy | N |105106---107108## Security Posture Summary109110| Check | Status | Notes |111|---|---|---|112| Key Vault present | Yes / No / Unknown | |113| Monitoring/Insights resources | Yes / No / Unknown | |114| Policy resources | Yes / No / Unknown | |115| Entra ID coverage | Assumed / Confirmed | |116117---118119## Recommended Plugins120121| Priority | Plugin | Why | Install |122|---|---|---|---|123| Tier 1 | azure-storage | 12 storage accounts found | `/plugin install azure-storage@claude-m-microsoft-marketplace` |124| Tier 2 | azure-cost-governance | Baseline — every tenant | `/plugin install azure-cost-governance@claude-m-microsoft-marketplace` |125126---127128## Next Steps1291301. Run `/azure-tenant-plugin-setup` to install recommended plugins1312. Run `azure-cost-governance` cost query for spend baseline1323. Run `azure-policy-security` policy compliance check1334. Review security posture gaps noted above134```135136## Plugin Capability Matrix Reference137138Full resource type → plugin mapping: [`references/plugin-capability-matrix.md`](./references/plugin-capability-matrix.md)139140Always include the four baseline plugins regardless of what resources are found:141- `microsoft-azure-mcp` (unless already installed)142- `azure-cost-governance`143- `azure-policy-security`144- `entra-id-security`145146## Fallback Guided Checklist147148When MCP tools are not available, ask the user the following structured questions:1491501. **Subscription count**: How many Azure subscriptions does this tenant have?1512. **Resource types**: Which of the following resource categories are present? (Compute/VMs, Containers, Web Apps, Storage, Databases, Networking, Key Vaults, Monitoring, Fabric/Analytics, DevOps)1523. **Estimated resources**: Roughly how many total resources are deployed? (<100 / 100–500 / 500–2000 / 2000+)1534. **Primary regions**: Which Azure regions are primarily used?1545. **Cloud environment**: AzureCloud (global) / AzureUSGovernment / AzureChinaCloud155156Build the report from these answers using the same format as live mode. Mark the report `**Mode**: Guided` and note that counts are estimates.157158## Reference Files159160| File | Purpose |161|---|---|162| `references/plugin-capability-matrix.md` | ARM resource type → plugin mapping table |163| `references/operational-knowledge.md` | ARM API endpoints, pagination, prerequisites, failure modes |164| `commands/azure-tenant-setup.md` | Auth and MCP connectivity validation |165| `commands/azure-tenant-assess.md` | Full assessment execution |166| `commands/azure-tenant-plugin-setup.md` | Plugin recommendation and installation |167| `agents/azure-tenant-assessment-reviewer.md` | Post-assessment report review |168169## Progressive Disclosure — Reference Files170171| Topic | File |172|---|---|173| ARM API endpoints, pagination, prerequisites, failure modes | [`references/operational-knowledge.md`](./references/operational-knowledge.md) |174| ARM resource type to plugin mapping table | [`references/plugin-capability-matrix.md`](./references/plugin-capability-matrix.md) |175| Composite health scoring across identity, security, compliance, collaboration, governance | [`references/tenant-health-scoring.md`](./references/tenant-health-scoring.md) |176| CIS M365 Benchmark gap checks, NIST CSF and ISO 27001 mapping, priority matrix | [`references/compliance-gaps.md`](./references/compliance-gaps.md) |177| 30/60/90-day remediation phases, rollback procedures, stakeholder templates, re-assessment | [`references/remediation-roadmap.md`](./references/remediation-roadmap.md) |