{"id":"6da73329-232e-4973-8bad-7d1b852492fe","shortId":"6EqnSp","kind":"skill","title":"Terraform Azurerm Set Diff Analyzer","tagline":"Awesome Copilot skill by Github","description":"# Terraform AzureRM Set Diff Analyzer\n\nA skill to identify \"false-positive diffs\" in Terraform plans caused by AzureRM Provider's Set-type attributes and distinguish them from actual changes.\n\n## When to Use\n\n- `terraform plan` shows many changes, but you only added/removed a single element\n- Application Gateway, Load Balancer, NSG, etc. show \"all elements changed\"\n- You want to automatically filter false-positive diffs in CI/CD\n\n## Background\n\nTerraform'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.\n\nThese \"false-positive diffs\" don't actually affect the resources, but they make reviewing terraform plan output difficult.\n\n## Prerequisites\n\n- Python 3.8+\n\nIf Python is unavailable, install via your package manager (e.g., `apt install python3`, `brew install python3`) or from [python.org](https://www.python.org/downloads/).\n\n## Basic Usage\n\n```bash\n# 1. Generate plan JSON output\nterraform plan -out=plan.tfplan\nterraform show -json plan.tfplan > plan.json\n\n# 2. Analyze\npython scripts/analyze_plan.py plan.json\n```\n\n## Troubleshooting\n\n- **`python: command not found`**: Use `python3` instead, or install Python\n- **`ModuleNotFoundError`**: Script uses only standard library; ensure Python 3.8+\n\n## Detailed Documentation\n\n- [scripts/README.md](scripts/README.md) - All options, output formats, exit codes, CI/CD examples\n- [references/azurerm_set_attributes.md](references/azurerm_set_attributes.md) - Supported resources and attributes","tags":["terraform","azurerm","set","diff","analyzer","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/terraform-azurerm-set-diff-analyzer","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T13:40:15.370Z","embedding":null,"createdAt":"2026-04-18T20:25:57.117Z","updatedAt":"2026-04-22T13:40:15.370Z","lastSeenAt":"2026-04-22T13:40:15.370Z","tsv":"'/downloads/).':172 '1':176 '2':190 '3.8':150,214 'actual':40,136 'ad':92 'added/removed':53 'affect':137 'analyz':5,15,191 'appear':98 'applic':57,123 'apt':161 'attribut':35,121,232 'automat':70 'awesom':6 'azurerm':2,12,29,113 'background':78 'balanc':60,126 'bash':175 'basic':173 'brew':164 'category-awesome-copilot' 'caus':27 'chang':41,49,66,100 'ci/cd':77,225 'code':224 'command':197 'compar':83 'copilot':7 'detail':215 'diff':4,14,23,75,133 'difficult':147 'distinguish':37 'document':216 'e.g':160 'element':56,65,95,97 'ensur':212 'etc':62 'exampl':226 'exit':223 'fals':21,73,131 'false-posit':20,72,130 'filter':71 'format':222 'found':199 'gateway':58,124 'general':104 'generat':177 'github':10 'heavili':116 'identifi':19 'instal':155,162,165,204 'instead':202 'issu':106 'json':179,187 'key':89 'librari':211 'like':122 'load':59,125 'make':142 'manag':159 'mani':48 'modulenotfounderror':206 'notic':111 'nsg':61,128 'option':220 'output':146,180,221 'packag':158 'particular':110 'plan':26,46,145,178,182 'plan.json':189,194 'plan.tfplan':184,188 'posit':22,74,85,132 'prerequisit':148 'provid':30 'python':149,152,192,196,205,213 'python.org':169 'python3':163,166,201 'rather':86 'references/azurerm_set_attributes.md':227,228 'remov':94 'resourc':114,139,230 'review':143 'script':207 'scripts/analyze_plan.py':193 'scripts/readme.md':217,218 'set':3,13,33,81,119 'set-typ':32,118 'show':47,63,186 'singl':55 'skill':8,17 'source-github' 'standard':210 'support':229 'terraform':1,11,25,45,79,105,144,181,185 'troubleshoot':195 'type':34,82,120 'unavail':154 'usag':174 'use':44,117,200,208 'via':156 'want':68 'www.python.org':171 'www.python.org/downloads/).':170","prices":[{"id":"7d156041-79eb-4fc8-b831-548296e986f9","listingId":"6da73329-232e-4973-8bad-7d1b852492fe","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:25:57.117Z"}],"sources":[{"listingId":"6da73329-232e-4973-8bad-7d1b852492fe","source":"github","sourceId":"github/awesome-copilot/terraform-azurerm-set-diff-analyzer","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/terraform-azurerm-set-diff-analyzer","isPrimary":false,"firstSeenAt":"2026-04-18T21:51:26.127Z","lastSeenAt":"2026-04-22T12:52:25.110Z"},{"listingId":"6da73329-232e-4973-8bad-7d1b852492fe","source":"skills_sh","sourceId":"github/awesome-copilot/terraform-azurerm-set-diff-analyzer","sourceUrl":"https://skills.sh/github/awesome-copilot/terraform-azurerm-set-diff-analyzer","isPrimary":true,"firstSeenAt":"2026-04-18T20:25:57.117Z","lastSeenAt":"2026-04-22T13:40:15.370Z"}],"details":{"listingId":"6da73329-232e-4973-8bad-7d1b852492fe","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"terraform-azurerm-set-diff-analyzer","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/terraform-azurerm-set-diff-analyzer"},"updatedAt":"2026-04-22T13:40:15.370Z"}}