Use when managing Terraform state files, remote backends, and state locking for infrastructure coordination.
View on GitHubTheBushidoCollective/han
jutsu-terraform
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/TheBushidoCollective/han/blob/main/jutsu/jutsu-terraform/skills/terraform-state/SKILL.md -a claude-code --skill terraform-stateInstallation paths:
.claude/skills/terraform-state/# Terraform State
Managing Terraform state files and remote backends.
## State Basics
Terraform state tracks resource mappings and metadata.
### Local State
```bash
# Default location
terraform.tfstate
terraform.tfstate.backup
```
### Remote State
```hcl
terraform {
backend "s3" {
bucket = "my-terraform-state"
key = "prod/terraform.tfstate"
region = "us-east-1"
encrypt = true
dynamodb_table = "terraform-locks"
}
}
```
## State Commands
```bash
# List resources
terraform state list
# Show resource
terraform state show aws_instance.web
# Move resource
terraform state mv aws_instance.web aws_instance.app
# Remove resource
terraform state rm aws_instance.old
# Pull state
terraform state pull > terraform.tfstate
# Push state
terraform state push terraform.tfstate
# Replace provider
terraform state replace-provider hashicorp/aws registry.terraform.io/hashicorp/aws
```
## Remote Backends
### S3 Backend
```hcl
terraform {
backend "s3" {
bucket = "terraform-state-bucket"
key = "path/to/terraform.tfstate"
region = "us-east-1"
encrypt = true
dynamodb_table = "terraform-state-lock"
# Optional: state locking
kms_key_id = "arn:aws:kms:us-east-1:123456789:key/..."
}
}
```
### Terraform Cloud
```hcl
terraform {
cloud {
organization = "my-org"
workspaces {
name = "my-workspace"
}
}
}
```
### Azure Backend
```hcl
terraform {
backend "azurerm" {
resource_group_name = "terraform-rg"
storage_account_name = "tfstate"
container_name = "tfstate"
key = "prod.terraform.tfstate"
}
}
```
## State Locking
Prevents concurrent modifications:
```hcl
# S3 + DynamoDB locking
terraform {
backend "s3" {
bucket = "my-terraform-state"
key = "terraform.tfstate"
region = "us-east-1"
dynamodb_table = "terraform-locks"
}
}
```
## Impor