Infrastructure
Terraform, Kubernetes, and Helm conventions. Use when editing infrastructure modules, manifests, charts, or deployment config.From its SKILL.md
npx -y skills add edjchapman/claude-code-config --skill infrastructureAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.4 KB, as published. Nobody here has run it
Infrastructure Patterns
Terraform
Module Structure
- Use a standard layout:
main.tf,variables.tf,outputs.tf,versions.tf - Extract reusable patterns into modules under
modules/ - Keep modules focused -- one resource group per module
- Use
terraform-docsto auto-generate module documentation
State Management
- Always use remote state (S3, GCS, or Terraform Cloud)
- Enable state locking (DynamoDB for S3 backend)
- Use separate state files per environment
- Never commit
.tfstatefiles to version control - Use
terraform importfor existing resources, never recreate
Best Practices
- Pin provider versions in
versions.tf - Use
terraform fmtandterraform validatein CI - Run
terraform planin CI, apply only from CD pipeline - Tag all resources with
environment,team, andmanaged_by - Use
datasources to reference existing infrastructure - Use
localsfor computed values,variablesfor inputs
Kubernetes
Resource Limits
- Always set
requestsandlimitsfor CPU and memory requests= guaranteed minimum,limits= hard ceiling- Start conservative and tune based on metrics
- Use
LimitRangeandResourceQuotafor namespace defaults
Probes
livenessProbe: restart if unhealthy (checks process is alive)readinessProbe: remove from service if not ready (checks dependencies)startupProbe: allow slow-starting containers before liveness kicks in- Use HTTP probes for web services, TCP for databases, exec for custom checks
- Set
initialDelaySecondsbased on actual startup time
Best Practices
- Use
Deploymentfor stateless,StatefulSetfor stateful workloads - Define
PodDisruptionBudgetfor high-availability services - Use
ConfigMapfor config,Secretfor sensitive data - Set
imagePullPolicy: IfNotPresentand use specific image tags - Use namespaces to isolate environments and teams
Helm
Chart Best Practices
- Use
values.yamlfor defaults, override per environment - Template helpers go in
_helpers.tpl - Include
NOTES.txtfor post-install instructions - Use
helm lintandhelm templatein CI - Pin chart versions in
Chart.lock - Use subcharts for shared infrastructure (databases, caches)