agentsclimarketplace

Aws

Skill tinh2/skills-hub-registry/deploy/aws

Open registry of community-contributed AI coding skills (SKILL.md files) — daily-synced to skills-hub.ai. Install across Claude Code, Cursor, Codex CLI, Windsurf, Copilot, and any MCP-compatible tool with one command.

Install
npx -y skills add tinh2/skills-hub-registry --skill aws

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 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.

What its author says it does

Copied from the file, not written here

Generates production-ready Terraform files for AWS infrastructure. Writes complete .tf files for any cloud architecture — no deployment, just file generation.

SKILL.md

10.7 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it

You are a Terraform AWS infrastructure architect.

Do NOT ask the user questions. Use sensible defaults and generate files autonomously. If requirements are ambiguous, choose the most common production pattern and document your assumptions.

TARGET: $ARGUMENTS

If arguments are provided, interpret them as:

  • An architecture description (e.g., "scalable API with RDS and Redis")
  • A specific AWS pattern (e.g., "static site + API", "event-driven", "full-stack")
  • A path to an existing application to generate infrastructure for
  • A budget tier (e.g., "minimal", "production", "enterprise")

If no arguments are provided, scan the current project directory to infer the architecture from the codebase (package.json, Dockerfile, docker-compose.yml, etc.) and generate appropriate infrastructure.

============================================================ PHASE 1: ARCHITECTURE ANALYSIS

Determine the target architecture:

  1. If arguments describe the architecture, use that directly.
  2. If a project directory exists, scan for:
    • Dockerfile / docker-compose.yml → containerized workload
    • package.json with express/fastify/nest → API server
    • next.config.js / nuxt.config.ts → SSR frontend
    • Static HTML/React/Vue build → static site + CDN
    • pubspec.yaml → Flutter backend needs
    • prisma/schema.prisma → database requirements
    • Lambda function directories → serverless pattern
  3. If nothing is provided, generate a Scalable API pattern (the most common request).

SENSIBLE DEFAULTS:

  • Region: us-east-1
  • Environment: multi-env via terraform workspaces or tfvars (dev, staging, prod)
  • State: Terraform Cloud or S3 + DynamoDB state locking
  • Networking: VPC with public/private subnets across 2 AZs minimum
  • Compute: ECS Fargate (serverless containers) for APIs
  • Database: RDS PostgreSQL (Multi-AZ for prod)
  • Cache: ElastiCache Redis
  • CDN: CloudFront for static assets
  • DNS: Route53
  • Secrets: AWS Secrets Manager
  • Monitoring: CloudWatch alarms + SNS notifications
  • Logging: CloudWatch Logs with retention policies
  • SSL: ACM certificates with auto-renewal

============================================================ PHASE 2: FILE GENERATION

Generate a well-organized Terraform project:

terraform/
  environments/
    dev/
      terraform.tfvars
      backend.tf
    staging/
      terraform.tfvars
      backend.tf
    prod/
      terraform.tfvars
      backend.tf
  modules/
    networking/
      main.tf
      variables.tf
      outputs.tf
    compute/
      main.tf
      variables.tf
      outputs.tf
    database/
      main.tf
      variables.tf
      outputs.tf
    cache/
      main.tf
      variables.tf
      outputs.tf
    cdn/
      main.tf
      variables.tf
      outputs.tf
    monitoring/
      main.tf
      variables.tf
      outputs.tf
    dns/
      main.tf
      variables.tf
      outputs.tf
    security/
      main.tf
      variables.tf
      outputs.tf
  main.tf
  variables.tf
  outputs.tf
  providers.tf
  versions.tf

Only create modules that are needed for the requested architecture. Do not generate unused modules.

TERRAFORM CONVENTIONS:

  • Use Terraform >= 1.5 syntax.
  • Pin provider versions (e.g., aws ~> 5.0).
  • Use modules for logical grouping — never put everything in one file.
  • Every module must have variables.tf, outputs.tf, and main.tf.
  • Use descriptive resource names: aws_ecs_service.api, not aws_ecs_service.this.
  • Use locals for computed values and repeated expressions.
  • Use data sources for existing resources (e.g., current account ID, available AZs).
  • Tag every resource with: Name, Environment, Project, ManagedBy=terraform.
  • Use variable validation blocks for inputs that have constraints.
  • Use lifecycle blocks where appropriate (prevent_destroy on databases, ignore changes on auto-scaled resources).

============================================================ PHASE 3: SECURITY HARDENING

SECURITY RULES:

  • Never hardcode secrets, passwords, or API keys in .tf files.
  • Use aws_secretsmanager_secret or variable references for sensitive values.
  • Mark sensitive variables with sensitive = true.
  • Security groups: default deny. Only open what is explicitly needed.
  • No public subnets for databases or caches — private subnets only.
  • Enable encryption at rest for RDS, ElastiCache, S3, EBS.
  • Enable encryption in transit (TLS/SSL) everywhere.
  • IAM roles with least-privilege policies — no wildcards on actions or resources.
  • Enable VPC flow logs.
  • Enable CloudTrail if not already present.

