setting-up-terraform — скилл для Claude Code
Помогает агенту развернуть каркас Terraform для облака: провайдер, переменные, ресурсы, remote state и CI. Пригодится, когда проект только заходит в IaC.
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a claude-codeЧто делает setting-up-terraform
Скилл включается, когда вы просите настроить Terraform или инфраструктуру как код. Агент раскладывает каталог infra/ с main.tf, variables.tf, outputs.tf, providers.tf и папкой modules/, а terraform.tfvars держит вне git.
Дальше он прописывает providers.tf с required_version не ниже 1.5, провайдером hashicorp/aws ~> 5.0 и S3-бэкендом для состояния. Облако подставляется по вашему запросу. Переменные получают тип, описание и умолчания, ресурсы (VPC, RDS, S3, Lambda) идут в main.tf, повторяемые куски выносятся в модули. Блок состояния настраивается на S3 с блокировкой через DynamoDB, в .gitignore попадают *.tfstate и *.tfvars.
В конце агент готовит workflow GitHub Actions: terraform fmt -check, terraform validate и terraform plan на пулл-реквестах, apply после слияния в main с шагом подтверждения. Версии провайдеров он фиксирует, потому что мажорные обновления ломают конфиги. Состояние в git не кладёт никогда: там секреты и адреса ресурсов.
Какие задачи решает
- разложить каталог
infra/с файлами Terraform по местам - прописать провайдера и версию без сюрпризов при обновлении
- вынести состояние в S3 и включить блокировку через DynamoDB
- закрыть
.tfstateи.tfvarsот попадания в репозиторий - добавить проверку плана на пулл-реквестах в GitHub Actions
Примеры запросов агенту
- Настрой Terraform для AWS: S3-бэкенд, переменные и модули в
infra/ - Сделай CI-пайплайн с
terraform planна PR иapplyпосле мержа - Разнеси окружения dev/staging/prod по отдельным state-файлам
Как установить setting-up-terraform
1Через Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a claude-code2Вручную: положить файлы
~/.claude/skills/setting-up-terraform/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/setting-up-terraform/
1Через Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a codex2Вручную: положить файлы
.agents/skills/setting-up-terraform/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a cursor2Вручную: положить файлы
.cursor/skills/setting-up-terraform/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install spencerpauly/awesome-cursor-skills setting-up-terraform2Вручную: положить файлы
.github/skills/setting-up-terraform/SKILL.md1Через Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a gemini-cli2Командой платформы
gemini skills install https://github.com/spencerpauly/awesome-cursor-skills --path resources/setting-up-terraformВручную: положить файлы
.devin/skills/setting-up-terraform/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о setting-up-terraform
Как установить setting-up-terraform в Claude Code?
Выполните npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a claude-code. После этого файл скилла лежит по пути ~/.claude/skills/setting-up-terraform/SKILL.md.
Что делает setting-up-terraform?
Проводит агента по шагам настройки Terraform: структура проекта, провайдер, переменные, ресурсы, remote state, .gitignore и пайплайн GitHub Actions.
Нужно ли что-то готовить заранее?
Нужен проект Terraform с версией не ниже 1.5. Для S3-бэкенда в примере фигурируют бакет и таблица DynamoDB, блокировка состояния делается через неё.
Исходный текст
SKILL.md · CC0-1.0
---
name: setting-up-terraform
description: Set up Terraform infrastructure-as-code for cloud resources, including provider configuration, modules, state management, and CI integration.
---
# Setup Terraform
Use this skill when the user asks to set up Terraform, infrastructure as code, cloud provisioning, or IaC.
## Steps
1. **Initialize the project structure**
```
infra/
├── main.tf
├── variables.tf
├── outputs.tf
├── terraform.tfvars # (gitignored)
├── providers.tf
└── modules/
```
2. **Configure the provider** — in `providers.tf`:
```hcl
terraform {
required_version = ">= 1.5"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
backend "s3" {
bucket = "my-terraform-state"
key = "prod/terraform.tfstate"
region = "us-east-1"
}
}
provider "aws" {
region = var.aws_region
}
```
Adapt the provider for the user's cloud (AWS, GCP, Azure).
3. **Define variables** — in `variables.tf`, define inputs with types, descriptions, and defaults:
```hcl
variable "aws_region" {
type = string
default = "us-east-1"
description = "AWS region for resources"
}
variable "environment" {
type = string
description = "Deployment environment (dev, staging, prod)"
}
```
4. **Create resources** — in `main.tf`, define the infrastructure the user needs (VPC, RDS, ECS, S3, Lambda, etc.). Extract reusable patterns into modules under `modules/`.
5. **Configure remote state** — use an S3 bucket (AWS), GCS bucket (GCP), or Azure Storage for state. Enable state locking with DynamoDB (AWS).
6. **Add to `.gitignore`**
```
*.tfstate
*.tfstate.*
.terraform/
terraform.tfvars
*.tfvars
```
7. **Add CI pipeline** — create a GitHub Actions workflow that runs `terraform fmt -check`, `terraform validate`, and `terraform plan` on PRs, with `terraform apply` on merge to main (with approval gate).
## Notes
- Never commit state files or `.tfvars` with secrets.
- Use workspaces or separate state files for dev/staging/prod.
- Pin provider versions to avoid breaking changes.
- Run `terraform fmt` before committing.
© spencerpauly · CC0-1.0 · spencerpauly/awesome-cursor-skills