From shared
Stack context for Terraform/IaC projects — module structure, state management, and GCP/AWS provider conventions
npx claudepluginhub silviaare95/xari-plugins --plugin sharedThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides slash command development for Claude Code: structure, YAML frontmatter, dynamic arguments, bash execution, user interactions, organization, and best practices.
This profile is automatically loaded when working in a Terraform project.
environments/
├── dev/
│ ├── main.tf
│ ├── variables.tf
│ ├── outputs.tf
│ ├── terraform.tfvars
│ └── backend.tf
├── staging/
└── prod/
modules/
├── networking/
│ ├── main.tf
│ ├── variables.tf
│ └── outputs.tf
├── compute/
└── database/
<provider>_<resource> with descriptive namesdatabase_instance_tier, not tier)networking, not networks)terraform state mv/rmdescription and typevalidation blocks for variable constraintssource attribute.tf files or .tfvarssensitive = true on secret variables and outputsroles/editor or roles/owner# Variables with validation
variable "environment" {
type = string
description = "Deployment environment"
validation {
condition = contains(["dev", "staging", "prod"], var.environment)
error_message = "Environment must be dev, staging, or prod."
}
}
# Resource with lifecycle
resource "google_sql_database_instance" "main" {
name = "${var.project}-${var.environment}-db"
database_version = "POSTGRES_15"
region = var.region
settings {
tier = var.database_instance_tier
}
lifecycle {
prevent_destroy = true # Production databases
}
}
# Data source for existing resources
data "google_project" "current" {}
terraform init — initialize providers and modulesterraform plan -out=plan.tfplan — always save the planterraform apply plan.tfplan — apply the saved planterraform apply without reviewing the planterraform fmt and terraform validate in CI