| name | aws-cli |
| description | This skill should be used when users need to interact with AWS services via CLI. It covers all AWS services including EC2, ECS, EKS, Lambda, S3, RDS, DynamoDB, VPC, Route53, CloudFront, Bedrock, Support, Billing, and more. Supports querying, creating, modifying, deleting resources, monitoring, debugging, and cost analysis. Triggers on requests mentioning AWS, cloud resources, or specific AWS service names. |
AWS CLI Skill
This skill enables comprehensive AWS cloud infrastructure management using the AWS CLI tool.
Environment
- Default Region:
us-east-1
- AWS CLI: Pre-configured with full account permissions
- Account: SimplexAI AWS account (ID: 830101142436)
Safety Protocol
Dangerous Operations Requiring Confirmation
Before executing any of the following operations, explicitly confirm with the user:
- Delete operations:
delete-*, remove-*, terminate-*, deregister-*
- Destructive modifications:
modify-* on production resources, update-* that changes critical settings
- State changes:
stop-*, reboot-* on production instances
- Security changes: IAM policy modifications, security group rule changes
- Cost implications: Creating expensive resources (large EC2 instances, NAT gateways, etc.)
Confirmation Format
โ ๏ธ ๅฑ้ฉๆไฝ็กฎ่ฎค
ๆไฝ: [ๅ
ทไฝๆไฝๆ่ฟฐ]
ๅฝฑๅ: [ๆฝๅจๅฝฑๅ่ฏดๆ]
่ตๆบ: [ๅๅฝฑๅ็่ตๆบๆ ่ฏ]
ๆฏๅฆ็ปง็ปญๆง่ก๏ผ
Common Operations Reference
Compute Services
EC2
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,InstanceType,Tags[?Key==`Name`].Value|[0]]' --output table
aws ec2 start-instances --instance-ids <id>
aws ec2 stop-instances --instance-ids <id>
aws ec2 reboot-instances --instance-ids <id>
ECS
aws ecs list-clusters
aws ecs list-services --cluster <cluster-name>
aws ecs describe-services --cluster <cluster-name> --services <service-name>
aws ecs list-tasks --cluster <cluster-name> --service-name <service-name>
aws ecs describe-tasks --cluster <cluster-name> --tasks <task-arn>
aws ecs update-service --cluster <cluster-name> --service <service-name> --force-new-deployment
EKS
aws eks list-clusters
aws eks describe-cluster --name <cluster-name>
aws eks update-kubeconfig --name <cluster-name> --region us-east-1
Lambda
aws lambda list-functions --query 'Functions[].[FunctionName,Runtime,LastModified]' --output table
aws lambda invoke --function-name <name> --payload '{}' response.json
aws logs tail /aws/lambda/<function-name> --follow
Storage Services
S3
aws s3 ls
aws s3 ls s3://<bucket-name>/ --recursive --human-readable
aws s3 cp <local-file> s3://<bucket>/<key>
aws s3 sync <local-dir> s3://<bucket>/<prefix>
aws s3api get-bucket-location --bucket <bucket-name>
aws s3api get-bucket-versioning --bucket <bucket-name>
ECR
aws ecr describe-repositories --query 'repositories[].[repositoryName,repositoryUri]' --output table
aws ecr describe-images --repository-name simplexai/<service> --query 'imageDetails | sort_by(@, &imagePushedAt) | [-10:].[imageTags[0],imagePushedAt]' --output table
aws ecr get-login-password --region us-east-1
Database Services
RDS
aws rds describe-db-instances --query 'DBInstances[].[DBInstanceIdentifier,DBInstanceClass,Engine,DBInstanceStatus]' --output table
aws rds describe-db-instances --db-instance-identifier <id>
aws rds describe-db-snapshots --db-instance-identifier <id>
DynamoDB
aws dynamodb list-tables
aws dynamodb describe-table --table-name <table>
aws dynamodb scan --table-name <table> --limit 10
ElastiCache
aws elasticache describe-cache-clusters
aws elasticache describe-replication-groups
Network Services
VPC
aws ec2 describe-vpcs --query 'Vpcs[].[VpcId,CidrBlock,Tags[?Key==`Name`].Value|[0]]' --output table
aws ec2 describe-subnets --query 'Subnets[].[SubnetId,VpcId,CidrBlock,AvailabilityZone]' --output table
aws ec2 describe-security-groups --query 'SecurityGroups[].[GroupId,GroupName,VpcId]' --output table
Route53
aws route53 list-hosted-zones
aws route53 list-resource-record-sets --hosted-zone-id <zone-id>
CloudFront
aws cloudfront list-distributions --query 'DistributionList.Items[].[Id,DomainName,Status]' --output table
aws cloudfront create-invalidation --distribution-id <id> --paths "/*"
Monitoring & Logging
CloudWatch
aws logs describe-log-groups --query 'logGroups[].[logGroupName,storedBytes]' --output table
aws logs tail <log-group-name> --follow --since 1h
aws cloudwatch get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUUtilization \
--dimensions Name=InstanceId,Value=<instance-id> \
--start-time $(date -u -v-1H +%Y-%m-%dT%H:%M:%SZ) \
--end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \
--period 300 \
--statistics Average
Cost & Billing
aws ce get-cost-and-usage \
--time-period Start=$(date +%Y-%m-01),End=$(date +%Y-%m-%d) \
--granularity MONTHLY \
--metrics BlendedCost \
--group-by Type=DIMENSION,Key=SERVICE
aws ce get-cost-and-usage \
--time-period Start=$(date +%Y-%m-01),End=$(date +%Y-%m-%d) \
--granularity DAILY \
--metrics UnblendedCost \
--group-by Type=DIMENSION,Key=SERVICE
AI Services (Bedrock)
aws bedrock list-foundation-models --query 'modelSummaries[].[modelId,providerName]' --output table
aws bedrock list-custom-models
Support
aws support create-case \
--subject "Issue description" \
--communication-body "Detailed description" \
--service-code amazon-ec2 \
--category-code general-info \
--severity-code low
aws support describe-cases
IAM
aws iam list-users --query 'Users[].[UserName,CreateDate]' --output table
aws iam list-roles --query 'Roles[].[RoleName,CreateDate]' --output table
aws sts get-caller-identity
Output Formatting Guidelines
For Query Operations
- Use
--query with JMESPath to filter relevant fields
- Use
--output table for human-readable output
- Use
--output json when detailed data is needed
For Status Checks
Provide concise summaries:
โ
EC2 ๅฎไพ็ถๆ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ ๅฎไพ ID โ ็ถๆ โ ็ฑปๅ โ
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ i-0abc123... โ running โ t3.medium โ
โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโ
For Modification Operations
Report the action taken and result:
โ
ๆไฝๅฎๆ
- ๆไฝ: ๅๆญข EC2 ๅฎไพ
- ๅฎไพ: i-0abc123def456
- ไนๅ็ถๆ: running
- ๅฝๅ็ถๆ: stopping
Error Handling
When AWS CLI commands fail:
- Parse the error message to identify the issue
- Suggest possible solutions
- Check IAM permissions if access denied
- Verify resource exists and is in the correct region
Integration with GitOps
This skill integrates with the SimplexAI GitOps workflow:
- ECR Registry:
830101142436.dkr.ecr.us-east-1.amazonaws.com/simplexai/*
- EKS Clusters: Production and Staging in us-east-1
- Namespaces:
production for prod, staging for staging
Reference CLAUDE.md for kubectl cluster aliases:
k1 - AWS Production (EKS)
k2 - AWS Staging (EKS)