skills/cloud-automation/SKILL.md
# Cloud Automation Deploy and manage projects on AWS, Azure, and GCP. ## AWS (Amazon Web Services) ### AWS CLI Setup ```bash # Install curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip && sudo ./aws/install # Configure aws configure # Enter: Access Key ID, Secret Access Key, Region, Output format ``` ### EC2 Instances ```bash # List instances aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,Tags[?Key==`N
npx skillsauth add balaraj74/f.r.i.d.a.y skills/cloud-automationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Deploy and manage projects on AWS, Azure, and GCP.
# Install
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install
# Configure
aws configure
# Enter: Access Key ID, Secret Access Key, Region, Output format
# List instances
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,Tags[?Key==`Name`].Value|[0]]' --output table
# Start/Stop instance
aws ec2 start-instances --instance-ids i-1234567890abcdef0
aws ec2 stop-instances --instance-ids i-1234567890abcdef0
# Create instance
aws ec2 run-instances --image-id ami-12345678 --instance-type t2.micro --key-name MyKey
# SSH to instance
ssh -i "key.pem" [email protected]
# List buckets
aws s3 ls
# Upload/download
aws s3 cp file.txt s3://my-bucket/
aws s3 cp s3://my-bucket/file.txt ./
aws s3 sync ./folder s3://my-bucket/folder
# Create bucket
aws s3 mb s3://my-new-bucket
# List functions
aws lambda list-functions
# Invoke function
aws lambda invoke --function-name MyFunction --payload '{"key": "value"}' output.json
# Deploy (zip)
zip -r function.zip .
aws lambda update-function-code --function-name MyFunction --zip-file fileb://function.zip
# Install
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
# Login
az login
# Set subscription
az account set --subscription "Subscription Name"
# List VMs
az vm list --output table
# Start/Stop VM
az vm start --resource-group MyRG --name MyVM
az vm stop --resource-group MyRG --name MyVM
# Create VM
az vm create --resource-group MyRG --name MyVM --image UbuntuLTS --admin-username azureuser --generate-ssh-keys
# SSH
az ssh vm --resource-group MyRG --name MyVM
# List storage accounts
az storage account list --output table
# Upload blob
az storage blob upload --account-name mystorageaccount --container-name mycontainer --name myblob --file ./myfile.txt
# Download blob
az storage blob download --account-name mystorageaccount --container-name mycontainer --name myblob --file ./downloaded.txt
# Create function app
az functionapp create --resource-group MyRG --consumption-plan-location eastus --runtime python --name myfuncapp --storage-account mystorageaccount
# Deploy
func azure functionapp publish myfuncapp
# Install
curl https://sdk.cloud.google.com | bash
exec -l $SHELL
# Initialize
gcloud init
# Login
gcloud auth login
# List instances
gcloud compute instances list
# Start/Stop
gcloud compute instances start INSTANCE_NAME --zone=ZONE
gcloud compute instances stop INSTANCE_NAME --zone=ZONE
# Create instance
gcloud compute instances create my-instance --zone=us-central1-a --machine-type=e2-micro
# SSH
gcloud compute ssh INSTANCE_NAME --zone=ZONE
# List buckets
gsutil ls
# Upload/download
gsutil cp file.txt gs://my-bucket/
gsutil cp gs://my-bucket/file.txt ./
gsutil -m rsync -r ./folder gs://my-bucket/folder
# Create bucket
gsutil mb gs://my-new-bucket
# Deploy function
gcloud functions deploy my-function --runtime python39 --trigger-http --allow-unauthenticated
# Invoke
gcloud functions call my-function --data '{"name": "World"}'
# main.tf
provider "aws" {
region = "us-east-1"
}
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "FRIDAY-Instance"
}
}
# Initialize
terraform init
# Plan
terraform plan
# Apply
terraform apply
# Destroy
terraform destroy
# Show state
terraform show
# Build and push to AWS ECR
aws ecr get-login-password | docker login --username AWS --password-stdin $ECR_URL
docker build -t my-app .
docker tag my-app:latest $ECR_URL/my-app:latest
docker push $ECR_URL/my-app:latest
# Azure Container Registry
az acr login --name myregistry
docker tag my-app myregistry.azurecr.io/my-app:latest
docker push myregistry.azurecr.io/my-app:latest
# Google Container Registry
gcloud auth configure-docker
docker tag my-app gcr.io/my-project/my-app:latest
docker push gcr.io/my-project/my-app:latest
# AWS CLI
pip install awscli
# Azure CLI
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
# GCP SDK
curl https://sdk.cloud.google.com | bash
# Terraform
sudo apt install -y gnupg software-properties-common
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
development
Get current weather and forecasts (no API key required).
tools
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
tools
Control VS Code from the terminal. Open files, run commands, manage extensions, use the integrated terminal, interact with Copilot, and automate editor tasks. Use when a user asks FRIDAY to work with VS Code, edit files, or run VS Code commands.
tools
Start voice calls via the FRIDAY voice-call plugin.