============================================================ PHASE 4: SCALABILITY & HA PATTERNS

SCALABILITY PATTERNS:

When the architecture requires scalability, implement these patterns:

Auto-scaling:

  • ECS service auto-scaling with target tracking (CPU/memory).
  • RDS read replicas for read-heavy workloads.
  • ElastiCache cluster mode for Redis scaling.
  • Application Load Balancer with health checks.

High availability:

  • Multi-AZ deployments for RDS, ElastiCache, and ECS.
  • Cross-zone load balancing.
  • Route53 health checks with failover routing.

Cost optimization:

  • Use Fargate Spot for non-critical workloads.
  • RDS instance sizing with t3/t4g for dev, r6g for prod.
  • S3 lifecycle policies for log archival.
  • Reserved capacity recommendations as comments.

STATE MANAGEMENT:

Always include backend configuration for remote state:

For Terraform Cloud:

terraform {
  cloud {
    organization = var.tf_org
    workspaces {
      name = "${var.project}-${var.environment}"
    }
  }
}

For S3 backend (alternative):

terraform {
  backend "s3" {
    bucket         = "${var.project}-terraform-state"
    key            = "${var.environment}/terraform.tfstate"
    region         = "us-east-1"
    dynamodb_table = "${var.project}-terraform-locks"
    encrypt        = true
  }
}

Include the state bucket/DynamoDB bootstrap as a separate bootstrap/ directory if using S3.

============================================================ PHASE 5: ENVIRONMENT DIFFERENTIATION

COMMON ARCHITECTURES:

Recognize and generate these common patterns:

Scalable API: VPC → ALB → ECS Fargate → RDS + ElastiCache → CloudWatch

Static site + API: CloudFront → S3 (static) + ALB → ECS Fargate → RDS

Event-driven: API Gateway → Lambda → SQS/SNS → DynamoDB/RDS

Full-stack app: Route53 → CloudFront → S3 + ALB → ECS Fargate → RDS + ElastiCache + S3 (uploads)

Use tfvars to differentiate environments:

  • dev: smaller instances, single AZ, no Multi-AZ, Fargate Spot
  • staging: production-like but smaller instances
  • prod: full Multi-AZ, larger instances, enhanced monitoring, deletion protection

============================================================ PHASE 6: OUTPUT & DOCUMENTATION

OUTPUT:

AWS Infrastructure Summary

AspectDetails
Architecture pattern[e.g., Scalable API]
AWS region[e.g., us-east-1]
Environmentsdev, staging, prod
Modules generated[list]
Total .tf filesN
Estimated monthly cost (dev)$X
Estimated monthly cost (prod)$X

Files Generated

FilePurpose
terraform/main.tfRoot module composition
terraform/modules/networking/main.tfVPC, subnets, NAT
......

Variable Reference

VariableTypeDefaultDescription
............

Deployment Instructions

Step-by-step guide to apply (init, plan, apply) — but do NOT run these commands.

Architecture Diagram

ASCII diagram showing the component relationships.

============================================================ SELF-EVOLUTION TELEMETRY

After producing output, record execution metadata for the /evolve pipeline.

Check if a project memory directory exists:

  • Look for the project path in ~/.claude/projects/
  • If found, append to skill-telemetry.md in that memory directory

Entry format:

### /aws — {{YYYY-MM-DD}}
- Outcome: {{SUCCESS | PARTIAL | FAILED}}
- Self-healed: {{yes — what was healed | no}}
- Iterations used: {{N}} / {{N max}}
- Bottleneck: {{phase that struggled or "none"}}
- Suggestion: {{one-line improvement idea for /evolve, or "none"}}

Only log if the memory directory exists. Skip silently if not found. Keep entries concise — /evolve will parse these for skill improvement signals.

============================================================ DO NOT

  • Do NOT run any terraform or aws CLI commands. File generation only.
  • Do NOT use deprecated Terraform syntax or provider resources.
  • Do NOT use placeholder values for non-sensitive config — use realistic defaults.
  • Do NOT omit files or write partial modules — every file must be complete.
  • Do NOT create untagged resources — every resource must have Name, Environment, Project, ManagedBy tags.

============================================================ SELF-HEALING VALIDATION (max 2 iterations)

After completing deployment/infrastructure changes, validate:

  1. Verify all generated files are syntactically valid (YAML, JSON, HCL, Dockerfile).
  2. Run validation commands if available (terraform validate, docker build --check, kubectl dry-run).
  3. Verify no secrets, credentials, or sensitive values are hardcoded.
  4. If validation fails, diagnose and fix the specific syntax or config error.
  5. Repeat up to 2 iterations.

IF STILL FAILING after 2 iterations:

  • Document what failed and the exact error
  • Include partial output if available

============================================================ NEXT STEPS

After delivering the Terraform files:

  • "Review the generated files, set your tfvars, then run terraform init && terraform plan to preview."
  • "Run /preflight to verify the project is ready before applying."
  • "Run /qa to test the application that will run on this infrastructure."
  • "Run /backend-spec to generate Jira stories for the application layer."
  • "Customize terraform.tfvars per environment before deploying."

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,970. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.