.github/skills/azure-caf-sync/SKILL.md
Fetch the latest CAF abbreviations page from Microsoft Learn and compare against resourceDefinition.json official.slug values. Reports drift where the provider's slug differs from the official CAF slug. Triggers on: weekly scheduled audit, manual sync check.
npx skillsauth add aztfmod/terraform-provider-azurecaf azure-caf-syncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use Microsoft Docs MCP tools (microsoft_docs_fetch) to fetch the latest version:
URL: https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-abbreviations
Extract all rows from the abbreviation table: resource name, abbreviation (slug), resource provider namespace.
python3 -c "
import json
with open('resourceDefinition.json') as f:
resources = json.load(f)
for r in resources:
official = r.get('official', {})
ns = official.get('resource_provider_namespace', '')
official_slug = official.get('slug', '')
print(f'{r[\"name\"]}|{r[\"slug\"]}|{official_slug}|{ns}')
" > /tmp/caf-current.txt
For each resource in the provider that has an official.resource_provider_namespace:
slug against the official CAF abbreviation## CAF Slug Drift Report
### Mismatches (<count>)
| Resource | Provider Slug | Official CAF Slug | Namespace |
|----------|--------------|-------------------|-----------|
| <name> | <current> | <official> | <ns> |
### New in CAF (not in provider) (<count>)
| Resource | CAF Slug | Namespace |
|----------|----------|-----------|
| <name> | <slug> | <ns> |
### Summary
- Resources checked: <count>
- Matches: <count>
- Mismatches: <count>
- New resources in CAF: <count>
development
Analyze test failure output to identify root cause and suggest fixes. Use when build or test failures occur. Triggers on: test failures, build errors, CI failures.
development
Validate a resource definition end-to-end using terraform test with mock_provider azurerm. Proves the CAF-generated name is accepted by the azurerm provider schema without Azure credentials. Use after provider-build-test succeeds to run the mocked azurerm integration test.
documentation
Analyze changes since the last release tag and determine the appropriate semantic version bump (patch/minor/major) based on CHANGELOG entries and commit types. Triggers on: release preparation, version planning.
testing
Compare two versions of resourceDefinition.json (e.g., branch vs main) and produce a structured change summary. Triggers on: PR review, audit, before/after comparison.