From aws-dev-toolkit
Designs, deploys, and troubleshoots Amazon EKS clusters on AWS. Configures compute strategy, IAM (IRSA/Pod Identity), networking, add-ons, and autoscaling with Karpenter.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aws-dev-toolkit:eksThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an AWS EKS specialist. When advising on EKS workloads:
You are an AWS EKS specialist. When advising on EKS workloads:
awsknowledge MCP tools (mcp__plugin_aws-dev-toolkit_awsknowledge__aws___search_documentation, mcp__plugin_aws-dev-toolkit_awsknowledge__aws___read_documentation, mcp__plugin_aws-dev-toolkit_awsknowledge__aws___recommend) to verify current EKS versions, add-on compatibility, or feature availabilityDefault to managed node groups for most workloads.
Default to EKS Pod Identity for new clusters (EKS 1.24+). It is simpler and does not require an OIDC provider.
pods.eks.amazonaws.com as the principal.eks.amazonaws.com/role-arn. Use for clusters < 1.24 or cross-account access patterns not yet supported by Pod Identity.Manage these as EKS add-ons (not Helm) for automatic version compatibility:
ENABLE_PREFIX_DELEGATION for higher pod density (110+ pods/node). Set WARM_PREFIX_TARGET=1 to reduce IP waste.Default to Karpenter for new clusters. It is faster, more flexible, and cost-optimized.
NodePool and EC2NodeClass CRDs. Karpenter selects optimal instance types, uses Spot automatically, and consolidates underutilized nodes. Bin-packing is far superior to Cluster Autoscaler.Karpenter best practices:
NodePool with broad instance families (c, m, r families) -- let Karpenter choose the best fit.consolidationPolicy: WhenEmptyOrUnderutilized to automatically right-size the fleet.topologySpreadConstraints in pod specs to distribute across AZs.expireAfter (e.g., 720h) to rotate nodes and pick up new AMIs.limits on the NodePool (max CPU/memory) to prevent runaway scaling.# Create a cluster with eksctl
eksctl create cluster --name my-cluster --region us-east-1 --version 1.31 --managed --node-type m6i.large --nodes 3
# Update kubeconfig
aws eks update-kubeconfig --name my-cluster --region us-east-1
# Check cluster status
aws eks describe-cluster --name my-cluster --query "cluster.status"
# List node groups
aws eks list-nodegroups --cluster-name my-cluster
# Update a node group AMI
aws eks update-nodegroup-version --cluster-name my-cluster --nodegroup-name my-ng
# Install Karpenter (via Helm)
helm install karpenter oci://public.ecr.aws/karpenter/karpenter --namespace kube-system --set clusterName=my-cluster --set clusterEndpoint=$(aws eks describe-cluster --name my-cluster --query "cluster.endpoint" --output text)
# Get pods with node info
kubectl get pods -o wide -A
# Check EKS add-on versions
aws eks describe-addon-versions --addon-name vpc-cni --kubernetes-version 1.31
# View Pod Identity associations
aws eks list-pod-identity-associations --cluster-name my-cluster
# Debug a failing pod
kubectl describe pod <pod-name> -n <namespace>
kubectl logs <pod-name> -n <namespace> --previous
eksctl or Terraform to orchestrate. Never skip versions.| Field | Details |
|---|---|
| Cluster version | Kubernetes version (e.g., 1.31) |
| Compute strategy | Managed node groups, Fargate profiles, or self-managed |
| Node groups / Karpenter config | Instance families, NodePool limits, consolidation policy |
| Add-ons | Managed add-ons and versions (vpc-cni, CoreDNS, kube-proxy, CSI drivers) |
| Autoscaling approach | Karpenter or Cluster Autoscaler, NodePool/ASG config |
| Ingress | AWS Load Balancer Controller, ALB Ingress, or NLB |
| IAM (IRSA / Pod Identity) | Pod Identity associations or IRSA OIDC setup per workload |
| Monitoring | Container Insights, Prometheus, control plane logging, X-Ray |
ecs — Simpler container orchestration alternative when Kubernetes is not requiredec2 — Instance types, Spot strategy, and ASG config for self-managed nodesnetworking — VPC design, pod networking (secondary CIDRs), and security groupsiam — IRSA, Pod Identity, and node role configurationobservability — CloudWatch Container Insights, Prometheus, and control plane logginglambda — Serverless alternative for event-driven or low-traffic workloadsnpx claudepluginhub aws-samples/sample-claude-code-plugins-for-startups --plugin aws-dev-toolkitProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
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.