claude/marketplace/plugins/sorah-guides/skills/terraform/SKILL.md
This skill should be used when writing or reviewing Terraform code, or when the project uses "Terraform", "HCL", "tfvars", "aws_iam_role", "data sources", or infrastructure-as-code patterns. Provides Terraform coding conventions, patterns, and best practices. Project-specific conventions always take priority.
npx skillsauth add sorah/config terraformInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Coding conventions and best practices for Terraform projects. Project-specific conventions (CLAUDE.md, style guides) always take priority over this guidance.
data.aws_region.current, data.aws_caller_identity.current)jsonencode to compose JSON objects instead of raw string literalsname = "FooBar", use resource "..." "FooBar")Ec2Bastion, EcsApp)ec2-default, dns-cache)Standard file structure per Terraform directory:
aws.tf — AWS provider configuration with standard data sources (data.aws_region.current, data.aws_caller_identity.current, data.aws_default_tags.current)backend.tf — S3 backend configurationversions.tf — Provider version constraintsvpc.tf, sg.tf, route53.tf, iam.tf, etc.iam_lambda.tf, iam_states.tf, iam_ec2_default.tfoutputs.tf — Output definitions (when needed)locals.tf — Local values (when needed)type for variablesdefault = {} for optional map variablesdata.aws_iam_policy_document whenever possible instead of jsonencodedata.aws_iam_policy when availabledefault_tags at provider level for Project and Component tagsaws_iam_role)data.aws_iam_policy_document with -trust suffixNetKea, NwEc2Default)description field referencing the Terraform pathaws_iam_instance_profile)aws_iam_role.Role.name for both name and role attributesdevelopment
This skill should be used when writing or reviewing TypeScript or TSX code, or when the project uses "TypeScript", "React", "tsx", "SWR", "Vite", "Next.js", or TypeScript type patterns. Provides TypeScript coding conventions, React patterns, and best practices. Project-specific conventions always take priority.
development
This skill should be used when the user asks about "spec file format", "spec conventions", "spec vs docs", "current status section", "specification structure", "how to write a spec", "spec deliverables", or "self-contained spec". Provides conventions for writing implementation-ready specification documents.
testing
This skill should be used when conducting spec interviews or implementing specs for Ruby projects, or when the spec mentions "Ruby", "RSpec", "service objects", "Struct", or Ruby class/module patterns. Provides Ruby-specific interview and implementation checklist items.
testing
This skill should be used when conducting spec interviews or implementing specs for Ruby on Rails projects, or when the spec mentions "Rails", "ActiveRecord", "ActiveJob", "concerns", "migrations", "Rails.configuration", or "request specs". Provides Rails-specific interview and implementation checklist items.