SKILL.md
AWS Skill
Provides comprehensive AWS cloud capabilities for the Golden Armada AI Agent Fleet Platform.
When to Use This Skill
Activate this skill when working with:
- AWS infrastructure provisioning
- EKS cluster management
- S3 storage operations
- Lambda functions
- IAM and security
AWS CLI Quick Reference
Configuration
\\\`bash
Configure credentials
aws configure
Check identity
aws sts get-caller-identity
Set profile
export AWS_PROFILE=production aws s3 ls --profile production \\\`
EC2
\\\`bash
List instances
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,Tags[?Key==Name].Value]'
Start/Stop
aws ec2 start-instances --instance-ids i-1234567890 aws ec2 stop-instances --instance-ids i-1234567890
Create instance
aws ec2 run-instances \ --image-id ami-12345678 \ --instance-type t3.medium \ --key-name my-key \ --security-group-ids sg-12345678 \ --subnet-id subnet-12345678 \ --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=my-instance}]' \\\`
EKS
\\\`bash
List clusters
aws eks list-clusters
Update kubeconfig
aws eks update-kubeconfig --name golden-armada-cluster --region us-west-2
Describe cluster
aws eks describe-cluster --name golden-armada-cluster
Create cluster (with eksctl)
eksctl create cluster \ --name golden-armada-cluster \ --region us-west-2 \ --nodegroup-name workers \ --node-type t3.medium \ --nodes 3 \ --managed \\\`
S3
\\\`bash
List buckets
aws s3 ls
List objects
aws s3 ls s3://bucket-name/
Copy files
aws s3 cp file.txt s3://bucket-name/ aws s3 cp s3://bucket-name/file.txt . aws s3 sync ./local-dir s3://bucket-name/prefix/
Presigned URL
aws s3 presign s3://bucket-name/file.txt --expires-in 3600 \\\`
Lambda
\\\`bash
List functions
aws lambda list-functions
Invoke function
aws lambda invoke \ --function-name my-function \ --payload '{"key": "value"}' \ response.json
Update function code
aws lambda update-function-code \ --function-name my-function \ --zip-file fileb://function.zip
View logs
aws logs filter-log-events \ --log-group-name /aws/lambda/my-function \ --start-time $(date -d '1 hour ago' +%s000) \\\`
RDS
\\\`bash
List instances
aws rds describe-db-instances
Create snapshot
aws rds create-db-snapshot \ --db-instance-identifier golden-armada-db \ --db-snapshot-identifier snapshot-$(date +%Y%m%d)
Modify instance
aws rds modify-db-instance \ --db-instance-identifier golden-armada-db \ --db-instance-class db.t3.large \ --apply-immediately \\\`
IAM
\\\`bash
List users
aws iam list-users
Create role
aws iam create-role \ --role-name agent-role \ --assume-role-policy-document file://trust-policy.json
Attach policy
aws iam attach-role-policy \ --role-name agent-role \ --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess \\\`
Boto3 Python SDK
\\\`python import boto3
S3 operations
s3 = boto3.client('s3')
Upload file
s3.upload_file('local.txt', 'bucket-name', 'remote.txt')
Download file
s3.download_file('bucket-name', 'remote.txt', 'local.txt')
List objects
response = s3.listobjectsv2(Bucket='bucket-name', Prefix='prefix/') for obj in response.get('Contents', []): print(obj['Key'])
EC2 operations
ec2 = boto3.resource('ec2')
Get all running instances
instances = ec2.instances.filter( Filters=[{'Name': 'instance-state-name', 'Values': ['running']}] ) for instance in instances: print(f"{instance.id}: {instance.instance_type}")
Lambda invocation
lambdaclient = boto3.client('lambda') response = lambdaclient.invoke( FunctionName='my-function', InvocationType='RequestResponse', Payload=json.dumps({'key': 'value'}) ) result = json.loads(response['Payload'].read()) \\\`
Terraform AWS Resources
\\\`hcl
VPC
resource "awsvpc" "main" { cidrblock = "10.0.0.0/16" enablednshostnames = true enablednssupport = true
tags = { Name = "golden-armada-vpc" } }
EKS Cluster
resource "awsekscluster" "main" { name = "golden-armada-cluster" rolearn = awsiam_role.cluster.arn version = "1.28"
vpcconfig { subnetids = aws_subnet.private[*].id } }
RDS Instance
resource "awsdbinstance" "main" { identifier = "golden-armada-db" engine = "postgres" engineversion = "15" instanceclass = "db.t3.medium" allocated_storage = 20
dbname = "goldenarmada" username = var.dbusername password = var.dbpassword
vpcsecuritygroupids = [awssecuritygroup.db.id] dbsubnetgroupname = awsdbsubnet_group.main.name
skipfinalsnapshot = true } \\\`
Best Practices
- Use IAM Roles instead of access keys
- Enable CloudTrail for audit logging
- Tag all resources for cost tracking
- Use VPC for network isolation
- Enable encryption at rest and in transit
- Implement least privilege IAM policies