Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    github

    terraform-azurerm-set-diff-analyzer

    github/terraform-azurerm-set-diff-analyzer
    DevOps
    20,589
    9 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    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...

    SKILL.md

    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

    # 1. Generate plan JSON output
    terraform plan -out=plan.tfplan
    terraform show -json plan.tfplan > plan.json
    
    # 2. Analyze
    python scripts/analyze_plan.py plan.json
    

    Troubleshooting

    • python: command not found: Use python3 instead, or install Python
    • ModuleNotFoundError: Script uses only standard library; ensure Python 3.8+

    Detailed Documentation

    • scripts/README.md - All options, output formats, exit codes, CI/CD examples
    • references/azurerm_set_attributes.md - Supported resources and attributes
    Recommended Servers
    Cloudflare Workers Observability
    Cloudflare Workers Observability
    Google Compute Engine
    Google Compute Engine
    Microsoft Learn MCP
    Microsoft Learn MCP
    Repository
    github/awesome-copilot
    Files