Skip to content
Skillv1.0.0

gcp-expert

Expert-level Google Cloud Platform, services, and cloud architecture. Use when the user mentions Google Cloud, Cloud Functions, BigQuery, or Firestore.

by personamanagmentlayer(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from personamanagmentlayer/pcl (stdlib/cloud/gcp-expert/SKILL.md) via skills.sh. Install upstream with npx skills add personamanagmentlayer/pcl --skill gcp-expert. Copyright stays with the author.

Google Cloud Platform Expert

Expert guidance for Google Cloud Platform services and cloud-native architecture.

Core Concepts

  • Compute Engine, App Engine, Cloud Run
  • Cloud Functions (serverless)
  • Cloud Storage
  • BigQuery (data warehouse)
  • Firestore (NoSQL database)
  • Pub/Sub (messaging)
  • Google Kubernetes Engine (GKE)

gcloud CLI

# Initialize
gcloud init

# Create Compute Engine instance
gcloud compute instances create my-instance \
  --zone=us-central1-a \
  --machine-type=e2-medium \
  --image-family=ubuntu-2004-lts \
  --image-project=ubuntu-os-cloud

# Deploy App Engine
gcloud app deploy

# Create Cloud Storage bucket
gsutil mb gs://my-bucket-name/

# Upload file
gsutil cp myfile.txt gs://my-bucket-name/

Cloud Functions

import functions_framework
from google.cloud import firestore

@functions_framework.http
def hello_http(request):
    request_json = request.get_json(silent=True)
    name = request_json.get('name') if request_json else 'World'

    return f'Hello {name}!'

@functions_framework.cloud_event
def hello_pubsub(cloud_event):
    import base64
    data = base64.b64decode(cloud_event.data["message"]["data"]).decode()
    print(f'Received: {data}')

BigQuery

from google.cloud import bigquery

client = bigquery.Client()

# Query
query = """
    SELECT name, COUNT(*) as count
    FROM `project.dataset.table`
    WHERE date >= '2024-01-01'
    GROUP BY name
    ORDER BY count DESC
    LIMIT 10
"""

query_job = client.query(query)
results = query_job.result()

for row in results:
    print(f"{row.name}: {row.count}")

# Load data
dataset_id = 'my_dataset'
table_id = 'my_table'
table_ref = client.dataset(dataset_id).table(table_id)

job_config = bigquery.LoadJobConfig(
    source_format=bigquery.SourceFormat.CSV,
    skip_leading_rows=1,
    autodetect=True
)

with open('data.csv', 'rb') as source_file:
    job = client.load_table_from_file(source_file, table_ref, job_config=job_config)

job.result()

Firestore

from google.cloud import firestore

db = firestore.Client()

# Create document
doc_ref = db.collection('users').document('user1')
doc_ref.set({
    'name': 'John Doe',
    'email': 'john@example.com',
    'age': 30
})

# Query
users_ref = db.collection('users')
query = users_ref.where('age', '>=', 18).limit(10)

for doc in query.stream():
    print(f'{doc.id} => {doc.to_dict()}')

# Real-time listener
def on_snapshot(doc_snapshot, changes, read_time):
    for doc in doc_snapshot:
        print(f'Received document: {doc.id}')

doc_ref.on_snapshot(on_snapshot)

Pub/Sub

from google.cloud import pubsub_v1

# Publisher
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('project-id', 'topic-name')

data = "Hello World".encode('utf-8')
future = publisher.publish(topic_path, data)
print(f'Published message ID: {future.result()}')

# Subscriber
subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path('project-id', 'subscription-name')

def callback(message):
    print(f'Received: {message.data.decode("utf-8")}')
    message.ack()

streaming_pull_future = subscriber.subscribe(subscription_path, callback=callback)

Best Practices

  • Use service accounts
  • Implement IAM properly
  • Use Cloud Storage lifecycle policies
  • Monitor with Cloud Monitoring
  • Use managed services
  • Implement auto-scaling
  • Optimize BigQuery costs

Anti-Patterns

❌ No IAM policies ❌ Storing credentials in code ❌ Ignoring costs ❌ Single region deployments ❌ No data backup ❌ Overly broad permissions

Resources

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/personamanagmentlayer-pcl-gcp-expert/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

personamanagmentlayer-pcl-gcp-expert.ocm.jsonjson
{
  "ocm": "1",
  "id": "personamanagmentlayer-pcl-gcp-expert",
  "kind": "skill",
  "name": "gcp-expert",
  "description": "Expert-level Google Cloud Platform, services, and cloud architecture. Use when the user mentions Google Cloud, Cloud Functions, BigQuery, or Firestore.",
  "publisher": "personamanagmentlayer",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "gcp",
      "google-cloud",
      "cloud-functions",
      "bigquery",
      "firestore",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Expert-level Google Cloud Platform, services, and cloud architecture. Use when the user mentions Google Cloud, Cloud Functions, BigQuery, or Firestore."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/personamanagmentlayer/pcl",
      "path": "stdlib/cloud/gcp-expert/SKILL.md",
      "ref": "HEAD",
      "url": "https://www.skills.sh/personamanagmentlayer/pcl/gcp-expert",
      "key": "personamanagmentlayer/pcl/stdlib/cloud/gcp-expert/SKILL.md"
    },
    "allowed_tools": [
      "Read",
      "Write",
      "Edit",
      "Bash(gcloud:*)"
    ]
  },
  "instructions": "# Google Cloud Platform Expert\n\nExpert guidance for Google Cloud Platform services and cloud-native architecture.\n\n## Core Concepts\n\n- Compute Engine, App Engine, Cloud Run\n- Cloud Functions (serverless)\n- Cloud Storage\n- BigQuery (data warehouse)\n- Firestore (NoSQL database)\n- Pub/Sub (messaging)\n- Google Kubernetes Engine (GKE)\n\n## gcloud CLI\n\n```bash\n# Initialize\ngcloud init\n\n# Create Compute Engine instance\ngcloud compute instances create my-instance \\\n  --zone=us-central1-a \\\n  --machine-type=e2-medium \\\n  --image-family=ubuntu-2004-lts \\\n  --image-project=ubuntu-os-cloud\n\n# Deploy App En",
  "cost": {
    "context_tokens": 928
  }
}

Fetch it by URL: GET /api/v1/registry/personamanagmentlayer-pcl-gcp-expert/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.