Feature Request: Cloud Storage (GCS) Skill

Open
#105 3 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
google-cloud, kubernetes

Research direction

Start by reviewing the proposed SKILL.md frontmatter and the linked Google Cloud Storage, GCS Fuse CSI driver, and Cloud Run volume-mount documentation. Define the gcs-basics skill around the listed bucket setup, storage classes, security, integrations, signed URLs, lifecycle, and performance topics. Done means a complete draft covers these reference areas and the stated user triggers.

Written by the indexing model from the issue text.

Description

Feature Request: Cloud Storage (GCS) Skill

Summary

Google Cloud Storage is the foundational object storage service for nearly every GCP workload — yet there is currently no dedicated skill to guide agents (and users) on bucket provisioning, security hardening, lifecycle management, or integration patterns with other Google Cloud services.

The Gap

A typical agent workflow today:

User asks about storing files on GCP → Agent loads gcloud or cloud-run-basics skill → Guidance is fragmented and does not cover storage-specific concerns (IAM vs ACL, signed URLs, storage classes, CORS, etc.)

Without a dedicated gcs-basics skill, agents cannot reliably answer:

  • Which storage class (Standard, Nearline, Coldline, Archive) fits a given retention and access pattern?
  • How to generate signed URLs for temporary, secure public access?
  • How to mount a GCS bucket as a file system in GKE (via CSI driver) or Cloud Run (via volume mounts)?
  • How to enforce uniform bucket-level access and prevent ACL drift?
  • How to set up object lifecycle rules to auto-transition or delete stale data?

Proposed Skill

A gcs-basics skill that agents load when users mention: Cloud Storage, GCS, bucket, object storage, file upload, signed URL, storage class, lifecycle policy, or CORS.

Suggested SKILL.md frontmatter
---
name: gcs-basics
description: >
  Use when the user asks about storing, retrieving, or managing objects on Google Cloud.
  Covers bucket creation, IAM/ACL permissions, storage class selection, lifecycle policies,
  signed URLs, CORS configuration, and integration with GKE (CSI), Cloud Run (volume mounts),
  and BigQuery (external tables). WHEN: create bucket, upload file, storage class, lifecycle
  rule, signed URL, CORS, GCS mount, GCS security, GCS cost optimization.
compatibility: Requires storage.objectViewer or storage.objectAdmin IAM role and the Cloud Storage API enabled.
---
Key reference topics
  1. Golden Path Bucket Setup — uniform bucket-level access, IAM-only, no legacy ACLs
  2. Storage Classes & Cost — decision matrix (Standard vs Nearline vs Coldline vs Archive), autoclass
  3. Security — public access prevention, VPC Service Controls, encryption (CMEK vs Google-managed)
  4. Integration Patterns
    • GKE: GCS Fuse CSI driver for pod volume mounts
    • Cloud Run: GCS volume mounts (second gen)
    • BigQuery: External tables over GCS (Parquet/ORC/CSV/JSON)
  5. Signed URLs — V4 signing, expiration best practices, service account key vs workload identity
  6. Lifecycle Management — transition rules, deletion rules, abort incomplete multipart upload
  7. Performance — parallel composite uploads, turbo replication, dual-region buckets

Why Now?

  • GCS is referenced implicitly by at least 5 existing skills (GKE, Cloud Run, BigQuery, Firebase, Gemini API media upload) but never explained in depth.
  • Agent Platform users increasingly ask about multi-modal pipelines where images, audio, and documents flow through Cloud Storage before reaching Gemini.
  • The recent GCS FUSE and Cloud Run volume mount features are not documented in any existing skill.

Reference Implementation

Google Cloud official docs:

Happy to contribute a SKILL.md draft if this direction is accepted.

Dominant language
Python
Stars
23.1k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from google/skills

All issues in google/skills

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.