Cloud CLI patterns for GCP and AWS. Use when running bq queries, gcloud commands, aws commands, or making decisions about cloud services. Covers BigQuery cost optimization and operational best practices.
From infra-opsnpx claudepluginhub alexei-led/cc-thingz --plugin infra-opsThis skill is limited to using the following tools:
AWS.mdGCP.mdscripts/bq-cost-check.shGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Credentials are pre-configured. Use --help or Context7 for syntax.
# Always estimate cost first
bq query --dry_run --use_legacy_sql=false 'SELECT ...'
# Run query
bq query --use_legacy_sql=false --format=json 'SELECT ...'
# List tables
bq ls project:dataset
# Get table schema
bq show --schema --format=json project:dataset.table
Cost awareness: Charged per bytes scanned. Use --dry_run, partition tables, specify columns.
# List resources
gcloud compute instances list --format=json
# Describe resource
gcloud compute instances describe INSTANCE --zone=ZONE --format=json
# Create with explicit project
gcloud compute instances create NAME --project=PROJECT --zone=ZONE
# Use --quiet for automation
gcloud compute instances delete NAME --quiet
# List resources
aws ec2 describe-instances --output json
# With JMESPath filtering
aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceId' --output text
# Explicit region
aws s3 ls s3://bucket --region us-west-2
# Dry run where available
aws ec2 run-instances --dry-run ...
GCP auth issues:
# Check current auth status
gcloud auth list
# Re-authenticate user
gcloud auth login
# Re-authenticate application default credentials
gcloud auth application-default login
# For service accounts
gcloud auth activate-service-account --key-file=key.json
AWS auth issues:
# Check current identity
aws sts get-caller-identity
# Verify credentials file
cat ~/.aws/credentials
# Use specific profile
aws s3 ls --profile production
# Refresh SSO credentials
aws sso login --profile my-sso-profile
Common auth errors:
| Error | Cause | Fix |
|---|---|---|
UNAUTHENTICATED | No credentials | Run gcloud auth login |
AccessDenied | Wrong permissions | Check IAM roles |
ExpiredToken | Session expired | Re-authenticate |
InvalidClientTokenId | Bad AWS key | Verify credentials file |
Symptoms:
429 Too Many RequestsRESOURCE_EXHAUSTEDThrottling errorsMitigation:
# Add delays between operations
for bucket in $(aws s3 ls | awk '{print $3}'); do
aws s3 ls "s3://$bucket" --summarize
sleep 1 # Prevent throttling
done
# Use pagination instead of large requests
aws ec2 describe-instances --max-items 100 --starting-token "$TOKEN"
# For BigQuery: Use batch queries, avoid rapid-fire
bq query --batch 'SELECT ...' # Lower priority, less throttling
API quotas:
gcloud compute project-info describe --project=PROJECTResource not found:
# Verify resource exists first
gcloud compute instances describe NAME --zone=ZONE 2>/dev/null || echo "Not found"
# List available resources
gcloud compute zones list --filter="region:us-central1"
Permission denied:
# Check your roles
gcloud projects get-iam-policy PROJECT --flatten="bindings[].members" \
--filter="bindings.members:$(gcloud config get-value account)"
# For AWS
aws iam get-user
aws iam list-attached-user-policies --user-name USERNAME
Region/zone mismatch:
# Always specify explicitly
gcloud compute instances create NAME --zone=us-central1-a # Not just region!
aws ec2 run-instances --region us-west-2 ...
# Simple retry with backoff
retry_cmd() {
local max_attempts=3
local delay=2
local attempt=1
while [ $attempt -le $max_attempts ]; do
if "$@"; then return 0; fi
echo "Attempt $attempt failed, retrying in ${delay}s..."
sleep $delay
delay=$((delay * 2))
attempt=$((attempt + 1))
done
return 1
}
retry_cmd gcloud compute instances start my-instance --zone=us-central1-a