Back to Skills

terraform-providers

verified

Provider configuration, versioning, and multi-provider patterns

View on GitHub

Marketplace

pluginagentmarketplace-terraform

pluginagentmarketplace/custom-plugin-terraform

Plugin

terraform-assistant

Repository

pluginagentmarketplace/custom-plugin-terraform
1stars

skills/terraform-providers/SKILL.md

Last Verified

January 20, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/pluginagentmarketplace/custom-plugin-terraform/blob/main/skills/terraform-providers/SKILL.md -a claude-code --skill terraform-providers

Installation paths:

Claude
.claude/skills/terraform-providers/
Powered by add-skill CLI

Instructions

# Terraform Providers Skill

Configure and manage Terraform providers for single and multi-cloud deployments.

## Provider Requirements

```hcl
terraform {
  required_version = ">= 1.5.0"

  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 3.80"
    }
    google = {
      source  = "hashicorp/google"
      version = "~> 5.0"
    }
    kubernetes = {
      source  = "hashicorp/kubernetes"
      version = "~> 2.24"
    }
  }
}
```

## Version Constraints

```hcl
version = "5.0.0"           # Exact version
version = ">= 5.0"          # Minimum version
version = "~> 5.0"          # >= 5.0.0, < 6.0.0
version = ">= 5.0, < 6.0"   # Explicit range
version = "!= 5.1.0"        # Exclude version
```

## Provider Configuration

### AWS
```hcl
provider "aws" {
  region = var.aws_region

  default_tags {
    tags = {
      Environment = var.environment
      ManagedBy   = "Terraform"
    }
  }

  assume_role {
    role_arn     = var.assume_role_arn
    session_name = "TerraformSession"
  }
}
```

### Azure
```hcl
provider "azurerm" {
  features {
    resource_group {
      prevent_deletion_if_contains_resources = true
    }
    key_vault {
      purge_soft_delete_on_destroy = false
    }
  }

  subscription_id = var.subscription_id
  tenant_id       = var.tenant_id
}
```

### GCP
```hcl
provider "google" {
  project = var.project_id
  region  = var.region
}

provider "google-beta" {
  project = var.project_id
  region  = var.region
}
```

## Provider Aliases

### Multi-Region
```hcl
provider "aws" {
  alias  = "us_east_1"
  region = "us-east-1"
}

provider "aws" {
  alias  = "us_west_2"
  region = "us-west-2"
}

resource "aws_s3_bucket" "primary" {
  provider = aws.us_east_1
  bucket   = "${var.project}-primary"
}

resource "aws_s3_bucket" "replica" {
  provider = aws.us_west_2
  bucket   = "${var.project}-replica"
}
```

### Multi-Account
```hcl
provider "aws" {

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3253 chars