.github/skills/resource-diff-report/SKILL.md
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.
npx skillsauth add aztfmod/terraform-provider-azurecaf resource-diff-reportInstall 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.
Branch vs main:
git show origin/main:resourceDefinition.json > /tmp/rd-main.json
cp resourceDefinition.json /tmp/rd-branch.json
Or two arbitrary commits:
git show <commit1>:resourceDefinition.json > /tmp/rd-before.json
git show <commit2>:resourceDefinition.json > /tmp/rd-after.json
grep '"name":' /tmp/rd-main.json | sed 's/.*"name": "//;s/".*//' | sort > /tmp/rd-names-main.txt
grep '"name":' /tmp/rd-branch.json | sed 's/.*"name": "//;s/".*//' | sort > /tmp/rd-names-branch.txt
# New resources (in branch but not in main)
comm -13 /tmp/rd-names-main.txt /tmp/rd-names-branch.txt > /tmp/rd-added.txt
# Removed resources (in main but not in branch)
comm -23 /tmp/rd-names-main.txt /tmp/rd-names-branch.txt > /tmp/rd-removed.txt
# Common resources (check for field changes)
comm -12 /tmp/rd-names-main.txt /tmp/rd-names-branch.txt > /tmp/rd-common.txt
## Resource Definition Changes
### Added (<count>)
| Resource | Slug | Length | Scope |
|----------|------|--------|-------|
| <name> | <slug> | <min>-<max> | <scope> |
### Removed (<count>)
| Resource |
|----------|
| <name> |
### Modified (<count>)
| Resource | Field | Before | After |
|----------|-------|--------|-------|
| <name> | <field> | <old> | <new> |
### Summary
- Total resources: <before> → <after>
- Net change: +<added> / -<removed> / ~<modified>
rm -f /tmp/rd-*.json /tmp/rd-*.txt
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.
development
Manage resource entries in resourceDefinition.json for the terraform-provider-azurecaf naming provider. Use for lookup, comparison, formatting, and insert/update of resource naming definitions. Triggers on: resourceDefinition.json edits, resource definition lookup, JSON entry formatting, resource comparison.