Aws infrastructure
Skill event4u-app/agent-config/src/skills/aws-infrastructure
Use when working with AWS resources — ECS Fargate, ECR, EFS, Secrets Manager, gomplate templates, multi-env deployments — even when the user says 'deploy to staging' without naming AWS.From its SKILL.md
npx -y skills add event4u-app/agent-config --skill aws-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
- 7 stars7 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
5.0 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
aws-infrastructure
When to use
Use this skill when working with AWS infrastructure, deployment configurations, ECS task definitions, or environment-specific settings.
Do NOT use when:
- Local development setup (use
dockerskill) - Application code changes
Procedure: Modify AWS infrastructure
- Read the
.aws/directory (or equivalent) for environment configs and templates. - Read CI/CD workflows (e.g.,
.github/workflows/) for the deployment pipeline. - Check the environment-specific vars files.
- Read project-level overrides — check
agents/overrides/skills/aws-infrastructure.mdfor project-specific service names, prefixes, and infrastructure details.
Architecture overview
Environments (typical setup)
| Environment | Trigger | Notes |
|---|---|---|
| Review | PR with label | Ephemeral, per-branch |
| Stage | Push to main | Persistent, pre-production |
| Production | Release tag | Persistent, live |
Common AWS services
| Service | Purpose |
|---|---|
| ECS Fargate | Container orchestration (no EC2 instances) |
| ECR | Docker image registry |
| EFS | Shared filesystem (private + public access points) |
| Secrets Manager | .env file storage per environment |
| IAM Roles | OIDC-based GitHub Actions authentication |
| VPC | Networking (security groups, subnets) |
Vars file structure
Environment-specific config files (e.g., .aws/*.vars.yaml) typically contain:
AWS:
GlobalPrefix: {project}-{env} # Resource naming prefix
Region: eu-central-1 # AWS region
RoleArn: arn:aws:iam::... # GitHub Actions OIDC role
ECS:
Cluster: {project}-{env} # ECS cluster name
VPC:
SecurityGroups: [...]
Subnets: [...]
EFS:
FileSystemId: fs-...
Read the actual vars files in the project for concrete values.
Template structure
Templates commonly use gomplate for rendering. Typical templates:
| Template | Purpose |
|---|---|
task-definition-web.tpl.yaml | Web server (app + reverse proxy) |
task-definition-worker.tpl.yaml | Queue worker |
task-definition-scheduler.tpl.yaml | Task scheduler (cron) |
task-definition-migrations.tpl.yaml | One-shot migration runner |
Template variables:
{{ .Env.DockerImage }}— Full ECR image URI with tag{{ .Env.CommitHash }}— Git commit SHA{{ (ds "Vars").AWS.* }}— Values from the vars file
Deployment flow
Standard (Stage/Production)
- Build: Docker image → ECR (tag: SHA +
latest) - Migrations: Run as ECS task (one-shot), wait for completion
- Deploy Services: Update ECS services with new task definitions
Review environments
- Build: Docker image → ECR (tag: SHA + branch-hash)
- Deploy: Create or update single ECS service (combined task)
- Comment: Post deployment URL on PR
Conventions
Authentication
- GitHub Actions uses OIDC (no long-lived AWS credentials).
- Role ARN is per-environment in the vars file.
aws-actions/configure-aws-credentialshandles the OIDC exchange.
Image tagging
- Primary tag:
sha-<full-commit-sha>(immutable) - Secondary tag:
latest(Stage/Production) or<review-env-name>(Review)
Secrets
.envfiles are stored in AWS Secrets Manager.- Naming convention:
<GlobalPrefix>-dotenv.
Platform
- Check the project's architecture target (
linux/arm64for Graviton,linux/amd64for x86). - Ensure CI runners match the target architecture.
Infrastructure as Code
The underlying AWS resources (ECS clusters, ALBs, RDS, Redis, IAM roles, security groups, etc.) are typically managed via Terraform + Terragrunt in a separate infrastructure repository.
See the terraform and terragrunt skills for general IaC conventions.
Output format
- Modified infrastructure config/template files
- Environment-specific changes clearly separated
- Summary of what changed and which environments are affected
Auto-trigger keywords
- AWS
- ECS Fargate
- ECR
- EFS
- Secrets Manager
- deployment
Gotcha
- Never hardcode AWS credentials — always use Secrets Manager or environment variables.
- ECS task definitions are immutable — you create new revisions, not edit existing ones.
- gomplate templates use
{{ }}which conflicts with other template engines — escape carefully.
Do NOT
- Do NOT change VPC/subnet/security group IDs without infrastructure team approval.
- Do NOT modify IAM role ARNs — they are managed via Terraform.
- Do NOT hardcode AWS account IDs in templates.
- Do NOT change the
GlobalPrefix— it's used for resource naming across AWS. - Do NOT switch platform architecture without updating all runners and ECS configs.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.