원클릭으로
tigris-bucket-management
Use when creating, listing, inspecting, or deleting Tigris Storage buckets
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when creating, listing, inspecting, or deleting Tigris Storage buckets
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Back up and restore the OpenClaw state directory (config, workspace, sessions, skills) to a Tigris bucket. Scheduled backups, safe SQLite handling, point-in-time rollback via bucket snapshots, and zero-copy clones via forks. Use when the user wants their assistant's state to survive machine loss, move to a new machine, or roll back to before a bad update.
Use when migrating from AWS S3, Google Cloud Storage, or Azure Blob to Tigris — shadow buckets via `tigris buckets set-migration`, active drain via `tigris buckets migrate`, bulk copy, SDK endpoint swap, zero-downtime migration
Use when working with Tigris file storage - uploading, downloading, deleting, listing files, presigned URLs, client uploads, or setting up Tigris CLI and SDK. Covers Next.js, Remix, Express, Rails, and Laravel. For Python/Django, see the tigris-python-sdk skill.
Use when backing up databases to Tigris, scheduling exports, archiving data, or setting up automated backup pipelines — covers Next.js, Remix, Rails, Django, Laravel, Express
Use when working with Tigris from Python — boto3 setup, Django uploads via django-storages, snapshots, bucket forking, in-place object rename, conditional writes (IfMatch/IfNoneMatch), and the Bundle API for batch ML data fetches. Covers the tigris-boto3-ext extension library (context managers, decorators, helpers) plus framework integration.
Use when choosing between Tigris-native SDKs and AWS S3-compatible SDKs — covers which SDK to use per language, CLI preference, and when AWS SDKs are the only option
| name | tigris-bucket-management |
| description | Use when creating, listing, inspecting, or deleting Tigris Storage buckets |
Before doing anything else, install the Tigris CLI if it's not already available:
tigris help || npm install -g @tigrisdata/cli
If you need to install it, tell the user: "I'm installing the Tigris CLI (@tigrisdata/cli) so we can work with Tigris object storage."
Buckets are containers for objects. This skill covers bucket lifecycle: create, list, inspect, and delete.
| Operation | Function | Key Parameters |
|---|---|---|
| Create | createBucket(name, options) | name, access, region, enableSnapshot |
| List | listBuckets(options) | limit, paginationToken |
| Inspect | getBucketInfo(name) | bucketName |
| Delete | removeBucket(name, options) | bucketName, force |
import { createBucket } from "@tigrisdata/storage";
// Simple private bucket
const result = await createBucket("my-new-bucket");
if (result.error) {
console.error("Error:", result.error);
} else {
console.log("Created:", result.data);
}
// Public bucket (objects readable by anyone)
const result = await createBucket("public-assets", {
access: "public",
});
// Snapshot-enabled bucket (for version control)
const result = await createBucket("my-snapshot-bucket", {
enableSnapshot: true,
});
// Regional bucket
const result = await createBucket("eu-data", {
region: "eu",
});
// Fork from existing bucket snapshot
const result = await createBucket("my-forked-bucket", {
sourceBucketName: "parent-bucket",
sourceBucketSnapshot: "1751631910169675092",
});
| Option | Values | Default | Purpose |
|---|---|---|---|
| access | public/private | private | Object readability |
| consistency | default/strict | default | Read consistency level |
| defaultTier | STANDARD/STANDARD_IA/GLACIER/GLACIER_IR | STANDARD | Default storage tier |
| enableSnapshot | boolean | false | Enable snapshots/forking |
| region | string | global | Bucket region |
| sourceBucketName | string | - | Fork from this bucket |
| sourceBucketSnapshot | string | - | Fork from this snapshot |
Note: Snapshot-enabled buckets must use STANDARD tier.
import { listBuckets } from "@tigrisdata/storage";
// List all buckets
const result = await listBuckets();
if (result.error) {
console.error("Error:", result.error);
} else {
console.log("Buckets:", result.data?.buckets);
console.log("Owner:", result.data?.owner);
}
// Paginated list
const allBuckets = [];
let currentPage = await listBuckets({ limit: 10 });
allBuckets.push(...currentPage.data?.buckets);
while (currentPage.data?.paginationToken) {
currentPage = await listBuckets({
limit: 10,
paginationToken: currentPage.data?.paginationToken,
});
allBuckets.push(...currentPage.data?.buckets);
}
import { getBucketInfo } from "@tigrisdata/storage";
const result = await getBucketInfo("my-bucket");
if (result.error) {
console.error("Error:", result.error);
} else {
console.log("Info:", result.data);
// {
// isSnapshotEnabled: true,
// hasForks: false,
// sourceBucketName: undefined,
// sourceBucketSnapshot: undefined
// }
}
import { removeBucket } from "@tigrisdata/storage";
// Delete empty bucket
const result = await removeBucket("my-bucket");
if (result.error) {
console.error("Error:", result.error);
} else {
console.log("Deleted successfully");
}
// Force delete (even if not empty)
const result = await removeBucket("my-bucket", {
force: true,
});
Warning: Force delete is irreversible. All objects will be lost.
| Level | Behavior | Use Case |
|---|---|---|
| private | Objects require auth | Default, sensitive data |
| public | Objects publicly readable | Static assets, public content |
| Level | Behavior | Trade-off |
|---|---|---|
| default | Low latency, eventual consistency | Most workloads |
| strict | Strong consistency, higher latency | Critical data |
| Tier | Use Case | Cost |
|---|---|---|
| STANDARD | General purpose | Standard |
| STANDARD_IA | Infrequently accessed | Lower cost |
| GLACIER | Long-term archive | Lowest cost |
| GLACIER_IR | Rare access, fast retrieval | Archive with occasional access |
Specify region for data locality or compliance:
await createBucket("data-eu", { region: "eu" });
await createBucket("data-asia", { region: "asia-south-1" });
Leave empty for global bucket (recommended for most use cases).
| Mistake | Fix |
|---|---|
| Enable snapshot with non-STANDARD tier | Snapshot requires STANDARD tier |
| Not checking bucket exists before delete | Use getBucketInfo first |
| Trying to delete non-empty bucket without force | Use force: true or empty bucket first |
| Name conflicts | Bucket names must be globally unique |
For version control (snapshots/forking), see the tigris-snapshots-forking skill.