К основному содержанию
скилл CX Codex

tigris-agent-kit — скилл для Claude Code: хранилище для агентов

Скилл для работы с объектным хранилищем Tigris: изолированные копии датасетов, бакеты под каждого агента, снапшоты и вебхуки.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add tigrisdata/skills --skill tigris-agent-kit -a claude-code
Открыть на GitHub

Что делает tigris-agent-kit

Скилл описывает четыре строительных блока для агентных сценариев на Tigris: форки, воркспейсы, чекпоинты и координацию. Форк — независимый бакет с копией общего датасета, копирование copy-on-write, поэтому копия создаётся мгновенно при любом размере. Воркспейс даёт агенту отдельный бакет с TTL и урезанными правами. Чекпоинт снимает состояние бакета, а restore разворачивает из снапшота новый форк, оригинал при этом не меняется.

Координация настраивает уведомления бакета: запись файла вызывает вебхук, и следующий агент стартует без опроса хранилища. Все функции возвращают TigrisResponse<T> — объединение { data: T } или { error: Error }, и проверять нужно сначала error. Ключи доступа берутся из переменных окружения TIGRIS_STORAGE_ACCESS_KEY_ID и TIGRIS_STORAGE_SECRET_ACCESS_KEY либо передаются в параметре config.

Перед работой понадобится Tigris CLI и пакет @tigrisdata/agent-kit. Для форков и чекпоинтов на базовом бакете должны быть включены снапшоты, иначе createForks упадёт с ошибкой про выключенные снапшоты. Пара createForks и teardownForks обязательна: без teardown бакеты остаются и копят счёт за хранение. Общий ключ доступа на всех агентов сводит смысл раздельных прав к нулю.

Какие задачи решает

  • раздать нескольким агентам по отдельной копии одного датасета
  • выделить агенту временный бакет с автоочисткой по TTL
  • сохранить состояние прогона и вернуться к нему позже
  • запускать следующий агент по записи результата в бакет
  • отозвать ключи и удалить бакеты после завершения агента

Примеры запросов агенту

  • создай три форка бакета my-dataset для параллельных прогонов
  • сделай чекпоинт training-data с именем epoch-50 и восстанови его в новый форк
  • настрой вебхук на pipeline-bucket, чтобы агент B стартовал после записи в results/

Как установить tigris-agent-kit

1Через Skills CLI (Vercel)

npx skills add tigrisdata/skills --skill tigris-agent-kit -a claude-code

2Вручную: положить файлы

~/.claude/skills/tigris-agent-kit/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/tigris-agent-kit/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о tigris-agent-kit

Как установить tigris-agent-kit в Claude?

Выполните npx skills add tigrisdata/skills --skill tigris-agent-kit -a claude-code. Скилл появится в ~/.claude/skills/tigris-agent-kit/SKILL.md.

Что делает tigris-agent-kit?

Собирает примитивы @tigrisdata/storage и @tigrisdata/iam в четыре блока: форки для копий датасета, воркспейсы с TTL, чекпоинты со снапшотами и координацию через вебхуки бакета.

Что нужно для работы скилла?

Tigris CLI, пакет @tigrisdata/agent-kit и ключи доступа Tigris. Для форков и чекпоинтов на базовом бакете должны быть включены снапшоты.

Исходный текст

SKILL.md · MIT
---
name: tigris-agent-kit
description: Use when building AI agent storage workflows on Tigris — forks for isolated dataset copies, workspaces for per-agent buckets with TTL, checkpoints for snapshot/restore, and coordination for event-driven pipelines via bucket webhooks. Triggers on "@tigrisdata/agent-kit", "agent storage", "agent workspace", "agent fork", "isolated agent environment", "checkpoint and restore", "bucket webhook", "multi-agent pipeline"
---

# Tigris Agent Kit

High-level storage workflows for AI agents on Tigris. Composes `@tigrisdata/storage` and `@tigrisdata/iam` primitives into four building blocks: **forks**, **workspaces**, **checkpoints**, and **coordination**.

## Prerequisites

**Before doing anything else**, ensure the Tigris CLI is installed:

