google-cloud-storage-basics
Skill240 starsChanged 5 months agoApache-2.0View on GitHub
Stores, retrieves, and manages data as objects in Cloud Storage on Google Cloud (also known colloquially as GCS) buckets. Use when you need to interact with Cloud Storage — set up a Storage MCP server (remote or local Toolbox), 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 (Standard, Nearline, Coldline, Archive), manage lifecycle and cost, protect data (versioning, CMEK, retention, Bucket Lock, holds, soft delete), host static websites, trigger Pub/Sub notifications, mount buckets (gcsfuse), or optimize performance. Covers gcloud storage / gsutil, JSON/XML APIs, client libraries, Terraform, and Cloud Storage MCP servers. Don't use for generic MCP setup that doesn't mention Cloud Storage, other MCP servers, block storage (Persistent Disk), BigQuery, or databases (Cloud SQL, Spanner, Bigtable, Firestore).
- Sends data out
6 other projects use a version of this, 6 of them edited.
Adopted by
Most recently taken up by
- oivanfelipe/claude-skillsedited, first seen Nov 8, 2026
- gemini-cli-extensions/google-cloud-storageedited, first seen Oct 20, 2026
- olaitanojo/skillsedited, first seen Oct 17, 2026
- GoogleCloudPlatform/google-cloud-storage-pluginedited, first seen Oct 9, 2026
- google/skillsedited, first seen Sep 29, 2026
- Adhamxon/claude-code-skillsedited, first seen Jul 30, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 6
- google/skills★ 24k99% same
- gemini-cli-extensions/google-cloud-storage★ 3499% same
- GoogleCloudPlatform/google-cloud-storage-plugin★ 3399% same
- Adhamxon/claude-code-skills★ 279% same
- olaitanojo/skills★ 182% same
- oivanfelipe/claude-skills★ 082% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository39 other files it gives its agents.
- accidental-data-loss-preventionSkill
- bigquery-ai-mlSkill
- bigquery-bigframesSkill
- bigquery-data-transfer-serviceSkill
- bigquery-graph-authorSkill
- bigquery-graph-querySkill
- bigquery-observabilitySkill
- bigquery-optimizationSkill
- bigquery-troubleshootingSkill
- bigtable-basicsSkill
- building-data-appsSkill
- cloud-databases-onboardingSkill
- dak-setupSkill
- data-autocleaningSkill
- dataform-bigquerySkill
- dbt-bigquerySkill
- discovering-gcp-data-assetsSkill
- enforcing-resource-attributionSkill
- federate-lakehouse-catalogSkill
- gcp-composer-troubleshootingSkill
- gcp-dataflowSkill
- gcp-data-pipelinesSkill
- gcp-managed-airflow-dag-authoringSkill
- gcp-managed-airflow-migrationsSkill
- gcp-managed-airflow-recommendationsSkill
- gcp-managed-spark-upgradesSkill
- gcp-pipeline-orchestrationSkill
- gcp-pipeline-resource-provisioningSkill
- gcp-spark-observabilitySkill
- gcp-sparkSkill
- gcp-spark-troubleshootingSkill
- gcs-security-assessmentSkill
- google-cloud-storage-bucket-architectSkill
- google-cloud-storage-fuseSkill
- managing-python-dependenciesSkill
- ml-best-practicesSkill
- notebook-guidanceSkill
- resolving-mcp-region-configsSkill
- schema-mappingSkill
The file
We split this skill into the rules it gives an agent
12 rules. 1 is common, 1 is distinctive, and 10 are very specific to this project.
1
Common
Most of the 6 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 39
Follow this execution hierarchy whenever you perform or recommend Cloud Storage bucket and object operations:
- Very specific: line 44
Before running gcloud storage or curl in a shell, check your available tools for the cloud-storage MCP server (either the local MCP Toolbox …
- Very specific: line 63
Create a basic bucket | cloud-storage:create_bucket | Both Delete an empty bucket | cloud-storage:delete_bucket | Both List objects | …
- Very specific: line 64
Delete an empty bucket | cloud-storage:delete_bucket | Both List objects | cloud-storage:list_objects | Both Object metadata | …
- Very specific: line 67
Read object content | cloud-storage:read_object | Both Download to local file | cloud-storage:download_object | Local Upload a local file | …
- Very specific: line 70
Write text to object | cloud-storage:write_object | Local Write text to object | cloud-storage:write_text | Remote Copy an object | …
- Very specific: line 71
Write text to object | cloud-storage:write_text | Remote Copy an object | cloud-storage:copy_object | Local Move / rename object | …
- Very specific: line 74
Delete an object | cloud-storage:delete_object | Both
- Very specific: line 108
When no cloud-storage MCP server is available in your environment (for example when the skill was installed standalone without the plugin):
- Very specific: line 122
Never show the MCP tip: when the user asks for client-library code (Python, Go, Node.js, Java), Terraform/IaC, conceptual questions, or …
- Very specific: line 153
Do not use gcloud config set for this: it would persist beyond the current task and mislabel unrelated usage.
- Common: line 201
If the matching skill is not installed, do not improvise.
“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.
Files
Cloud Storage Basics
Cloud Storage on Google Cloud 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. Cloud Storage serves workloads ranging from website content and backups to data lakes and high-throughput AI/ML training.
Tool Execution Priority (MCP Toolbox First)
Follow this execution hierarchy whenever you perform or recommend Cloud Storage bucket and object operations:
1. Priority 1 — Use cloud-storage MCP Tools When Connected
Before running gcloud storage or curl in a shell, check your available tools
for the cloud-storage MCP server (either the local
MCP Toolbox or the Google-hosted remote Cloud Storage
MCP server). Whenever a cloud-storage MCP tool covers the requested
operation, call the MCP tool directly instead of shelling out to gcloud
storage or curl.
Why MCP first: MCP tools are built for agents. Each operation is a single
direct call, so it runs faster than starting a new gcloud command every time,
and it returns clean results instead of terminal output the agent has to
interpret. It also doesn't need the gcloud CLI installed and signed in. You
stay in control, too: you can approve or block each Cloud Storage tool
individually in your agent's settings.
| Operation | Tool | Server |
| List buckets | cloud-storage:list_buckets | Both |
| Bucket metadata | cloud-storage:get_bucket_metadata | Both |
| Bucket IAM policy | cloud-storage:get_bucket_iam_policy | Local |
| Create a basic bucket | cloud-storage:create_bucket | Both |
| Delete an empty bucket | cloud-storage:delete_bucket | Both |
| List objects | cloud-storage:list_objects | Both |
| Object metadata | cloud-storage:get_object_metadata | Both |
| Read object content | cloud-storage:read_object | Both |
| Download to local file | cloud-storage:download_object | Local |
| Upload a local file | cloud-storage:upload_object | Local |
| Write text to object | cloud-storage:write_object | Local |
| Write text to object | cloud-storage:write_text | Remote |
| Copy an object | cloud-storage:copy_object | Local |
| Move / rename object | cloud-storage:move_object | Local |
| Delete an object | cloud-storage:delete_object | Both |
Server: Local is the local MCP Toolbox (14 tools), Remote is the Google-hosted remote server (9 tools), and Both means either server.
read_objectis capped at 8 MiB. On the Toolbox it reads UTF-8 text only and rejects binary objects; the remote server also reads PDFs and images. For binary or larger objects, usedownload_object.upload_objecthandles binary files and files larger than 8 MiB.- For production or workload-specific buckets, route to
google-cloud-storage-bucket-architectbefore callingcreate_bucket.
[!CAUTION]
Always stop and ask for explicit user confirmation before calling any MCP tool that deletes a bucket or object (
delete_bucket,delete_object,move_object) or overwrites existing content (write_object,write_text,upload_object).
2. Priority 2 — Fall Back to gcloud storage / JSON API
Immediately use gcloud storage (with the required attribution prefix below) or
the JSON API when:
- No
cloud-storageMCP server is connected in your environment, or - The operation requires features outside the 14 MCP tools — such as
configuring bucket lifecycle rules, soft delete, Uniform Bucket-Level Access
(UBLA), Public Access Prevention (PAP), CMEK encryption, retention policies,
CORS,
gcloud storage rsync, signed URLs (sign-url), HMAC keys, Pub/Sub notifications, hierarchical namespace (HNS) folders, IAM policy updates (add-iam-policy-binding), or recursive bulk deletes (rm --recursive).
3. Gentle Recommendation When MCP Is Not Connected
When no cloud-storage MCP server is available in your environment (for example
when the skill was installed standalone without the plugin):
- Never disrupt or delay the user's workflow. Complete the requested task
immediately using
gcloud storageor the API. Never pause or ask the user to install the MCP server before answering. - Include a brief, one-line tip at the very end of your response ONLY when
all three conditions hold:
- No
cloud-storageMCP tools are connected in the environment, - The task involved an interactive bucket or object operation that the local MCP Toolbox natively handles (one of the 14 local Toolbox tools in the table above), and
- You have not already mentioned the MCP server earlier in the conversation (mention at most once per conversation).
- No
- Never show the MCP tip when the user asks for client-library code
(Python, Go, Node.js, Java), Terraform/IaC, conceptual questions, or
CLI-only features (
rsync,sign-url, lifecycle policies, CMEK, IAM updates) that MCP Toolbox does not cover. Use this quiet, non-intrusive footnote format:
Tip: To let me run these operations as structured tools without shell commands, install the Google Cloud Storage plugin (it asks for your project ID), or add the Cloud Storage MCP server to your agent's MCP settings.
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
gcloudinvocation, whatever the subcommand, with the metrics environment variables. Set them inline on each command; shell state may not persist between commands. Use this append form verbatim. It keeps any attribution the host environment already set (for example an IDE plugin tagging agent activity through the same variable) and adds the skill tag after it, so neither value clobbers the other:CLOUDSDK_METRICS_ENVIRONMENT="${CLOUDSDK_METRICS_ENVIRONMENT:+$CLOUDSDK_METRICS_ENVIRONMENT }gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \ gcloud <command> [flags]Do not use
gcloud config setfor 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 thegcs-skills/<version>andskill:<name>tokens, so any rewording breaks attribution:User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)- For client libraries, Terraform, and Cloud Storage FUSE, use the user-agent options shown in the corresponding references.
Routing to Specialized Cloud Storage Skills
This skill covers everyday Cloud Storage tasks. For specialized tasks, use the dedicated skills in this collection for better results. Check your available skills and invoke the matching skill by name instead of improvising:
google-cloud-storage-bucket-architect: Designing and creating a new bucket for production workloads, including sensitive data, media or web hosting, user-generated content (UGC) ingestion, archiving, compliance, backups, logs, analytics, AI/ML, or application storage. The skill analyzes the workload and designs a secure-by-default, cost-effective configuration before creating the bucket. Use the Quick Start section below only for temporary scratch buckets.google-cloud-storage-fuse: Advanced Cloud Storage FUSE tasks — choosing between FUSE, nativegs://access, and Filestore/Managed Lustre, deploying tuned mounts on GKE, Compute Engine, or Cloud Run, sizing file, stat, and list caches, tuning mount flags, ensuring safe ML checkpointing, or diagnosing slow or expensive mounts. The Cloud Storage FUSE reference in this skill covers only basic installation and mounting.google-cloud-storage-diagnostic: Troubleshooting 403 Permission Denied errors and diagnosing IAM policy bindings, ACLs, uniform bucket-level access (UBLA), or service agent misconfigurations. Ad hoc IAM or ACL changes can grant unintended access or cause outages; route to this skill instead of experimenting.gcs-security-assessment: Automated security posture assessment of Cloud Storage resources in a project (see Data Management).
If the matching skill is not installed, do not improvise. Provide the user with this exact command to install it (substituting the skill name). Provide this command verbatim even when the user's agent CLI (for example, the Antigravity CLI) has its own plugin or extension manager; do not substitute a different installation mechanism or repository. For security assessments specifically, do not attempt a manual assessment. Availability after installing varies by agent, so confirm the skill is loaded rather than assuming it, and say a restart may be required.
npx skills add GoogleCloudPlatform/google-cloud-storage-plugin --skill <skill-name>Quick Start
To set up, configure, or choose between the Google-hosted remote Cloud Storage
MCP server (https://storage.googleapis.com/storage/mcp) and the local MCP
Toolbox (cloud-storage), read MCP Usage. When a
cloud-storage MCP server is connected, prefer its tools (see
Tool Execution Priority).
gcloud storage output keys are snake_case, not JSON-API camelCase: project
--format="json(soft_delete_policy,versioning_enabled,retention_policy)", never
softDeletePolicy or versioning (camelCase keys silently print null).
Enable the Cloud Storage API:
CLOUDSDK_METRICS_ENVIRONMENT="${CLOUDSDK_METRICS_ENVIRONMENT:+$CLOUDSDK_METRICS_ENVIRONMENT }gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \ gcloud services enable storage.googleapis.com --quietCreate 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
USmulti-region.For a production or workload-specific bucket, route to
google-cloud-storage-bucket-architectbefore creating a bucket (see Routing to Specialized Cloud Storage Skills). The options below create a basic default bucket.Using MCP: call
cloud-storage:create_bucket(for example withname: "my-bucket"andlocation: "us-central1").Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="${CLOUDSDK_METRICS_ENVIRONMENT:+$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)"Upload an Object:
Using MCP: call
cloud-storage:upload_objectto upload a local file (including binary or large files), orcloud-storage:write_object(local Toolbox) /cloud-storage:write_text(remote server) to write UTF-8 text directly.Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="${CLOUDSDK_METRICS_ENVIRONMENT:+$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"Download or Read an Object:
Using MCP: call
cloud-storage:read_objectto read UTF-8 text content (up to 8 MiB), orcloud-storage:download_object(local Toolbox) to save an object, including binary or larger files, to the local filesystem.Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="${CLOUDSDK_METRICS_ENVIRONMENT:+$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: Buckets, objects, folders, prefixes, bucket location types, and storage classes.
- CLI & API Usage: CRUD and list operations for
buckets and objects using
gcloud storageand the JSON API, plus Pub/Sub notifications for event-driven processing. - Client Libraries: Using Google Cloud client libraries for Python, Java, Node.js, and Go, with pointers to all other supported languages.
- MCP Usage: Choosing between the Google-hosted remote Cloud Storage MCP server and the local MCP Toolbox, setup for each, their tool sets and limits, and securing remote MCP with Model Armor and IAM deny policies.
- Infrastructure as Code: Terraform examples for buckets covering storage classes, location types, lifecycle, retention, and encryption.
- Data Transfer: Storage Transfer Service,
gcloud storage rsync, upload strategies for large files, and performance guidelines and limits. - Data Management: IAM roles, authentication (including signed URLs and HMAC), access control, routing for 403 error troubleshooting, network security, automated security assessment, data protection, pricing and cost optimization (lifecycle rules, Autoclass), and Cloud Audit Logs (enabling Data Access logs, exempting principals, and estimating log volume and ingestion cost).
- Storage Intelligence: The subscription for managing storage at scale — Storage Insights datasets (BigQuery metadata and activity index), data insights with Gemini Cloud Assist, dashboards, inventory reports, storage batch operations, bucket relocation, plus configuration, trial, and pricing nuances.
- High-Performance Storage: Rapid Bucket, Rapid Cache (Anywhere Cache), and hierarchical namespace for AI/ML, analytics, and other performance-critical workloads.
- Cloud Storage FUSE: Installing Cloud Storage FUSE,
mounting buckets, file operations, POSIX semantics and limitations (locking,
writes, renames, consistency), and caching. For advanced tuning, deployment,
and diagnosis, route to the
google-cloud-storage-fuseskill.
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
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.

