Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
laurigates avatar

Infrastructure Terraform

  • 61 installs
  • 49 repo stars
  • Updated August 4, 2026
  • laurigates/claude-plugins

Helps with ai & agent building tasks.

About

infrastructure-terraform is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • infrastructure-terraform
  • AI & Agent Building
  • AI-coding skill

Infrastructure Terraform by the numbers

  • 61 all-time installs (skills.sh)
  • Ranked #6,381 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/laurigates/claude-plugins --skill infrastructure-terraform

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs61
repo stars49
Last updatedAugust 4, 2026
Repositorylaurigates/claude-plugins

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Infrastructure Terraform

Expert knowledge for Infrastructure as Code using Terraform with focus on declarative HCL, state management, and resilient infrastructure.

When to Use This Skill

Use this skill when...Use a tfc-* sibling instead when...
Writing or modifying Terraform HCL configuration locallyInspecting Terraform Cloud run state via API (tfc-run-status)
Running terraform init/plan/apply/destroy against a backendReading TFC plan/apply log streams (tfc-run-logs)
Designing module structure, providers, or remote backendsAnalyzing structured plan JSON from a TFC run (tfc-plan-json)
Debugging local state, drift, or import workflowsListing or filtering TFC run history (tfc-list-runs, tfc-workspace-runs)

Core Expertise

Terraform & IaC

  • Declarative Infrastructure: Clean, modular, and reusable HCL code
  • State Management: Protecting and managing Terraform state with remote backends
  • Providers & Modules: Leveraging community and custom providers/modules
  • Execution Lifecycle: Mastering the plan -> review -> apply workflow

Infrastructure Provisioning Process

1. Plan First: Always generate terraform plan and review carefully before changes 2. Modularize: Break down infrastructure into reusable and composable modules 3. Secure State: Use remote backends with locking to protect state file 4. Parameterize: Use variables and outputs for flexible and configurable infrastructure 5. Destroy with Caution: Double-check plan before running terraform destroy

Essential Commands

# Core workflow
terraform init                   # Initialize working directory
terraform plan                   # Generate execution plan
terraform apply                  # Apply changes
terraform destroy               # Destroy infrastructure

# State management
terraform state list            # List all resources
terraform state show <resource> # Show specific resource
terraform state pull > backup.tfstate  # Backup state

# Validation and formatting
terraform validate              # Validate configuration
terraform fmt -recursive        # Format all files recursively
terraform fmt path/to/dir       # Format specific directory
terraform graph | dot -Tsvg > graph.svg  # Dependency graph

# Working with directories (use -chdir to stay in repo root)
terraform -chdir=gcp fmt        # Format files in gcp/ directory
terraform -chdir=gcp validate   # Validate gcp/ configuration
terraform -chdir=gcp plan       # Plan from specific directory
terraform -chdir=modules/vpc init  # Init module directory

# Debugging
export TF_LOG=DEBUG             # Enable debug logging
terraform plan -out=tfplan      # Save plan for review
terraform show tfplan           # View saved plan

Best Practices

Module Structure

module "vpc" {
  source  = "./modules/vpc"
  version = "1.0.0"

  vpc_cidr = var.vpc_cidr
  environment = var.environment
}

output "vpc_id" {
  value = module.vpc.vpc_id
}

Variable Configuration

variable "environment" {
  description = "Environment name"
  type        = string
  validation {
    condition     = contains(["dev", "staging", "prod"], var.environment)
    error_message = "Environment must be dev, staging, or prod."
  }
}

Remote State Backend

terraform {
  backend "s3" {
    bucket         = "my-terraform-state"
    key            = "prod/terraform.tfstate"
    region         = "us-east-1"
    encrypt        = true
    dynamodb_table = "terraform-locks"
  }
}

Provider Configuration

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
  required_version = ">= 1.5"
}

Key Debugging Techniques

State Debugging

# State inspection
terraform state list
terraform state show aws_instance.web

# State recovery
terraform refresh
terraform plan -refresh-only
terraform import aws_instance.existing i-1234567890

Error Resolution

# Provider errors
terraform init -upgrade
terraform init -reconfigure

# Resource conflicts
terraform taint aws_instance.broken
terraform apply -target=aws_instance.web

Agentic Optimizations

ContextCommand
Format directoryterraform -chdir=path/to/dir fmt
Check format (CI)terraform fmt -check -recursive
Validate configterraform -chdir=path/to/dir validate
Compact planterraform plan -compact-warnings
JSON plan outputterraform plan -out=plan.tfplan && terraform show -json plan.tfplan
List resourcesterraform state list

Quick Reference

FlagDescription
-chdir=DIRChange to DIR before running command
-recursiveProcess directories recursively
-checkCheck formatting without changes (CI)
-compact-warningsShow warnings in compact form
-jsonOutput in JSON format
-out=FILESave plan to file
-target=RESOURCETarget specific resource
-refresh-onlyOnly refresh state, no changes

For detailed debugging patterns, advanced module design, CI/CD integration, and troubleshooting strategies, see REFERENCE.md.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.