/google-cloud-storage-basics
Stores, retrieves, and manages data as objects in Cloud Storage (Google Cloud Storage, or GCS) buckets. Use when you need to interact with Cloud Storage — create or configure buckets, upload, download, stream, or transfer data, organize objects with folders, generate signed
$ npx -y skills add google/skills --skill google-cloud-storage-basics --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/google-cloud-storage-basics
Context preview
The summary Claude sees to decide when to auto-load this skill.
Stores, retrieves, and manages data as objects in Cloud Storage (Google Cloud Storage, or GCS) buckets. Use when you need to interact with Cloud Storage — create or configure buckets, upload, download, stream, or transfer data, organize objects with folders, generate signed
SKILL.md
google-cloud-storage-basics.SKILL.mdname: google-cloud-storage-basics
description: >-
Stores, retrieves, and manages data as objects in Cloud Storage (Google
Cloud Storage, or GCS) buckets. Use when you need to interact with Cloud
Storage — create or configure buckets, upload, download, stream, or transfer
data, organize objects with folders, generate signed URLs, control access
(IAM, ACLs, public access prevention), set storage classes and tiering
(Standard, Nearline, Coldline, Archive), manage cost and lifecycle, protect
data (versioning, encryption/CMEK, retention and Bucket Lock, object holds,
soft delete), host static websites, trigger Pub/Sub notifications on object
changes, mount buckets as a file system (gcsfuse), or optimize storage
performance at any scale. Covers the gcloud storage / gsutil CLI, JSON and
XML APIs, client libraries, Terraform, and Cloud Storage MCP servers. Don't
use for block storage (Persistent Disk), data warehousing/analytics
(BigQuery), or databases (Cloud SQL, Spanner, Bigtable, Firestore).
license: Apache-2.0
metadata:
version: v1
publisher: google
tags:
- gcs
- storage
- cloud-storage
- buckets
- objects
category: Storage
support_tier: primaryGoogle Cloud Storage Basics
Google Cloud Storage (GCS) is a managed service for storing data as objects at any scale. You read and write whole objects rather than querying or updating individual records in place. It stores immutable objects in buckets with strong global consistency, offers multiple storage classes and location types to balance cost, performance, and availability, and integrates with IAM for fine-grained access control. GCS serves workloads ranging from website content and backups to data lakes and high-throughput AI/ML training.
Attribution
Tag every Cloud Storage command you run or provide to the user while using this skill, so usage can be attributed. The tag identifies only the skill and its version; it carries no user data.
- Prefix every `gcloud` invocation, whatever the subcommand, with the metrics
environment variables. Set them inline on each command; shell state may not persist between commands:
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
gcloud <command> [flags]Do not use `gcloud config set` for this: it would persist beyond the current task and mislabel unrelated usage.
- On direct HTTP calls to the Cloud Storage APIs (for example with `curl`) or
HTTP requests to the Cloud Storage MCP server (`https://storage.googleapis.com/storage/mcp`), set this exact User-Agent header, verbatim — the collection pipeline parses the `gcs-skills/<version>` and `skill:<name>` tokens, so any rewording breaks attribution:
User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)
- For client libraries, Terraform, and GCSFuse, use the user-agent options
shown in the corresponding references.
Quick Start
If a Cloud Storage MCP server is connected, prefer its structured tools (such as `create_bucket`, `list_objects`, `read_object`, and `upload_object`) over the CLI and API commands below — see [MCP Usage](references/mcp-usage.md). Fall back to `gcloud storage` and the JSON API when no MCP server is available.
1. **Enable the Cloud Storage API:**
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
gcloud services enable storage.googleapis.com --quiet2. **Create a Bucket:**
Bucket names live in a single global namespace shared by all of Cloud Storage — not scoped to your project or organization — so short or common names are usually taken. If the location is omitted, the bucket defaults to the `US` multi-region.
Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
gcloud storage buckets create gs://my-bucket --location=us-central1Using the JSON API:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
-H "Content-Type: application/json" \
-d '{"name": "my-bucket", "location": "US-CENTRAL1"}' \
"https://storage.googleapis.com/storage/v1/b?project=$(gcloud config get-value project)"3. **Upload an Object:**
Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
gcloud storage cp ./my-file.txt gs://my-bucketUsing the JSON API:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
-H "Content-Type: text/plain" \
--data-binary @my-file.txt \
"https://storage.googleapis.com/upload/storage/v1/b/my-bucket/o?uploadType=media&name=my-file.txt"4. **Download an Object:**
Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
gcloud storage cp gs://my-bucket/my-file.txt .Using the JSON API:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
"https://storage.googleapis.com/storage/v1/b/my-bucket/o/my-file.txt?alt=media"Reference Directory
- [Core Concepts](references/core-concepts.md): Buckets, objects, folders,
prefixes, bucket location types, and storage classes.
- [CLI & API Usage](references/cli-api-usage.md): CRUD and list operations for
buckets and objects using `gcloud storage` and the JSON API, plus Pub/Sub notifications for event-driven processing.
- [Client Libraries](refer
Read more
name: google-cloud-storage-basics
description: >-
Stores, retrieves, and manages data as objects in Cloud Storage (Google
Cloud Storage, or GCS) buckets. Use when you need to interact with Cloud
Storage — create or configure buckets, upload, download, stream, or transfer
data, organize objects with folders, generate signed URLs, control access
(IAM, ACLs, public access prevention), set storage classes and tiering
(Standard, Nearline, Coldline, Archive), manage cost and lifecycle, protect
data (versioning, encryption/CMEK, retention and Bucket Lock, object holds,
soft delete), host static websites, trigger Pub/Sub notifications on object
changes, mount buckets as a file system (gcsfuse), or optimize storage
performance at any scale. Covers the gcloud storage / gsutil CLI, JSON and
XML APIs, client libraries, Terraform, and Cloud Storage MCP servers. Don't
use for block storage (Persistent Disk), data warehousing/analytics
(BigQuery), or databases (Cloud SQL, Spanner, Bigtable, Firestore).
license: Apache-2.0
metadata:
version: v1
publisher: google
tags:
- gcs
- storage
- cloud-storage
- buckets
- objects
category: Storage
support_tier: primaryGoogle Cloud Storage Basics
Google Cloud Storage (GCS) is a managed service for storing data as objects at any scale. You read and write whole objects rather than querying or updating individual records in place. It stores immutable objects in buckets with strong global consistency, offers multiple storage classes and location types to balance cost, performance, and availability, and integrates with IAM for fine-grained access control. GCS serves workloads ranging from website content and backups to data lakes and high-throughput AI/ML training.
Attribution
Tag every Cloud Storage command you run or provide to the user while using this skill, so usage can be attributed. The tag identifies only the skill and its version; it carries no user data.
- Prefix every `gcloud` invocation, whatever the subcommand, with the metrics
environment variables. Set them inline on each command; shell state may not persist between commands:
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
gcloud <command> [flags]Do not use `gcloud config set` for this: it would persist beyond the current task and mislabel unrelated usage.
- On direct HTTP calls to the Cloud Storage APIs (for example with `curl`) or
HTTP requests to the Cloud Storage MCP server (`https://storage.googleapis.com/storage/mcp`), set this exact User-Agent header, verbatim — the collection pipeline parses the `gcs-skills/<version>` and `skill:<name>` tokens, so any rewording breaks attribution:
User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)
- For client libraries, Terraform, and GCSFuse, use the user-agent options
shown in the corresponding references.
Quick Start
If a Cloud Storage MCP server is connected, prefer its structured tools (such as `create_bucket`, `list_objects`, `read_object`, and `upload_object`) over the CLI and API commands below — see [MCP Usage](references/mcp-usage.md). Fall back to `gcloud storage` and the JSON API when no MCP server is available.
1. **Enable the Cloud Storage API:**
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
gcloud services enable storage.googleapis.com --quiet2. **Create a Bucket:**
Bucket names live in a single global namespace shared by all of Cloud Storage — not scoped to your project or organization — so short or common names are usually taken. If the location is omitted, the bucket defaults to the `US` multi-region.
Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
gcloud storage buckets create gs://my-bucket --location=us-central1Using the JSON API:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
-H "Content-Type: application/json" \
-d '{"name": "my-bucket", "location": "US-CENTRAL1"}' \
"https://storage.googleapis.com/storage/v1/b?project=$(gcloud config get-value project)"3. **Upload an Object:**
Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
gcloud storage cp ./my-file.txt gs://my-bucketUsing the JSON API:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
-H "Content-Type: text/plain" \
--data-binary @my-file.txt \
"https://storage.googleapis.com/upload/storage/v1/b/my-bucket/o?uploadType=media&name=my-file.txt"4. **Download an Object:**
Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
gcloud storage cp gs://my-bucket/my-file.txt .Using the JSON API:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)" \
"https://storage.googleapis.com/storage/v1/b/my-bucket/o/my-file.txt?alt=media"Reference Directory
- [Core Concepts](references/core-concepts.md): Buckets, objects, folders,
prefixes, bucket location types, and storage classes.
- [CLI & API Usage](references/cli-api-usage.md): CRUD and list operations for
buckets and objects using `gcloud storage` and the JSON API, plus Pub/Sub notifications for event-driven processing.
- [Client Libraries](refer
This repository contains Agent Skills for Google products and technologies, including Google Cloud. This repository is under active development.
Repo: google/skills
Other skills on google-skills.
- /data-manager-api-audience-ingestion
Guides developers through managing (adding, removing, and clearing) audience members for Google products using the Data Manager API and its associated client libraries. Use this skill when the user wants to upload audience members, remove specific users, or clear/replace an
Open skill - /data-manager-api-event-ingestion
Guides developers through implementing event and conversion ingestion to Google products using the Data Manager API /v1/events/ingest endpoint and its associated client libraries. Use this skill when the user wants to upload offline conversions, enhanced conversions for leads,
Open skill - /data-manager-api-setup
Guides developers through client library installation and authentication setup steps for the Data Manager API. Use this skill when a user is getting started with the Data Manager API and needs to setup their local environment, install the client library, or setup access to the
Open skill - /google-ads-api-account-diagnostics
Diagnoses Google Ads account performance issues such as conversion loss (value or volume), low lead flow/volume, and lost impression share (opportunities) due to ad rank, bids, or budgets. Use when troubleshooting sudden performance drops, analyzing campaign impression share
Open skill - /google-ads-api-mcp-setup
Guides developers through downloading, configuring, and installing the official open-source Google Ads MCP Server. Use this skill when a user wants to connect their AI assistant (such as Gemini, Claude Code, or Cursor) to their Google Ads account to query campaigns or retrieve
Open skill - /google-ads-api-quickstart
Guides developers through Google Ads API quickstart: credential setup, choosing from 6 client libraries/REST, configuring environments, and running a "retrieve campaigns" script. Troubleshoots common setup errors: USER_PERMISSION_DENIED, login_customer_id issues, and
Open skill

