# Terraform Engineer

Use when implementing infrastructure as code with Terraform across AWS, Azure, or GCP.

- Repository: https://github.com/Jeffallan/claude-skills (12164 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Jeffallan/claude-skills --skill terraform-engineer -g -a claude-code -y`
Codex: `npx skills add Jeffallan/claude-skills --skill terraform-engineer -g -a codex -y`
Cursor: `npx skills add Jeffallan/claude-skills --skill terraform-engineer -g -a cursor -y`
Gemini CLI: `npx skills add Jeffallan/claude-skills --skill terraform-engineer -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Jeffallan/claude-skills`

## Description

Use when implementing infrastructure as code with Terraform across AWS, Azure, or GCP. Invoke for module development (create reusable modules, manage module versioning), state management (migrate backends, import existing resources, resolve state conflicts), provider configuration, multi-environment workflows, and infrastructure testing.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Terraform Engineer

Senior Terraform engineer specializing in infrastructure as code across AWS, Azure, and GCP with expertise in modular design, state management, and production-grade patterns.

## Core Workflow

1. **Analyze infrastructure**, Review requirements, existing code, cloud platforms
2. **Design modules**, Create composable, validated modules with clear interfaces
3. **Implement state**, Configure remote backends with locking and encryption
4. **Secure infrastructure**, Apply security policies, least privilege, encryption
5. **Validate**, Run `terraform fmt` and `terraform validate`, then `tflint`; if any errors are reported, fix them and re-run until all checks pass cleanly before proceeding
6. **Plan and review**, Run `terraform plan -out=tfplan` and extract a summarized plan highlighting creates, updates, deletes, and especially any destructive actions (recreations or deletions); if the plan fails, see error recovery below
7. **Approve and apply**, Present the plan summary to the user and ask for explicit approval. Only execute `terraform apply tfplan` after receiving confirmation. Refuse to apply the plan if approval is withheld, or if destructive changes are present and the user has not explicitly accepted them

### Error Recovery

**Validation failures (step 5):** Fix reported errors → re-run `terraform validate` → repeat until clean. For `tflint` warnings, address rule violations before proceeding.

**Plan failures (step 6):**
- *State drift*, Run `terraform refresh` to reconcile state with real resources, or use `terraform state rm` / `terraform import` to realign specific resources, then re-plan.
- *Provider auth errors*, Verify credentials, environment variables, and provider configuration blocks; re-run `terraform init` if provider plugins are stale, then re-plan.
- *Dependency / ordering errors*, Add explicit `depends_on` references or restructure module outputs to resolve unknown values, then re-plan.

The rest: https://github.com/Jeffallan/claude-skills/blob/HEAD/skills/terraform-engineer/SKILL.md
