# terraform-data-engineering-iac

Provisions AWS infrastructure for data engineering workloads with Terraform. Generates configurations for S3 data lakes, EC2 processing nodes, and IAM roles.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1800 installs · ★ 5
- Author: reason-machines
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/reason-machines/data-skills/tree/HEAD/skills/terraform-data-engineering-iac/SKILL.md
- Updated: 2026-10-09
- HTML: https://affpapa.org/en/nevibecode/skills/terraform-data-engineering-iac

## What it does

This skill guides agents through building AWS infrastructure for data engineering. It defines `aws_s3_bucket` resources with automated Glacier archiving, as well as EC2 compute instances on Ubuntu 22.04. The virtual machine templates include startup scripts that pull in Pandas and Apache Airflow automatically.

The layout uses standard Terraform files: `main.tf`, `variables.tf`, and `outputs.tf`. It covers commands for formatting, planning, and deployment. The skill also details multi-environment setups using workspaces and remote S3 state backends locked with DynamoDB.

Both Terraform CLI and a configured AWS CLI must be installed locally. The templates require elevated permissions. You should tighten them before touching production.

## Requirements
- Works with: Terraform, AWS

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill terraform-data-engineering-iac -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/terraform-data-engineering-iac/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/terraform-data-engineering-iac/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill terraform-data-engineering-iac -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/terraform-data-engineering-iac/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill terraform-data-engineering-iac -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/terraform-data-engineering-iac/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install reason-machines/data-skills terraform-data-engineering-iac
```

2. **Manually: put the files in place**
- File: `.github/skills/terraform-data-engineering-iac/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill terraform-data-engineering-iac -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/reason-machines/data-skills --path skills/terraform-data-engineering-iac
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/terraform-data-engineering-iac/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill terraform-data-engineering-iac -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/reason-machines/data-skills/tree/HEAD/skills/terraform-data-engineering-iac/SKILL.md

## When to use it
- provision an S3 data lake bucket with versioning and Glacier archiving
- spin up an EC2 instance preconfigured for Apache Airflow and Pandas
- configure remote Terraform state storage in S3 with DynamoDB locking
- split infrastructure environments using Terraform workspaces

## Example prompts
- Generate a Terraform configuration for an S3 data lake with 90-day Glacier lifecycle rules
- Create an EC2 instance in Terraform with user data that installs Apache Airflow
- Set up a remote S3 backend with DynamoDB locking for data pipeline state

## Similar
- [setting-up-terraform](https://affpapa.org/en/nevibecode/skills/setting-up-terraform.md) — skill · 355 installs
- [terraform-aws](https://affpapa.org/en/nevibecode/skills/terraform-aws.md) — skill · 387 installs
- [terraform-engineer](https://affpapa.org/en/nevibecode/agents/terraform-engineer.md) — subagent · 328 installs
- [Azure Terraform IaC Implementation Specialist](https://affpapa.org/en/nevibecode/agents/azure-terraform-iac-implementation-specialist.md) — subagent · ★ 40451
- [terraform-search-import](https://affpapa.org/en/nevibecode/skills/terraform-search-import.md) — skill · 4900 installs
- [terraform-infrastructure](https://affpapa.org/en/nevibecode/skills/terraform-infrastructure.md) — skill · 1200 installs

From the same set: [reason-machines/data-skills](https://affpapa.org/en/nevibecode/by/reason-machines/data-skills.md) — 74 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
