Terraform AzureRM Set Diff Analyzer Skill for Claude Code: What It Does and How to Install It
Makes the agent sort a Terraform plan into order-only AzureRM diffs and real changes.
- Installs
- 8.9K
- on skills.sh
- Stars
- 40.7K
- on GitHub
- Files
- 5
- besides SKILL.md
- Updated
- Oct 2026
- last repo commit
You generate a plan with terraform plan -out and terraform show -json, and the agent runs scripts/analyze_plan.py on the JSON. The script labels each Set-type change as order-only, an actual set change, or a resource replacement. Output can be Markdown, JSON or a one-line summary, and an optional exit code reports 0 for nothing real, 1 for set changes, 2 for replacement and 3 for an error.
It needs Python 3.8 or newer. The scripts README says it uses only the standard library. Only azurerm_* resources are supported, and comparisons can be incomplete for values unknown until apply and for masked sensitive attributes.
Good for
- Teams reviewing terraform plan output for Azure resources such as Application Gateway or NSGs
- Anyone who added or removed one element and sees every element marked as changed
- People who want to filter these false-positive diffs in CI/CD
Install terraform-azurerm-set-diff-analyzer
Claude Code
- 1
Download the skill folder from https://github.com/github/awesome-copilot/tree/HEAD/skills/terraform-azurerm-set-diff-analyzer.
- 2
Put it at ~/.claude/skills/terraform-azurerm-set-diff-analyzer/ so that SKILL.md sits directly inside.
- 3
Start a new session; the skill loads when its description matches the task.
Requires Python 3.8 or newer.
The skill runs a Python script on your machine, so there is no Claude app upload route. It needs Python 3.8 or newer.
Built from the package data we hold. Not yet tested by us.
What's in the skill
When it loads
Analyze Terraform plan JSON output for AzureRM Provider to distinguish between false-positive diffs (order-only changes in Set-type attributes) and actual resource changes. Use when reviewing terraform plan output for Azure resources like Application Gateway, Load Balancer, Firewall, Front Door, NSG, and other resources with Set-type attributes that cause spurious diffs due to internal ordering changes.
Sections in SKILL.md
- When to Use
- Background
- Prerequisites
- Basic Usage
- Troubleshooting
- Detailed Documentation
Key facts
- Author
- (awesome-copilot) community collection in github/awesome-copilot; no individual author is named
- Installs on skills.sh
- 8,886 (Nov 2, 2026)
- Last repo commit
- Oct 30, 2026
- Audits on skills.sh
- Gen Agent Trust Hub: pass, Socket: pass, Snyk: pass
What it includes
terraform plan -out=plan.tfplan, then terraform show -json plan.tfplan > plan.json
These are Terraform commands run in your working directory.
Runs code ·
Generate plan JSONLabels Set-type changes as order-only, real, or replacement
Reads the plan from a file or from stdin.
Try: “Analyze plan.json and tell me which diffs are only ordering”
Runs code ·
Analyze: python scripts/analyze_plan.py plan.json--format markdown (default), json or summary
Runs code ·
Output formats--exit-code returns 0, 1, 2 or 3 for no change, set change, replacement or error
The scripts README has GitHub Actions and Azure Pipelines examples.
Runs code ·
CI gating--include, --exclude, --ignore-case, --verbose, --quiet and --attributes
--attributes points at your own attribute definition file.
Runs code ·
Filters and optionsreferences/azurerm_set_attributes.json and .md list supported resources and attributes
Read ·
Reference data
From the official docs
Permissions
Low risk
The skill runs Terraform commands and a Python script in your project and writes the plan files there. Use it on a plan you are comfortable keeping on disk.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It runs terraform plan on your configuration
SKILL.md has you run terraform plan -out=plan.tfplan and terraform show -json in your working directory, using your own Terraform setup. The steps in SKILL.md and the scripts README include no apply. Plan files can hold resource details, so keep plan.json out of version control. github.com
CI examples use third-party actions
The scripts README example posts the analysis as a pull request comment with marocchino/sticky-pull-request-comment@v2. Review any action before you add it to a pipeline. github.com
Security advisories
No published security advisories as of Nov 2, 2026.
Technical details
| Turning on read-only | No read-only switch exists. |
|---|---|
| Sign-in and keys | SKILL.md names no key. Terraform uses your own provider credentials. |
| Scopes |
|
Questions
What does the terraform-azurerm-set-diff-analyzer skill do?
It helps the agent tell false-positive diffs from real ones in a Terraform plan for the AzureRM provider. Set-type attributes are compared by position, so adding one element can make every element look changed.
How do I install it?
Use the install box at the top of this page. You also need Python 3.8 or newer and Terraform on your machine.
Does it change my infrastructure?
The skill runs terraform plan and terraform show, then analyzes the JSON with a Python script. Applying changes is not part of its steps.
Which resources are covered?
Only azurerm_* resources, and only the Set-type attributes listed in references/azurerm_set_attributes.md. The scripts README says some resources and attributes may be unsupported.
Do I need an API key?
No key is named in SKILL.md or the scripts README. Terraform itself uses whatever credentials your provider setup has.
Is it safe?
It runs Terraform commands and a Python script in your working directory, and writes plan.tfplan and plan.json there. The script imports only standard library modules and opens the plan file and attribute file. Review any plan you share, because plan files can hold your resource details.
Can I use it in CI?
Yes. The scripts README gives a GitHub Actions example that comments on a pull request, a gate using the exit code, and an Azure Pipelines example. Check the actions and tasks they use before you copy them.
Information
updated Nov 2, 2026
- Repository
- github/awesome-copilot
- Folder
skills/terraform-azurerm-set-diff-analyzer
Sources
Docs, issue trackers and discussions this page is built from.
Show all 4Hide
- terraform-azurerm-set-diff-analyzer SKILL.md · github.com
- awesome-copilot README · github.com
- scripts/README.md · github.com
- references/azurerm_set_attributes.md · github.com