# Azure Naming Research

> Research Azure naming constraints and CAF abbreviations for a given resource type. Use when you need to look up the official CAF slug, naming rules (length, scope, valid characters), and derive validation/cleaning regex patterns for an Azure resource. Triggers on: CAF abbreviation lookup, Azure naming rules research, resource naming constraints.

- Skill: `azure/azure-naming-research` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add azure/azure-naming-research`
- Raw SKILL.md: https://api.skillmd.com/api/skills/azure/azure-naming-research/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: Azure (https://skillmd.com/u/azure)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/azure/azure-naming-research

---


# Azure Naming Research

## Procedure

### 1. Look up CAF abbreviation

Query the CAF abbreviations page for the official slug and resource provider namespace:

**URL**: `https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-abbreviations`

Prefer Microsoft Docs MCP tools (`microsoft_docs_search`, `microsoft_docs_fetch`) when available.

Search by:
1. Terraform resource name without `azurerm_` prefix (e.g., "container app")
2. Resource provider namespace if known
3. Common name (e.g., "Container Apps")

Extract: **CAF abbreviation** (slug), **resource display name**, **resource provider namespace**.

If not found, the resource is out-of-doc — set `"out_of_doc": true` in the JSON entry and omit `official.slug` and `official.resource_provider_namespace`.

### 2. Look up Azure naming rules

Query the naming rules page for constraints:

**URL**: `https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules`

Find the section matching the resource provider namespace from step 1. Extract: **scope**, **length** (min-max), **valid characters**.

### 3. Derive field values

See [references/regex-patterns.md](references/regex-patterns.md) for the regex conversion tables.

- **scope** mapping: "globally unique"→`"global"`, "resource group"→`"resourceGroup"`, "within parent"→`"parent"`, "subscription"→`"subscription"`
- **dashes**: `true` if hyphens allowed
- **lowercase**: `true` if only lowercase letters allowed
- **validation_regex** and **regex**: Use the pattern tables in the reference file. Both MUST use escaped double quotes: `"\"pattern\""`

Never guess at constraints — mark as UNKNOWN if not verifiable.

