agentleFS
kumaran-iskumaran-is/claude-code-onboarding/.claude/skills/gcp-cloud-run/SKILL.md

gcp-cloud-run

Skill35 starsChanged 6 months agoMITView on GitHub

GCP Cloud Run deployment skill. Use for Cloud Run Functions (event-driven Pub/Sub, Storage, HTTP webhooks), cold start optimization, and Cloud Run anti-pattern prevention. For Cloud Run service deployment use deployment-engineer agent. Triggers: cloud run, cloud function, pub/sub trigger, cold start, serverless, event-driven GCP, cloud storage trigger.

6 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before writing any Cloud Run Function code:

    line 67
  2. Very specific:

    ADK agent on Cloud Run: Use adk-deploy-guide skill (has ADK-specific Cloud Run patterns)

    line 94

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

GCP Cloud Run

Iron Law

NO CLOUD RUN FUNCTION WITHOUT:
1. A stack-specific health check endpoint (GET /health → 200)
2. GitHub Actions workflow (NEVER cloudbuild.yaml)
3. Workload Identity Federation (NEVER service account JSON keys)

This Skill vs deployment-engineer Agent

TaskUse This SkillUse deployment-engineer Agent
Pub/Sub consumer functionYESNo
Cloud Storage trigger functionYESNo
HTTP webhook / short-lived invocationYESNo
Cold start optimizationYESNo
Long-running Cloud Run serviceNoYES
CI/CD pipeline design (service)NoYES
Terraform Cloud Run service moduleNoYES (terraform-specialist)

Key distinction: Cloud Run Functions = event-driven, ephemeral, short-lived invocations. Cloud Run Services = long-running, persistent, serve steady traffic → use deployment-engineer.


Pattern Selector

What are you building?
    |
    +-- Pub/Sub consumer, Storage trigger, HTTP webhook?
    |   -> Load: reference/cloud-run-functions.md
    |   -> Pick your stack section (Python, NestJS, Spring Boot, TypeScript/Fastify)
    |
    +-- Cold start is too slow in staging or prod?
    |   -> Load: reference/cold-start-optimization.md
    |   -> Apply flags from the optimization table
    |
    +-- Reviewing existing Cloud Run code or config?
        -> Load: assets/cloud-run-antipatterns.md
        -> Run through checklist before declaring done

Quick Start Checklist

Before writing any Cloud Run Function code:

  • Chose event trigger type: Pub/Sub push | Cloud Storage notification | HTTP
  • Selected target stack: Python FastAPI | NestJS | Spring Boot WebFlux | TypeScript/Fastify
  • Verified runtime version: python:3.14-slim | node:24-alpine | eclipse-temurin:21-jre-alpine
  • Confirmed port binding: PORT env var (Cloud Run injects this, default 8080)
  • Health check endpoint planned: GET /health → { "status": "ok" }
  • WIF configured or planned (no service account JSON keys)
  • docker skill loaded for Dockerfile (multi-stage, non-root user)

Reference Files

FileLoad When
reference/cloud-run-functions.mdWriting a Pub/Sub, Storage, or HTTP trigger function
reference/cold-start-optimization.mdFunction is slow to start or you need --cpu-boost flags
assets/cloud-run-antipatterns.mdReviewing any Cloud Run code or config for correctness

Cross-References

  • Dockerfiles: Load docker skill → reference/dockerfiles.md for all 4 stack Dockerfiles
  • Cloud Run Service (long-running): Dispatch deployment-engineer agent
  • Terraform infrastructure: Dispatch terraform-specialist agent
  • ADK agent on Cloud Run: Use adk-deploy-guide skill (has ADK-specific Cloud Run patterns)
  • GitHub Actions pipeline: docs/workflows/deployment-ci-cd.md
  • Security review (WIF, secrets): Dispatch security-reviewer agent after implementation

GitHub Actions Deploy Snippet (All Stacks)

# .github/workflows/deploy-function.yml
name: Deploy Cloud Run Function

on:
  push:
    branches: [develop, main]

env:
  PROJECT_ID: ${{ vars.GCP_PROJECT_ID }}
  REGION: us-central1
  FUNCTION_NAME: my-function
  REGISTRY: ${{ vars.GCP_REGION }}-docker.pkg.dev

jobs:
  deploy:
    runs-on: ubuntu-latest
    permissions:
      id-token: write    # Required for Workload Identity Federation
      contents: read

    steps:
      - uses: actions/checkout@v4

      - name: Authenticate to GCP
        uses: google-github-actions/auth@v2
        with:
          workload_identity_provider: ${{ vars.WIF_PROVIDER }}
          service_account: ${{ vars.WIF_SERVICE_ACCOUNT }}

      - name: Build and push image
        run: |
          docker build -t $REGISTRY/$PROJECT_ID/$FUNCTION_NAME:${{ github.sha }} .
          gcloud auth configure-docker $REGISTRY --quiet
          docker push $REGISTRY/$PROJECT_ID/$FUNCTION_NAME:${{ github.sha }}

      - name: Deploy to Cloud Run
        run: |
          gcloud run deploy $FUNCTION_NAME \
            --image $REGISTRY/$PROJECT_ID/$FUNCTION_NAME:${{ github.sha }} \
            --region $REGION \
            --platform managed \
            --no-allow-unauthenticated \
            --cpu-boost \
            --min-instances 0 \
            --max-instances 10

For cold start flags (--cpu-boost, --min-instances, memory/CPU ratio), see reference/cold-start-optimization.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.