Terraform Engineer

Automate Terraform infrastructure provisioning and module orchestration across AWS, Azure, and GCP.

Updated Oct 22, 2025
One-click install
npx skills add https://github.com/franroa/chezmoi --skill terraform-engineer-franroa
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Terraform Engineer
Source: https://github.com/franroa/chezmoi/tree/main/private_dot_config/opencode/skills/terraform-engineer
Command: npx skills add https://github.com/franroa/chezmoi --skill terraform-engineer-franroa

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill enables secure, modular Terraform-based infrastructure across AWS, Azure, and GCP with versioned modules and tested configurations.

Core Features & Use Cases

  • Modules & state management: Reusable Terraform modules with remote state.
  • Providers & multi-cloud: AWS/Azure/GCP configuration and authentication.
  • Testing & validation: terraform plan, policy checks, automated tests.

Quick Start

Build a simple Terraform module with a remote backend and example usage for provisioning a storage bucket.

Frequently Asked Questions about Terraform Engineer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I provision infrastructure across multiple clouds with Terraform?

Multi-cloud provisioning with Terraform uses provider configuration for AWS, Azure, and GCP within a single codebase. Define providers, configure authentication credentials, and structure modules to abstract cloud-specific resources, enabling consistent IaC deployment across platforms.

What is remote state management and why does Terraform need locking?

Remote state stores your infrastructure metadata in centralized backends instead of locally. Locking prevents concurrent modifications when multiple team members run terraform apply simultaneously, ensuring state consistency and avoiding resource conflicts in enterprise environments.

How do I build reusable Terraform modules for infrastructure as code?

Reusable Terraform modules package resources, variables, and outputs into versioned components with documented interfaces. Use semantic versioning, input validation, consistent naming conventions, and resource tagging for cost tracking to create enterprise-grade modules deployable across projects.

Can I validate and test Terraform configurations before applying them?

Yes. Use terraform plan to preview changes, terraform validate to check syntax, and terraform fmt to enforce code standards. Policy checks and automated tests verify configurations meet governance requirements before deployment to production.

What's the best way to manage provider versions and dependencies in Terraform?

Pin provider versions explicitly in Terraform configuration files to ensure reproducible deployments and prevent breaking changes. Document version requirements in module interfaces and use version constraints to control upgrade timing across your infrastructure code.

Do I need semantic versioning and naming conventions for Terraform modules?

Yes. Semantic versioning communicates breaking changes and stability, while consistent naming conventions improve discoverability and maintainability across teams. Combined with module documentation and tagging strategies, these practices enable scalable multi-cloud governance.