Terraform Skill
Terraform & OpenTofu Skill for AI Agents
Скилл лучших практик Terraform и OpenTofu: тесты, модули, state, CI/CD и проверки безопасности для AWS, Azure и GCP
Установка
npx skills add https://github.com/antonbabenko/terraform-skillДля любых агентов с поддержкой Agent Skills
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл учит агента писать и проверять инфраструктурный код на Terraform и OpenTofu. Он содержит матрицу выбора между нативными тестами и Terratest, правила структуры и версионирования модулей, работу с удаленным state и блокировками, шаблоны GitHub Actions и GitLab CI, интеграцию Trivy и Checkov. Каждый ответ должен включать допущения по версиям, категорию риска, план проверки и заметки по откату.
Для кого. DevOps-инженеры и разработчики, которые поддерживают инфраструктуру как код.
Подходит, если
- Создаете модуль Terraform с тестами
- Настраиваете удаленный state с блокировкой и шифрованием
- Нужен CI-пайплайн для Terraform с оценкой стоимости
- Хотите ревью существующей конфигурации по лучшим практикам
Не подходит, если
- Инфраструктура описана в Pulumi, CloudFormation или Ansible
- Нужны готовые модули под Yandex Cloud: примеры для AWS, Azure и GCP
Пример запроса к агенту
Создай модуль Terraform для VPC в AWS с нативными тестамиОграничения
Примеры по умолчанию для AWS, для Azure и GCP нужно явно просить эквивалент. Не добавляйте antonbabenko/terraform-skill как отдельный маркетплейс: он конфликтует по имени с antonbabenko/agent-plugins.
Как отключить. Удалите плагин terraform-skill в агенте или папку скилла из каталога скиллов, для Gemini CLI удалите расширение.
Проверка безопасности
- Скилл состоит из markdown-инструкций и справочных файлов
Коротко о README
Скилл Антона Бабенко с практиками для Terraform и OpenTofu, совместимый с Claude Code, Cursor, Copilot, Gemini CLI, OpenCode, Codex и Kiro. README описывает разделы по тестам, модулям, state, CI/CD и безопасности. Для каждого агента есть отдельная инструкция по установке, для Kiro репозиторий также работает как Power с опциональным terraform-mcp-server. В конце приведены примеры запросов.
SKILL.md
--- name: terraform-skill description: Use when writing, reviewing, or debugging Terraform/OpenTofu modules, tests, CI, scans, or state ops - diagnoses failure mode (identity churn, secrets, blast radius, CI drift, state corruption) with version-aware guards. license: Apache-2.0 metadata: author: Anton Babenko version: 1.17.1 --- # Terraform Skill for Claude Diagnose-first guidance for Terraform and OpenTofu. Core file is a workflow; depth lives in references loaded on demand. ## Response Contract Every Terraform/OpenTofu response must include: 1. **Assumptions & version floor** — runtime (`terraform` or `tofu`), exact version, providers, state backend, execution path (local/CI/Cloud/Atlantis), environment criticality. State assumptions explicitly if the user did not provide them. 2. **Risk category addressed** — one or more of: identity churn, secret exposure, blast radius, CI drift, compliance gaps, state corruption, provider upgrade risk, testing blind spots. 3. **Chosen remediation & tradeoffs** — what was chosen, what was traded off, why. 4. **Validation plan** — exact commands (`fmt -check`, `validate`, `plan -out`, policy check) tailored to runtime and risk tier. 5. **Rollback notes** — for any destructive or state-mutating change: how to undo, what evidence to keep. Never recommend direct production apply without a reviewed plan artifact and approval. Never run `terraform destroy` (targeted or full) without first running `terraform plan -destroy` and showing the user every resource that will be deleted — including implicit dependents pulled in via locals or `for_each`. Get explicit confirmation before proceeding. Never use `-auto-approve` on destroy. ## Workflow 1. **Capture execution context** — runtime+version, provider(s), backend, execution path, environment criticality. 2. **Diagnose failure mode(s)** using the routing table below. If intent spans categories, load both references. 3. **Load only the matching reference file(s)** — do not preload depth the task does not need. 4. **Propose fix with risk controls** — why this addresses the mode, what could still go wrong, guardrails (tests/approvals/rollback). 5. **Generate artifacts** — HCL, migration blocks (`moved`, `import`), CI changes, policy rules. 6. **Validate before finalizing** — run validation commands tailored to risk tier. 7. **Emit the Response Contract** at the end. ## Diagnose Before You Generate | Failure category | Symptoms | Primary references | |------------------|----------|--------------------| | **Identity churn** | Resource addresses shift after refactor, `count` index churn, missing `moved` blocks | [Code Patterns: count vs for_each](references/code-patterns.md#count-vs-for_each-deep-dive), [Code Patterns: moved blocks](references/code-patterns.md#moved-blocks-terraform-11), [Code Patterns: LLM mistakes](references/code-patterns.md#llm-mistake-checklist--code-patterns) | | **Secret exposure** | Secrets in defaults, state, logs, CI artifacts | [Security & Compliance](references/security-compliance.md), [Code Patterns: write-only](references/code-patterns.md#write-only-arguments-terraform-111), [State Management](references/state-management.md) | | **Blast radius** | Oversized stacks, shared prod/non-prod state, unsafe applies | [State Management](references/state-management.md), [Module Patterns](references/module-patterns.md) | | **Destroy cascade** | Targeted destroy deletes more than expected; locals referencing a targeted resource make all `for_each` consumers implicit dependents | Response Contract: plan-destroy first; [State Management: Safe Destroy](references/state-management.md#safe-destroy-protocol) | | **CI drift** | Local plan ≠ CI plan, apply without reviewed artifact, unpinned versions | [CI/CD Workflows](references/ci-cd-workflows.md), [Code Patterns: versions](references/code-patterns.md#version-management) | | **Compliance gaps** | Missing policy stage, no approval model, no evidence retention | [Security & Compliance](references/security-compliance.md), [CI/CD Workflows](references/ci-cd-workflows.md) | | **Testing blind spots** | Plan-only validation of computed values, set-type indexing, mock/real confusion | [Testing Frameworks](references/testing-frameworks.md) | | **State corruption / recovery** | Stuck lock, backend migration, drift reconciliation | [State Management](references/state-management.md) | | **Provider upgrade risk** | Breaking-change provider bump, unpinned modules | [Code Patterns: versions](references/code-patterns.md#version-management), [Module Patterns](references/module-patterns.md) | | **Provider lifecycle** | Removing a provider with resources still in state, orphaned resources, `removed` block usage | [State Management: Provider Removal](references/state-management.md#provider-removal) | | **Bootstrap / orchestration misuse** | `null_resource` + `local-exec` for bootstrap, `remote-exec` for setup scripts, provisioner stdout leaking secrets in CI logs | [Code Patterns: Provisioners as Last Resort](references/code-patterns.md#provisioners-as-last-resort) | | **Navigation / safe-rename blind spots** | Cannot locate symbol defs/refs semantically, value-symbol rename done as blind text replace, grep-only refactor missing refs, hallucinated `rg` shim | [Code Intelligence](references/code-intelligence-lsp.md#terraform-ls-capability-matrix) | | **Cross-cloud / provider mapping** | "What's the Azure/GCP equivalent of X", picking a backend/auth model per cloud | [State Management: Cross-cloud equivalents](references/state-management.md#cross-cloud-equivalents) | ## When to Use This Skill **Activate when:** creating or reviewing Terraform/OpenTofu configurations or modules, setting up or debugging tests, structuring multi-environment deployments, implementing IaC CI/CD, choosing module patterns or state organization, configuring or migrating remote state backends. **Don't use for:** basic HCL syntax questions Claude already knows, provider API reference (link to docs), cloud-platform questions unrelated to Terraform/OpenTofu.
Частые вопросы
Поддерживаются ли Azure и GCP?
Да, по README все три облака равноправны, но примеры по умолчанию для AWS. Попросите эквивалент для нужного облака.
Нужен ли плагин code-intelligence?
Нет, скилл работает сам по себе. Code-intelligence рекомендуется как дополнение для навигации по коду.
Похожие
Kubernetes MCP
MCP Server Kubernetes
MCP-сервер для управления кластером Kubernetes через kubectl и Helm, с режимом без разрушающих операций
Terraform MCP
Terraform MCP Server
Официальный MCP-сервер HashiCorp для Terraform Registry и HCP Terraform: провайдеры, модули, политики и рабочие пространства
CLI для полного цикла CI/CD в Kubernetes: сборка образов, деплой через Helm и очистка container registry
Альтернатива Helm для деплоя чартов в Kubernetes с планом изменений, трекингом ресурсов и шифрованными секретами