.github/skills/pr-compliance-check/SKILL.md
Validate a pull request against the project's contribution checklist. Checks that resourceDefinition.json changes trigger models_generated.go regeneration, README is updated, CHANGELOG is updated, and tests pass. Triggers on: PR opened, PR updated.
npx skillsauth add aztfmod/terraform-provider-azurecaf pr-compliance-checkInstall 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.
git diff --name-only origin/main...HEAD
| Rule | Condition | Check |
|------|-----------|-------|
| Generated code fresh | resourceDefinition.json changed | models_generated.go must also be changed |
| CHANGELOG updated | Any code change | CHANGELOG.md must be modified |
| README updated | Resource added/removed | README.md must be modified |
| Tests pass | Any code change | make build must succeed |
If resourceDefinition.json is in the diff:
go generate
git diff --name-only azurecaf/models_generated.go
If there are uncommitted changes to models_generated.go, the PR has stale generated code.
If compliant:
✅ PR Compliance: PASSED
- [x] Generated code is fresh
- [x] CHANGELOG updated
- [x] README updated (if applicable)
- [x] Tests pass
If issues found:
⚠️ PR Compliance: ISSUES FOUND
- [ ] <issue description>
- [x] <passing check>
Provide specific remediation steps for each failing check.
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.