gcp
Google Cloud Platform services including GKE, Cloud Run, Cloud Storage, BigQuery, and Pub/Sub. Activate for GCP infrastructure, Google Cloud deployment, and GCP integration.
Works with
---
name: gcp
description: Google Cloud Platform services including GKE, Cloud Run, Cloud Storage, BigQuery, and Pub/Sub. Activate for GCP infrastructure, Google Cloud deployment, and GCP integration.
license: MIT
---
# GCP Skill
Provides comprehensive Google Cloud Platform capabilities for the Golden Armada AI Agent Fleet Platform.
## When to Use This Skill
Activate this skill when working with:
- GKE cluster management
- Cloud Run deployments
- Cloud Storage operations
- BigQuery data analytics
- Pub/Sub messaging
## gcloud CLI Quick Reference
### Configuration
\`\`\`bash
# Initialize
gcloud init
# Authenticate
gcloud auth login
gcloud auth application-default login
# Set project
gcloud config set project PROJECT_ID
# Check config
gcloud config list
gcloud info
\`\`\`
### GKE (Google Kubernetes Engine)
\`\`\`bash
# Create cluster
gcloud container clusters create golden-armada-cluster \
--zone us-central1-a \
--num-nodes 3 \
--machine-type e2-standard-4 \
--enable-autoscaling --min-nodes 1 --max-nodes 10
# Get credentials
gcloud container clusters get-credentials golden-armada-cluster --zone us-central1-a
# List clusters
gcloud container clusters list
# Resize cluster
gcloud container clusters resize golden-armada-cluster --num-nodes 5 --zone us-central1-a
# Delete cluster
gcloud container clusters delete golden-armada-cluster --zone us-central1-a
\`\`\`
### Cloud Run
\`\`\`bash
# Deploy service
gcloud run deploy golden-armada-api \
--image gcr.io/PROJECT_ID/agent:latest \
--platform managed \
--region us-central1 \
--allow-unauthenticated \
--set-env-vars "ENV=production"
# List services
gcloud run services list
# Get service URL
gcloud run services describe golden-armada-api --platform managed --region us-central1 --format 'value(status.url)'
# Update traffic
gcloud run services update-traffic golden-armada-api \
--to-revisions REVISION=100
\`\`\`
### Cloud Storage
\`\`\`bash
# Create bucket
gsutil mb -l us-central1 gs://golden-armada-data
# Copy files
gsutil cp local-file.txt gs://bucket-name/
gsutil cp gs://bucket-name/file.txt .
gsutil -m cp -r ./local-dir gs://bucket-name/
# List
gsutil ls gs://bucket-name/
# Sync
gsutil rsync -r ./local-dir gs://bucket-name/dir/
# Set permissions
gsutil iam ch allUsers:objectViewer gs://bucket-name
\`\`\`
### BigQuery
\`\`\`bash
# Create dataset
bq mk --dataset PROJECT_ID:agents_dataset
# Create table
bq mk --table agents_dataset.agent_logs schema.json
# Query
bq query --use_legacy_sql=false \
'SELECT * FROM `project.dataset.table` LIMIT 10'
# Load data
bq load --source_format=NEWLINE_DELIMITED_JSON \
agents_dataset.logs gs://bucket/logs/*.json
# Export
bq extract --destination_format NEWLINE_DELIMITED_JSON \
agents_dataset.logs gs://bucket/export/logs-*.json
\`\`\`
### Pub/Sub
\`\`\`bash
# Create topic
gcloud pubsub topics create agent-events
# Create subscription
gcloud pubsub subscriptions create agent-events-sub \
--topic agent-events
# Publish message
gcloud pubsub topics publish agent-events \
--message '{"event": "agent_started", "agent_id": "123"}'
# Pull messages
gcloud pubsub subscriptions pull agent-events-sub --auto-ack
\`\`\`
## Python SDK
\`\`\`python
from google.cloud import storage, bigquery, pubsub_v1
# Cloud Storage
storage_client = storage.Client()
bucket = storage_client.bucket('golden-armada-data')
# Upload
blob = bucket.blob('agents/config.json')
blob.upload_from_string(json.dumps(config))
# Download
blob = bucket.blob('agents/config.json')
content = blob.download_as_string()
# BigQuery
bq_client = bigquery.Client()
query = """
SELECT agent_id, COUNT(*) as task_count
FROM `project.dataset.tasks`
GROUP BY agent_id
ORDER BY task_count DESC
"""
results = bq_client.query(query)
for row in results:
print(f"{row.agent_id}: {row.task_count}")
# Insert rows
table_ref = bq_client.dataset('agents_dataset').table('logs')
errors = bq_client.insert_rows_json(table_ref, rows)
# Pub/Sub Publisher
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('project-id', 'agent-events')
future = publisher.publish(
topic_path,
json.dumps({"event": "task_completed"}).encode(),
agent_id="123"
)
message_id = future.result()
# Pub/Sub Subscriber
subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path('project-id', 'agent-events-sub')
def callback(message):
print(f"Received: {message.data}")
message.ack()
streaming_pull_future = subscriber.subscribe(subscription_path, callback=callback)
\`\`\`
## Terraform GCP Resources
\`\`\`hcl
provider "google" {
project = var.project_id
region = var.region
}
# GKE Cluster
resource "google_container_cluster" "primary" {
name = "golden-armada-cluster"
location = var.zone
remove_default_node_pool = true
initial_node_count = 1
network = google_compute_network.vpc.name
subnetwork = google_compute_subnetwork.subnet.name
}
resource "google_container_node_pool" "primary_nodes" {
name = "primary-node-pool"
location = var.zone
cluster = google_container_cluster.primary.name
node_count = 3
node_config {
machine_type = "e2-standard-4"
oauth_scopes = [
"https://www.googleapis.com/auth/cloud-platform"
]
}
autoscaling {
min_node_count = 1
max_node_count = 10
}
}
# Cloud Run Service
resource "google_cloud_run_service" "agent_api" {
name = "golden-armada-api"
location = var.region
template {
spec {
containers {
image = "gcr.io/${var.project_id}/agent:latest"
env {
name = "ENV"
value = "production"
}
}
}
}
traffic {
percent = 100
latest_revision = true
}
}
# Cloud Storage Bucket
resource "google_storage_bucket" "data" {
name = "golden-armada-data"
location = var.region
uniform_bucket_level_access = true
lifecycle_rule {
condition {
age = 30
}
action {
type = "Delete"
}
}
}
\`\`\`More DevOps & Infrastructure skills
azure-ai
microsoft/azure-skills
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.
appinsights-instrumentation
microsoft/azure-skills
Guidance for instrumenting webapps with Azure Application Insights. Provides telemetry patterns, SDK setup, and configuration references. WHEN: how to instrument app, App Insights SDK, telemetry patterns, what is App Insights, Application Insights guidance, instrumentation examples, APM best practices.
azure-storage
microsoft/azure-skills
Azure Storage Services including Blob Storage, File Shares, Queue Storage, Table Storage, and Data Lake. Answers questions about storage access tiers (hot, cool, cold, archive), when to use each tier, and tier comparison. Provides object storage, SMB file shares, async messaging, NoSQL key-value, and big data analytics. Includes lifecycle management. USE FOR: blob storage, file shares, queue storage, table storage, data lake, upload files, download blobs, storage accounts, access tiers, storage tiers, hot cool cold archive, storage tier comparison, when to use storage tiers, lifecycle management, Azure Storage concepts. DO NOT USE FOR: SQL databases, Cosmos DB (use azure-prepare), messaging with Event Hubs or Service Bus (use azure-messaging).

