بنقرة واحدة
iac
Infrastructure as Code expertise using Terraform for major cloud providers (AWS, Azure, GCP).
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Infrastructure as Code expertise using Terraform for major cloud providers (AWS, Azure, GCP).
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Enforce file/function/line-length standards on any project (Python, Rust, Go, TypeScript).
Generate agent-friendly ARCHITECTURE.md index and per-directory README.md files for any codebase.
Evidence-gated debugging and investigation. Requires citing file:line references and actual output before proposing fixes.
Checkout main branch and pull latest changes from remote.
Rebase current work branch on latest main with intelligent conflict resolution.
Verify main branch stability before development and before pushing code to remote.
| name | iac |
| description | Infrastructure as Code expertise using Terraform for major cloud providers (AWS, Azure, GCP). |
| inputs | {"dir":"optional","workspace":"optional","provider":"optional"} |
| outputs | {"terraform_code":"hcl","plan_summary":"markdown"} |
| dependencies | ["terraform","cloud provider CLI tools"] |
| safety | Follow best practices; escalate for ignore_changes usage. |
| steps | ["Use Terraform best practices for infrastructure provisioning.","Leverage provider-specific patterns for AWS, Azure, GCP.","Ensure resource naming follows conventions.","Use data sources over hardcoded values where possible.","Implement proper resource dependencies.","Follow security best practices (encryption, least privilege)."] |
| tooling | [{"commands":"terraform init/plan/apply"},{"cloud CLIs":"aws, az, gcloud"},"make/task targets for terraform operations"] |
This skill provides expertise in writing, reviewing, and maintaining Infrastructure as Code using Terraform for major cloud providers including AWS, Azure, and GCP.
IMPORTANT: The lifecycle.ignore_changes argument should NEVER be added or extended in Terraform code without explicit user approval.
ignore_changes masks configuration drift between code and actual infrastructureWhen encountering a situation where ignore_changes seems necessary:
Identify the Root Cause: Why is Terraform detecting unwanted changes?
Propose Better Solutions:
lifecycle.create_before_destroy for replacement order issuesdepends_onlifecycle.prevent_destroy for critical resourcesEscalate to User: Before adding ignore_changes:
ignore_changes is truly the only option# BAD - Do not add without approval
resource "aws_instance" "example" {
# ...
lifecycle {
ignore_changes = [tags] # This hides tag drift!
}
}
# GOOD - Address the root cause
resource "aws_instance" "example" {
# ...
# Let Terraform manage all tags to maintain consistency
tags = merge(
var.common_tags,
{
Name = "example-instance"
}
)
}
aws_instance.web_server not aws_instance.xvariable "environment" {
description = "Environment name (dev, staging, prod)"
type = string
validation {
condition = contains(["dev", "staging", "prod"], var.environment)
error_message = "Environment must be dev, staging, or prod."
}
}
output "instance_id" {
description = "ID of the EC2 instance"
value = aws_instance.example.id
}
output "private_ip" {
description = "Private IP address of the instance"
value = aws_instance.example.private_ip
sensitive = false
}
terraform fmt to ensure consistent formattingterraform validate to check syntaxterraform plan to preview changes# Use workspaces or separate state files
terraform {
backend "s3" {
bucket = "my-terraform-state"
key = "env/${terraform.workspace}/terraform.tfstate"
region = "us-east-1"
}
}
module "vpc" {
source = "./modules/vpc"
environment = var.environment
cidr_block = var.vpc_cidr
tags = local.common_tags
}
module "app" {
source = "./modules/app"
vpc_id = module.vpc.vpc_id
subnet_ids = module.vpc.private_subnet_ids
depends_on = [module.vpc]
}
resource "aws_cloudwatch_alarm" "high_cpu" {
count = var.enable_monitoring ? 1 : 0
alarm_name = "${var.name}-high-cpu"
comparison_operator = "GreaterThanThreshold"
evaluation_periods = "2"
# ...
}
terraform import for brownfield infrastructureterraform plan to detect configuration drift