skills/vendix-cloud-operations/SKILL.md
Vendix cloud operations guidance for using the private production runbook, SSH, and AWS CLI to inspect or administer cloud resources. Trigger: When consulting keys/README.md, using AWS CLI for Vendix cloud inventory, checking production resource locations, or deciding whether to use SSH versus AWS CLI.
npx skillsauth add rzyfront/vendix vendix-cloud-operationsInstall 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.
Use this skill when an agent needs to operate or inspect Vendix production cloud resources through the private runbook, AWS CLI, or SSH.
This skill does not replace vendix-ec2-maintenance. Use this skill for cloud inventory, resource orientation, and choosing the right operational tool. Use vendix-ec2-maintenance for EC2 incidents, deploy failures, disk pressure, Docker cleanup, or server-level troubleshooting.
keys/README.md as the private operational runbook when it exists locally.| Need | Primary Source |
| --- | --- |
| Current private operational snapshot | keys/README.md |
| Backend deploy behavior | .github/workflows/deploy-backend-ec2.yml |
| Frontend deploy behavior | .github/workflows/deploy-s3.yml |
| EC2 instance metadata and public IP | aws ec2 describe-instances |
| DNS records | aws route53 list-resource-record-sets |
| CloudFront aliases and origins | aws cloudfront list-distributions / get-distribution |
| Frontend and asset buckets | aws s3api list-buckets, get-bucket-website, get-bucket-location |
| Backend image repository and tags | aws ecr describe-repositories, describe-images |
| Database metadata | aws rds describe-db-instances |
| Secret inventory by name only | aws secretsmanager list-secrets |
| Email identity metadata | aws ses list-identities, get-identity-verification-attributes |
| Cloud metrics and log groups | aws cloudwatch, aws logs describe-log-groups |
| Runtime host state | SSH + systemctl, ss, nginx -T, docker, curl localhost |
| Situation | Use |
| --- | --- |
| Need the current EC2 public IP | AWS CLI EC2 query |
| Need to know whether DNS points to EC2 or CloudFront | Route53 + dig |
| Need CloudFront distribution, aliases, origins, or deploy status | AWS CLI CloudFront |
| Need frontend deploy target | Workflow + S3/CloudFront AWS CLI |
| Need backend deploy target or current image tags | Workflow + ECR AWS CLI |
| Need DB engine/version/public exposure metadata | AWS CLI RDS |
| Need names of production secrets | AWS CLI Secrets Manager list operation |
| Need cloud metrics or log group inventory | AWS CLI CloudWatch / Logs |
| Need container status, logs, disk, Nginx, or localhost health | SSH to EC2 |
| Need EC2 deploy failure diagnosis or cleanup | vendix-ec2-maintenance |
keys/README.md exists, use it for the latest local runbook and verified command patterns.Use focused queries and projected output so responses stay safe and readable:
aws ec2 describe-instances \
--region us-east-1 \
--filters Name=instance-state-name,Values=running,stopped \
--query 'Reservations[].Instances[].{InstanceId:InstanceId,Name:Tags[?Key==`Name`]|[0].Value,State:State.Name,PublicIp:PublicIpAddress,InstanceType:InstanceType,KeyName:KeyName}' \
--output table
aws cloudfront list-distributions \
--query 'DistributionList.Items[].{Id:Id,DomainName:DomainName,Status:Status,Enabled:Enabled,Aliases:Aliases.Items}' \
--output table
aws ecr describe-images \
--region us-east-1 \
--repository-name vendix-backend \
--query 'sort_by(imageDetails,& imagePushedAt)[-5:].{tags:imageTags,pushed:imagePushedAt,digest:imageDigest}' \
--output json
aws secretsmanager list-secrets \
--region us-east-1 \
--filters Key=name,Values=vendix/production \
--query 'SecretList[].{Name:Name,LastChangedDate:LastChangedDate,Description:Description}' \
--output table
aws logs describe-log-groups \
--region us-east-1 \
--query 'logGroups[].{Name:logGroupName,Retention:retentionInDays,StoredBytes:storedBytes}' \
--output table
For this skill, use Secrets Manager list/describe style operations only. Do not include commands that print stored secret payloads in cloud inventory or runbook guidance.
Resolve the target host from AWS before connecting. Use SSH for local runtime facts:
sudo docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}'
sudo docker logs vendix-backend --tail 100
sudo systemctl is-active nginx
sudo ss -tulpn | grep -E ':(80|443|3000|6379)'
curl -fsS http://localhost:3000/api/health
Do not make SSH the first discovery step when AWS CLI can identify the resource directly.
When updating keys/README.md:
vendix-ec2-maintenance - EC2 incidents, deployment failures, disk pressure, and Docker cleanup.git-workflow - Branching, commits, and PR rules.skill-sync - Required after creating or changing skills.development
Mobile app development rules for Vendix Expo/React Native project. Trigger: When editing, creating, or modifying any file under apps/mobile, or when developing mobile-specific features.
development
Feature gating by store subscription state: global store write guard, AI feature gate, Redis feature resolution, quota consumption, frontend paywall interceptor, banner, and subscription UI states. Trigger: When adding feature gates, paywalls, subscription-based access control, protecting store write operations, AI feature gates, or rollout flags.
testing
SaaS subscription billing for Vendix stores: plan pricing, invoices, Wompi platform payments, manual payments, partner commissions, payouts, proration, and dunning. Trigger: When creating SaaS invoices, working with partner rev-share, margin/surcharge pricing, invoice sequence allocation, partner payout batches, subscription payments, manual payments, or dunning flows.
development
Periodic quota counters with Redis, UTC period keys, Lua-based idempotent AI quota consumption, request-id deduplication, and post-success consumption. Trigger: When building quota counters, enforcing monthly/daily feature caps, or reusing AI quota patterns for uploads, emails, exports, or rate-limited features.