go-object-storage

Abstract object storage across S3, GCS, and MinIO with Put, Get, Delete, Exists, SignedURL, and List methods.

Updated Jan 18, 2026
One-click install
npx skills add https://github.com/333-333-333/agents --skill go-object-storage
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-object-storage
Source: https://github.com/333-333-333/agents/tree/main/skills/go-object-storage
Command: npx skills add https://github.com/333-333-333/agents --skill go-object-storage

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) components.

What problem does it solve?

Cloud-agnostic object storage interfaces solve vendor lock-in and integration fragmentation by offering a single, interchangeable API to store and retrieve binary data across S3, GCS, and MinIO.

Core Features & Use Cases

  • Unified ObjectStore interface with Put, Get, Delete, Exists, SignedURL, List, and related PutOptions/ObjectInfo types.
  • Pluggable providers (S3/MinIO and GCS) with endpoint configuration and path-style support for MinIO.
  • Clear key-naming conventions and bucket-per-concern to organize uploads, exports, and backups.
  • Use cases include file persistence, backups, logs, data exports, and client-side uploads via pre-signed URLs.

Quick Start

Configure StorageConfig with your provider (s3, minio, or gcs), initialize the ObjectStore, and perform Put and Get operations to store and retrieve objects.

Frequently Asked Questions about go-object-storage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use a cloud-agnostic object storage interface to avoid vendor lock-in?

You can use a unified ObjectStore interface with Put, Get, Delete, Exists, SignedURL, and List methods to handle binary data across S3, GCS, and MinIO. Configure the StorageConfig with your chosen provider and initialize the store to begin operations.

What is the best way to generate pre-signed URLs for client-side uploads across multi-cloud environments?

You can generate pre-signed URLs for client-side uploads using the SignedURL method within a unified ObjectStore interface. This abstracts the pre-signed URL generation process across S3, GCS, and MinIO providers.

Does this object storage abstraction support MinIO with path-style addressing?

Yes, the object storage abstraction explicitly supports MinIO with path-style addressing. It provides pluggable providers with endpoint configuration and path-style support to ensure compatibility with MinIO deployments.

Can I manage file backups and data exports using a single API across S3 and GCS?

Yes, you can manage file backups and data exports across S3 and GCS using a single API. The ObjectStore interface handles binary data storage and retrieval using bucket-per-concern conventions to logically organize uploads, exports, and backups.

Why use bucket-per-concern conventions for organizing logs and media delivery?

Bucket-per-concern conventions organize logs and media delivery by isolating different data types into distinct buckets. This object storage abstraction uses these conventions to logically structure file persistence, backups, and exports across multi-cloud environments.