ahmedasmar/devops-claude-skills
Overview
This skill provides end-to-end guidance and tooling for building, validating, troubleshooting, and managing Terraform and Terragrunt infrastructure-as-code. It covers module scaffolding, environment layouts, state inspection, CI/CD integration, and common troubleshooting patterns to help teams deliver consistent, secure infrastructure. Use it to standardize workflows and reduce deployment risk across environments.
How this skill works
The skill inspects Terraform/Terragrunt configurations, module structure, and state using provided scripts and templates. It scaffolds modules, validates required files and metadata, runs state health and drift checks, and surfaces actionable recommendations. It also maps recommended CI/CD steps and Terragrunt patterns so you can apply fixes and follow best practices quickly.
When to use it
- Starting or refactoring Terraform code and modules
- Creating reusable, versioned Terraform modules
- Inspecting or remediating Terraform state and drift
- Troubleshooting plan/apply, provider, or Terragrunt errors
- Setting up Terragrunt project layout and dependency patterns
- Adding Terraform checks to CI/CD pipelines
Best practices
- Design modules for single responsibility and composability
- Commit non-sensitive terraform.tfvars, keep secrets in .auto.tfvars ignored by git
- Use remote backends with locking (e.g., S3 + DynamoDB) and encrypt state at rest
- Enforce formatting, linting, and security scans in CI (terraform fmt, tflint, checkov)
- Provide variable descriptions, sensible defaults, and mark sensitive outputs/inputs
- Test modules via examples and validate before releasing or applying
Example use cases
- Scaffold a new reusable VPC module and generate README and examples
- Run inspect_state.py to detect drift and list tainted or missing resources before a major change
- Use validate_module.py in PRs to block modules that lack variable descriptions or outputs
- Implement Terragrunt root and per-environment terragrunt.hcl with dependency mocks for safe plan/validate
- Integrate GitHub Actions template to run lint, security scans, terraform plan on PRs and apply on main
FAQ
Use init_module.py to scaffold modules, validate_module.py to enforce module rules, and inspect_state.py to review state and detect drift.
When should I inspect state manually?
Inspect state before major changes, when investigating drift or resource issues, and as part of audits or remediation workflows.
2 skills
This skill helps you write, validate, and manage Terraform and Terragrunt configurations with best practices and robust state handling.
This skill helps you design, optimize, and secure CI/CD pipelines across platforms with DevSecOps scanning and troubleshooting guidance.