terraform-skill
The Claude Agent Skill for Terraform and OpenTofu - testing, modules, CI/CD, and production patterns
Terraform Skill for Claude
Comprehensive Terraform and OpenTofu best practices skill for Claude Code. Get instant guidance on testing strategies, module patterns, CI/CD workflows, and production-ready infrastructure code.
What This Skill Provides
๐งช Testing Frameworks
- Decision matrix for choosing between native tests and Terratest
- Testing strategy workflows (static โ integration โ E2E)
- Real-world examples and patterns
๐ฆ Module Development
- Structure and naming conventions
- Versioning strategies
- Public vs private module patterns
๐ CI/CD Integration
- GitHub Actions workflows
- GitLab CI examples
- Cost optimization patterns
- Compliance automation
๐ Security & Compliance
- Trivy, Checkov integration
- Policy-as-code patterns
- Compliance scanning workflows
๐ Quick Reference
- Decision flowcharts
- Common patterns (โ DO vs โ DON'T)
- Cheat sheets for rapid consultation
Installation
This plugin is distributed via Claude Code marketplace using .claude-plugin/marketplace.json.
Claude Code (Recommended)
/plugin marketplace add antonbabenko/terraform-skill
/plugin install terraform-skill@antonbabenko
Manual Installation
# Clone to Claude skills directory
git clone https://github.com/antonbabenko/terraform-skill ~/.claude/skills/terraform-skill
Private Testing
While the repository is private, you can test locally:
git clone [email protected]:antonbabenko/terraform-skill.git ~/.claude/skills/terraform-skill
# Claude Code will load it from the local filesystem
Verify Installation
After installation, try:
"Create a Terraform module with testing for an S3 bucket"
Claude will automatically use the skill when working with Terraform/OpenTofu code.
Quick Start Examples
Create a module with tests:
"Create a Terraform module for AWS VPC with native tests"
Review existing code:
"Review this Terraform configuration following best practices"
Generate CI/CD workflow:
"Create a GitHub Actions workflow for Terraform with cost estimation"
Testing strategy:
"Help me choose between native tests and Terratest for my modules"
What It Covers
Testing Strategy Framework
Decision matrices for:
- When to use native tests (Terraform 1.6+)
- When to use Terratest (Go-based)
- Multi-environment testing patterns
Module Development Patterns
- Naming conventions (
terraform-<PROVIDER>-<NAME>) - Directory structure best practices
- Input variable organization
- Output value design
- Version constraint patterns
- Documentation standards
CI/CD Workflows
- GitHub Actions examples
- GitLab CI templates
- Atlantis integration
- Cost estimation (Infracost)
- Security scanning (Trivy, Checkov)
- Compliance checking
Security & Compliance
- Static analysis integration
- Policy-as-code patterns
- Secrets management
- State file security
- Compliance scanning workflows
Common Patterns & Anti-patterns
Side-by-side โ DO vs โ DON'T examples for:
- Variable naming
- Resource naming
- Module composition
- State management
- Provider configuration
Why This Skill?
Based on Production Experience:
- Patterns from terraform-best-practices.com
- Community-tested approaches from terraform-aws-modules
- AWS Hero expertise in enterprise IaC
- Real-world usage across 100+ modules
Version-Specific Guidance:
- Terraform 1.0+ features
- OpenTofu 1.6+ compatibility
- Native test framework (1.6+)
- Current tooling ecosystem (2024-2026)
Decision Frameworks:
Not just "what to do" but "when and why" - helping you make informed architecture decisions.
Requirements
- Claude Code or other Claude environment supporting skills
- Terraform 1.0+ or OpenTofu 1.6+
- Optional: MCP Terraform server for enhanced registry integration
Contributing
See CLAUDE.md for:
- Skill development guidelines
- Content structure philosophy
- How to propose improvements
- Testing and validation approach
Issues & Feedback:
GitHub Issues
Releases
Releases are automated based on conventional commits in commit messages:
| Commit Type | Version Bump | Example |
|---|---|---|
feat!: or BREAKING CHANGE: |
Major | 1.2.3 โ 2.0.0 |
feat: |
Minor | 1.2.3 โ 1.3.0 |
fix: |
Patch | 1.2.3 โ 1.2.4 |
| Other commits | Patch (default) | 1.2.3 โ 1.2.4 |
Releases are created automatically when changes are pushed to master.
Related Resources
Official Documentation
- Terraform Language - HashiCorp official docs
- Terraform Testing - Native test framework
- OpenTofu Documentation - OpenTofu official docs
- HashiCorp Best Practices - Cloud best practices
Community Resources
- Awesome Terraform
- Terraform Best Practices - Comprehensive guide (base for this skill)
- terraform-aws-modules - Production-grade AWS modules
- Terratest - Go testing framework for Terraform
- Google Cloud Best Practices
- AWS Terraform Best Practices
Development Tools
- pre-commit-terraform - Pre-commit hooks for Terraform
- terraform-docs - Generate documentation from Terraform modules
- terraform-switcher - Terraform version manager
- TFLint - Terraform linter
- Trivy - Security scanner for IaC
License & Attribution
License: Apache 2.0 - see LICENSE
If you create derivative works or skills based on this skill, please include:
Based on terraform-skill by Anton Babenko
https://github.com/antonbabenko/terraform-skill
terraform-best-practices.com | Compliance.tf
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi