terraform-engineer

Implements Terraform infrastructure as code across AWS, Azure, and GCP with modules and state management.

3|1|Updated Apr 29, 2026
One-click install
npx skills add https://github.com/firstsun-dev/skills --skill terraform-engineer-firstsun-dev
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: terraform-engineer
Source: https://github.com/firstsun-dev/skills/tree/main/plugins/software-delivery/skills/terraform-engineer
Command: npx skills add https://github.com/firstsun-dev/skills --skill terraform-engineer-firstsun-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing production-grade Terraform configurations requires deep knowledge of module design, state management, provider authentication, and security practices across multiple cloud platforms. This Skill guides an AI agent through the full Terraform workflow so infrastructure code follows validated, secure, and maintainable patterns instead of ad-hoc snippets. ## Core Features & Use Cases - Module Development: Create reusable, versioned Terraform modules with validated inputs, documented outputs, dynamic blocks, and conditional resources. - State Management: Configure remote backends (S3 with DynamoDB locking, Azure Blob, GCS), import existing resources, migrate state, and resolve state drift or lock conflicts. - Multi-Cloud Provider Configuration: Set up AWS, Azure, and GCP providers with authentication methods, aliases for multi-account or multi-region setups, and pinned version constraints. - Testing & Validation: Apply terraform test, Terratest, TFLint, OPA/Conftest policy checks, and pre-commit hooks in CI/CD pipelines. - Use Case: You need to provision a VPC with private subnets across two AWS regions with encrypted remote state. The Skill produces the module structure, backend configuration, provider aliases, and a validation workflow before you run terraform apply. ## Quick Start Ask the agent to create a reusable Terraform module for an AWS VPC with remote S3 state, input validation, and tagged resources.

Frequently Asked Questions about terraform-engineer

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

FAQPage Schema
How do I create a reusable Terraform module?▼

Structure the module with main.tf, variables.tf, outputs.tf, and versions.tf files. Validate all inputs with validation blocks, document every variable and output, pin provider versions, and use for_each instead of count for multiple similar resources.

How do I configure remote Terraform state with locking?▼

Use an S3 backend with a DynamoDB table for state locking on AWS, Azure Blob Storage, or Google Cloud Storage, all of which support automatic locking. Enable encryption and versioning on the state bucket, and never commit state files to git.

How do I import existing cloud resources into Terraform state?▼

Run terraform import with the resource address and the cloud resource ID, for example terraform import aws_vpc.main vpc-12345678. For resources inside modules, prefix the address with the module path such as module.network.aws_vpc.main.

Does Terraform support multiple AWS accounts or regions?▼

Yes, define multiple provider blocks with alias attributes, each configured with its own region or assume_role for a different account. Reference the aliased provider on individual resources using the provider argument.

Why does terraform plan fail with state drift errors?▼

State drift occurs when real infrastructure differs from the recorded state. Run terraform refresh to reconcile state, or use terraform state rm and terraform import to realign specific resources, then re-run the plan.

What tools test Terraform code before applying?▼

Use terraform validate and terraform fmt for syntax checks, TFLint for linting, terraform test for unit and integration tests, Terratest for Go-based end-to-end tests, and OPA or Conftest for policy-as-code compliance checks.