К основному содержанию
скилл GitHub Copilot официальный · GitHub

terraform-azurerm-set-diff-analyzer — скилл для GitHub Copilot

Разбирает JSON-план Terraform для AzureRM и отделяет перестановку элементов Set от реальных изменений ресурсов. Нужен при ревью шумных diff.

Установить в GitHub Copilot · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add github/awesome-copilot --skill terraform-azurerm-set-diff-analyzer
Открыть на GitHub

Что делает terraform-azurerm-set-diff-analyzer

Скилл анализирует JSON из terraform plan для AzureRM Provider. Он отличает ложные изменения, вызванные порядком элементов в Set-атрибутах, от правок ресурса. Это упрощает ревью Application Gateway, Load Balancer, Firewall, Front Door и NSG, когда после добавления или удаления одного элемента изменённым выглядит весь набор.

Сначала создайте plan.tfplan, выгрузите его в plan.json, затем запустите python scripts/analyze_plan.py plan.json. Скрипту нужен Python 3.8+; внешние библиотеки не требуются. Скилл стоит ставить командам, которые проверяют AzureRM-планы в CI/CD, а при редких Set-атрибутах отдельный анализатор лишний.

Какие задачи решает

  • отделить перестановку Set-элементов от изменения ресурса
  • проверить шумный diff Application Gateway
  • разобрать изменения Load Balancer и NSG
  • отфильтровать ложные diff в CI/CD

Примеры запросов агенту

  • Проанализируй `plan.json` и покажи ложные diff из-за порядка элементов Set.
  • Помоги понять, какие изменения AzureRM в этом плане реальные.
  • Сгенерируй JSON-план через `terraform show -json plan.tfplan > plan.json` и проверь его.

Как установить terraform-azurerm-set-diff-analyzer

1Через Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill terraform-azurerm-set-diff-analyzer

2GitHub CLI

gh skill install github/awesome-copilot terraform-azurerm-set-diff-analyzer

3Вручную: положить файлы

.github/skills/terraform-azurerm-set-diff-analyzer/SKILL.md

Из того же набора554

Весь набор →
git-commit официальный github Скилл разбирает изменения Git, выбирает связанные файлы и создаёт коммит в формате Conventional Commits. Пригодится, когда нужно закоммитить одну или несколько логических частей изменений. GitHub Copilot 47 165установок excalidraw-diagram-generator официальный github Скилл превращает описание на обычном языке в диаграмму Excalidraw. Подойдёт, когда нужно показать процесс, связи между объектами или устройство системы. GitHub Copilot 31 639установок multi-stage-dockerfile официальный github Скилл помогает создавать многоэтапные Dockerfile для разных языков и фреймворков. Пригодится, когда важны размер и состав runtime-образа. GitHub Copilot 29 688установок documentation-writer официальный github Скилл для создания технической документации по фреймворку Diátaxis: туториалы, гайды, справки и объяснения. Предлагает структуру перед написанием. GitHub Copilot 27 757установок prd официальный github Собирает из идеи структурированный PRD с пользовательскими историями, техническими требованиями и рисками. Подходит для планирования новых функций, в том числе с AI. GitHub Copilot 24 035установок refactor официальный github Скилл помогает менять структуру кода без изменения внешнего поведения. Подойдёт для постепенной уборки сложных функций, дублирования и кодовых запахов. GitHub Copilot 22 321установок java-springboot официальный github Задаёт практики разработки Spring Boot-приложений: от структуры проекта до тестов и безопасности. Пригодится, когда Copilot пишет или проверяет Java-код. GitHub Copilot 21 272установок create-readme официальный github Скилл изучает проект и создаёт структурированный README.md. Подойдёт, когда документацию нужно собрать по коду и файлам проекта. GitHub Copilot 19 081установок

Похожие

configure официальный anthropics Настраивает подключение Claude Code к Discord, сохраняет токен бота и помогает выстроить белый список доступа. Claude Code 3 861установок wizard Matt Pocock Скилл создаёт интерактивный bash-скрипт для ручных шагов: настройки сервисов, секретов CI и разовых миграций. Claude Code 553 369установок hyperframes-cli heygen-com Управляет проектами HyperFrames через терминал: собирает таймлайн, проверяет контраст кадров, запускает предпросмотр и рендерит видео локально или в облаке. Claude Code CX Codex Cursor +1 1 200 000установок setup-pre-commit Matt Pocock Скилл настраивает pre-commit для JavaScript-репозитория: Husky запускает форматирование, проверку типов и тесты перед коммитом. Claude Code 489 289установок using-git-worktrees Jesse Vincent Готовит изолированное рабочее дерево перед доработкой или выполнением плана. Проверяет текущий репозиторий, выбирает нативные средства платформы либо Git. Claude Code CX Codex 217 153установок finishing-a-development-branch Jesse Vincent Скилл проверяет тесты и помогает выбрать, как завершить работу в ветке: слить её, открыть Pull Request или оставить как есть. Claude Code CX Codex 214 439установок orca-cli stablyai Скилл даёт агенту доступ к worktree, терминалам, артефактам и встроенному браузеру Orca через CLI. Пригодится, когда работа идёт в окружении Orca. Claude Code CX Codex Cursor +1 353 000установок

Вопросы о terraform-azurerm-set-diff-analyzer

Как установить terraform-azurerm-set-diff-analyzer в GitHub Copilot?

Выполните npx skills add github/awesome-copilot --skill terraform-azurerm-set-diff-analyzer. Также доступна команда gh skill install github/awesome-copilot terraform-azurerm-set-diff-analyzer.

Что делает terraform-azurerm-set-diff-analyzer?

Скилл читает JSON-план Terraform для AzureRM и показывает, какие diff связаны с изменением порядка в Set-атрибутах, а какие меняют ресурс.

Что нужно для анализа плана?

Нужен JSON-файл плана и Python 3.8+. Скрипт запускается как python scripts/analyze_plan.py plan.json и использует стандартную библиотеку Python.

Исходный текст

SKILL.md · MIT
---
name: terraform-azurerm-set-diff-analyzer
description: 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.
license: MIT
---

# 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](https://www.python.org/downloads/).

## Basic Usage

```bash
# 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](scripts/README.md) - All options, output formats, exit codes, CI/CD examples
- [references/azurerm_set_attributes.md](references/azurerm_set_attributes.md) - Supported resources and attributes

© github · MIT · github/awesome-copilot

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой