This repository demonstrates the difference between:
- 01-basic-prompt: plain Terraform implementation
- 02-claude-md: Terraform implementation guided by a
CLAUDE.mdinstruction file - 03-skils: AI-assisted workflow using
CLAUDE.md+ reusable Claude Skills
| Area | 01-basic-prompt | 02-claude-md | 03-skils |
|---|---|---|---|
| Main purpose | Basic Terraform baseline | Better Terraform structure through project instructions | Scalable AI workflow with reusable skills |
| Project guidance | Prompt-level only | CLAUDE.md standards |
CLAUDE.md + .claude/skills/* skill packs |
| Terraform structure | Simple flat setup | Root split + module pattern | Root split + module pattern + skill-driven consistency |
| Website source | Not separated as app folder | Infrastructure-focused | Includes src/ static site files + terraform/ infra folder |
| Standardization | Manual and ad-hoc | Instruction-driven | Instruction + reusable skill definitions |
| Reuse model | Copy/edit files | Reuse Terraform modules | Reuse Terraform modules and Claude Skills |
| Team scale readiness | Low | Medium | High |
-
Terraform becomes cleaner and more maintainable
- Better separation of concerns (
providers.tf,locals.tf, module usage). - Naming and tags become more standardized.
- Better separation of concerns (
-
Instruction-driven generation starts
CLAUDE.mdsets expected project standards.
-
From single instruction file to reusable skill system
- Skills are added under
.claude/skills/. - Example skill:
.claude/skills/terraform-standards/SKILL.md.
- Skills are added under
-
More generic
CLAUDE.mdCLAUDE.mdstays high-level.- Detailed behavior lives in skill files (better for token efficiency and reuse).
-
Better workflow for larger teams/projects
- Skills make standards repeatable across tasks and contributors.
CLAUDE.md acts like a project instruction contract for AI-assisted changes. It defines standards such as:
- use reusable modules
- avoid hardcoded environment/account values
- use locals for derived naming
- configure providers at root
- enforce common tagging
When an AI assistant follows CLAUDE.md, generated code is typically:
- more consistent across files
- easier to maintain and review
- closer to team standards
- less likely to drift into one-off patterns
Without this instruction file, generated code may still work, but style and architecture can vary more between runs.
Skills convert best practices into reusable, versioned instructions.
Practical benefits:
- keep
CLAUDE.mdshort and generic - reduce repeated long prompts
- improve consistency across generated Terraform changes
- make onboarding easier (new contributors follow the same standards)
- scale AI-assisted delivery without losing governance
This file stores local permission decisions for Claude tooling (for example, allowing specific local commands). It is not your Terraform infrastructure code and does not affect AWS resources.
- Start with 01-basic-prompt to understand the minimal Terraform setup.
- Move to 02-claude-md to see how instruction-driven AI improves structure and standards.
- Move to 03-skils to learn how reusable skills make AI behavior more consistent and scalable.