```bash
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."

Then install the agent-kit package:

```bash
npm install @tigrisdata/agent-kit
```

## Configuration

All functions accept an optional `config` parameter. When omitted, the SDK reads from environment variables:

```bash
TIGRIS_STORAGE_ACCESS_KEY_ID=tid_...
TIGRIS_STORAGE_SECRET_ACCESS_KEY=tsec_...
```

Pass config explicitly when needed:

```typescript
const config = {
  accessKeyId: 'tid_...',
  secretAccessKey: 'tsec_...',
};
```

All functions return a `TigrisResponse<T>` — a discriminated union of `{ data: T }` or `{ error: Error }`. Always check `error` first.

## Quick Reference

| Building Block | Purpose | Functions |
|---|---|---|
| **Forks** | N isolated copies of a shared dataset | `createForks`, `teardownForks` |
| **Workspaces** | Dedicated per-agent bucket with TTL | `createWorkspace`, `teardownWorkspace` |
| **Checkpoints** | Snapshot bucket state, restore as fork | `checkpoint`, `restore`, `listCheckpoints` |
| **Coordination** | Event-driven pipelines via webhooks | `setupCoordination`, `teardownCoordination` |

## When to Use Which

| Scenario | Use |
|---|---|
| Spin up N agents that each need their own copy of a dataset | **Forks** |
| Give one agent a scratch bucket that auto-cleans after a day | **Workspace** |
| Save agent state mid-run so you can branch from it later | **Checkpoint** + **Restore** |
| Trigger downstream agent when an upstream agent writes a result | **Coordination** |

## Forks — Parallel Agent Copies

Each fork is an independent bucket with isolated storage. Copy-on-write — instant at any size, zero data duplication. The base bucket must have snapshots enabled.

```typescript
import { createForks, teardownForks } from '@tigrisdata/agent-kit';

const { data: forkSet, error } = await createForks('my-dataset', 3, {
  prefix: 'experiment-run-42',
  credentials: { role: 'Editor' },
});
if (error) throw error;

for (const fork of forkSet.forks) {
  // fork.bucket — the bucket name
  // fork.credentials?.accessKeyId / secretAccessKey — scoped per fork
}

// Revokes credentials and deletes all fork buckets
await teardownForks(forkSet);
```

Detailed options, lifecycle, and patterns: read `./resources/forks.md`.

## Workspaces — Per-Agent Buckets

Provision a dedicated bucket for one agent. Optional TTL auto-expires objects; optional scoped credentials enforce least privilege.

```typescript
import { createWorkspace, teardownWorkspace } from '@tigrisdata/agent-kit';

const { data: workspace } = await createWorkspace('agent-workspace-abc', {
  ttl: { days: 1 },
  enableSnapshots: true,
  credentials: { role: 'Editor' },
});

// Use workspace.bucket and workspace.credentials with @tigrisdata/storage

await teardownWorkspace(workspace);
```

Detailed options, TTL behavior, and patterns: read `./resources/workspaces.md`.

## Checkpoints — Snapshot and Restore

Capture bucket state at a point in time; restore creates a copy-on-write fork from that snapshot. Original is untouched.

```typescript
import { checkpoint, restore, listCheckpoints } from '@tigrisdata/agent-kit';

const { data: ckpt } = await checkpoint('training-data', { name: 'epoch-50' });

const { data: list } = await listCheckpoints('training-data');

const { data: restored } = await restore(
  'training-data',
  ckpt.snapshotId,
  { forkName: 'training-data-retry' },
);
// restored.bucket — independent fork at that point in time
```

Detailed options and rollback patterns: read `./resources/checkpoints.md`.

## Coordination — Event-Driven Pipelines

Wire bucket notifications so writes fire webhooks instead of requiring polling. Use it to chain agents: agent A writes a result, Tigris fires a webhook, agent B starts.

```typescript
import { setupCoordination, teardownCoordination } from '@tigrisdata/agent-kit';

await setupCoordination('pipeline-bucket', {
  webhookUrl: 'https://my-service.com/webhook',
  filter: 'WHERE `key` REGEXP "^results/"',
  auth: { token: 'my-webhook-secret' },
});

