github avatar

Terraform Azurerm Set Diff Analyzer

The terraform-azurerm-set-diff-analyzer skill identifies false-positive diffs in Terraform plans for Azure resources caused by Set-type attribute reordering, helping infrastructure engineers distinguish spurious changes from actual modifications. It solves the problem where adding or removing a single element in resources like Application Gateways, Load Balancers, and NSGs causes Terraform to report all elements as changed, making plan reviews difficult and error-prone. The skill uses Python to analyze Terraform plan JSON output and filter out order-only changes while preserving genuine resource modifications.

skills.sh installs
8.9K
GitHub stars
41K
last updated
Aug 21, 2026

Install

$ npx -y skills add github/awesome-copilot --skill terraform-azurerm-set-diff-analyzer --agent claude-code

Installs into .claude/skills of the current project.

Files

Terraform AzureRM Set Diff Analyzer

A skill to identify "false-positive diffs" in Terraform plans caused by AzureRM Provider's Set-type attributes and distinguish them from actual changes.

When to Use

  • terraform plan shows many changes, but you only added/removed a single element
  • Application Gateway, Load Balancer, NSG, etc. show "all elements changed"
  • You want to automatically filter false-positive diffs in CI/CD

Background

Terraform's Set type compares by position rather than by key, so when adding or removing elements, all elements appear as "changed". This is a general Terraform issue, but it's particularly noticeable with AzureRM resources that heavily use Set-type attributes like Application Gateway, Load Balancer, and NSG.

These "false-positive diffs" don't actually affect the resources, but they make reviewing terraform plan output difficult.

Prerequisites

  • Python 3.8+

If Python is unavailable, install via your package manager (e.g., apt install python3, brew install python3) or from python.org.

Basic Usage

Sponsors

Details

Repository
github.com/github/awesome-copilot
Categories
Backend & APIs, DevOps & CI/CD, Git & Pull Requests, AI & Agent Building, Productivity & Planning, Cloud & Infrastructure

More from github/awesome-copilot

All 318
1github avatarworkiq-copilotgithub/awesome-copilotGuides the Copilot CLI on how to use the WorkIQ CLI/MCP server to query Microsoft 365 Copilot data (emails, meetings, docs, Teams, people) for live context, sum8.8Kskills.sh installs
2trailofbits avatarcodeqltrailofbits/skillsScans a codebase for security vulnerabilities using CodeQL's interprocedural data flow and taint tracking analysis. Triggers on "run codeql", "codeql scan", "co8.8Kskills.sh installs
3alwaysmeticulous avatarmeticulous-use-session-dataalwaysmeticulous/skillsDownload and use structured Meticulous session data (user flows + network mocks) for testing code changes locally. Use when you need to understand what user int8.8Kskills.sh installs
4emblemcompany avataremblem-ai-agent-walletemblemcompany/agent-skillsConnect to EmblemVault and manage wallet-aware workflows via EmblemAI with review-first, operator-controlled actions. Supports Solana, Ethereum, Base, BSC, Poly8.8Kskills.sh installs
5crewaiinc avatarask-docscrewaiinc/skillsQuery the official CrewAI documentation for answers. Use when the user has a CrewAI question that isn't fully covered by the getting-started, design-agent, desi8.7Kskills.sh installs
6elevenlabs avatarvoice-isolatorelevenlabs/skillsRemove background noise and isolate vocals/speech from audio using ElevenLabs Voice Isolator (audio isolation) API. Use when cleaning up noisy recordings, remov8.7Kskills.sh installs