await teardownCoordination('pipeline-bucket');
```

Filter syntax, webhook auth, and pipeline patterns: read `./resources/coordination.md`.

## API Reference

### Forks

| Function | Description |
|---|---|
| `createForks(baseBucket, count, options?)` | Snapshot + fork N times + scoped credentials |
| `teardownForks(forkSet, options?)` | Revoke credentials + delete forks |

### Workspaces

| Function | Description |
|---|---|
| `createWorkspace(name, options?)` | Create bucket + TTL + scoped credentials |
| `teardownWorkspace(workspace, options?)` | Revoke credentials + delete bucket |

### Checkpoints

| Function | Description |
|---|---|
| `checkpoint(bucket, options?)` | Snapshot a bucket, returns snapshot ID |
| `restore(bucket, snapshotId, options?)` | Fork from a snapshot |
| `listCheckpoints(bucket, options?)` | List all snapshots for a bucket |

### Coordination

| Function | Description |
|---|---|
| `setupCoordination(bucket, options)` | Configure bucket notifications |
| `teardownCoordination(bucket, options?)` | Clear bucket notifications |

## Critical Rules

**Always:** Check `result.error` before `result.data` | Call the corresponding `teardown*` to revoke credentials and delete buckets — agents leak buckets fast | Enable snapshots on the base bucket before calling `createForks` or `checkpoint` | Use scoped per-fork/per-workspace credentials so one agent's compromise doesn't expose others

**Never:** Reuse a single shared access key across agents — defeats the point of scoped credentials | Skip teardown on long-running services — orphaned buckets accumulate billing | Assume `restore` mutates the original bucket — it creates a new fork

## Common Mistakes

| Mistake | Fix |
|---|---|
| `createForks` fails with "snapshots not enabled" | Recreate base bucket with `enableSnapshot: true` |
| Forks not cleaned up after agent run | Always pair `createForks` with `teardownForks` in a `finally` block |
| Webhook never fires | Check `filter` syntax — must be a valid SQL `WHERE` clause against `key`, `event`, etc. |
| Workspace TTL doesn't delete bucket | TTL expires *objects*, not the bucket itself. Call `teardownWorkspace` to delete the bucket |
| Restored bucket is empty | Verify `snapshotId` exists with `listCheckpoints` before calling `restore` |

## Related Skills

- **tigris-snapshots-forking** — Lower-level snapshot and fork primitives in `@tigrisdata/storage`
- **tigris-bucket-management** — Bucket creation, regions, snapshot configuration
- **tigris-security-access-control** — IAM, scoped keys, key rotation
- **file-storage** — Core `@tigrisdata/storage` SDK for reading/writing within fork or workspace buckets

## Official Documentation

- Package: https://www.npmjs.com/package/@tigrisdata/agent-kit
- Source: https://github.com/tigrisdata/storage/tree/main/packages/agent-kit

© tigrisdata · MIT · tigrisdata/skills

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
encore-bucket encoredev Учит агента работать с объектным хранилищем Encore.ts: загрузка, скачивание, список и удаление файлов через Bucket. CX Codex +1 419установок upstash-qstash-js Upstash Скилл для работы с SDK @upstash/qstash: публикация сообщений, очереди, cron, отложенная доставка и проверка подписей вебхуков. Пригодится, если у вас нет постоянного воркера. CX Codex +1 2 200установок render-disks Render Скилл для работы с постоянными дисками на Render: монтирование, размер, снапшоты и перенос файлов. Пригодится, когда сервису нужно хранить загрузки между деплоями. CX Codex +1 339установок huawei-cloud-obs-upload huaweicloud Загружает файлы и папки в бакеты Huawei Cloud OBS, показывает список бакетов с объёмом и числом объектов и ставит периодическую синхронизацию через crontab. CX Codex +1 17 000установок huawei-cloud-obs-stats huaweicloud Скилл показывает бакеты Huawei Cloud OBS с объёмом и числом объектов, скачивание и число запросов с месяцем к месяцу. CX Codex +1 16 900установок object-storage devops-skills Скилл для работы с объектным хранилищем: команды AWS CLI, бакет-политики, lifecycle-правила, версионирование и self-hosted MinIO. CX Codex +1 350установок

Из того же набора5

Спонсоры проекта

Компании, которые помогают держать аналитику открытой