# Send Storage to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "storage",
    "name": "Storage",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ivangdavila/storage",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/storage",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/storage",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=storage",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "storage",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-09T12:23:45.025Z",
      "expiresAt": "2026-05-16T12:23:45.025Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=storage",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=storage",
        "contentDisposition": "attachment; filename=\"storage-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "storage"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/storage"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/storage",
    "downloadUrl": "https://openagent3.xyz/downloads/storage",
    "agentUrl": "https://openagent3.xyz/skills/storage/agent",
    "manifestUrl": "https://openagent3.xyz/skills/storage/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/storage/agent.md"
  }
}
```
## Documentation

### Object vs Block vs File

Object storage (S3, R2, GCS) for immutable blobs: images, videos, backups, logs — cheap, scales infinitely, but no partial updates
Block storage (EBS, Persistent Disks) for databases and apps needing filesystem semantics — faster, but tied to single instance
Network file systems (NFS, EFS) when multiple instances need shared filesystem access — convenient but latency and cost add up
Default to object storage for user uploads — block storage for database files only

### When SQL vs NoSQL

SQL when you need joins, transactions, or complex queries — fighting against NoSQL for relational data wastes months
Document stores (MongoDB, Firestore) for nested/variable schemas where you always fetch the whole document
Key-value (Redis, DynamoDB) for simple lookups by ID at massive scale — not for complex queries
Time-series databases (InfluxDB, TimescaleDB) for metrics with timestamp-based queries — regular SQL struggles with retention policies
Start with PostgreSQL unless you have a specific reason not to — it handles JSON, full-text search, and scales further than most assume

### Local vs Cloud Storage

Local disk for ephemeral data: temp files, build artifacts, caches — assume it disappears on restart
Cloud storage for anything that must survive instance termination — never store user data only on local disk
Local SSD for databases in production — network-attached storage adds latency to every query
Hybrid: local cache in front of cloud storage for frequently accessed files

### CDN Patterns

Put CDN in front of static assets always — origin requests are slower and more expensive
Set long cache TTLs with versioned URLs (style.abc123.css) — cache invalidation is slow and unreliable
CDN for dynamic content only if latency matters more than freshness — adds complexity for marginal gains
Edge caching for API responses works but cache keys get tricky — start simple, add only when needed

### Upload Handling

Never accept uploads directly to app server disk in production — use presigned URLs to cloud storage
Set file size limits at load balancer level, not just application — prevents memory exhaustion attacks
Generate unique keys for uploads (UUIDs) — user-provided filenames cause collisions and path traversal risks
Validate file types by content (magic bytes), not extension — extensions are trivially spoofed

### Data Locality

Keep compute and storage in same region — cross-region data transfer adds latency and cost
Replicate data to regions where users are, not where developers are
Multi-region storage adds complexity — single region with backups elsewhere usually sufficient
Database read replicas in user regions for read-heavy workloads

### Retention and Lifecycle

Define retention policy before storing data — "keep everything" becomes expensive and legally risky
Automate deletion of temporary data — manual cleanup never happens consistently
Tiered storage for aging data: hot → warm → cold → archive — but check retrieval costs before archiving
Separate storage for logs vs business data — different retention, different compliance requirements

### Cost Traps

Egress fees dominate cloud storage costs — calculate before choosing provider
Many small files cost more than few large files — batch small writes when possible
Minimum storage duration on cold tiers — early deletion still charges full period
API request costs matter at scale — millions of LIST operations add up

### Backup Strategy

3-2-1 rule: 3 copies, 2 different media types, 1 offsite — cloud counts as one location
Test restores regularly — untested backups are not backups
Point-in-time recovery for databases — daily snapshots lose a day of data
Version important files — deletion or corruption often discovered late
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: ivangdavila
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-09T12:23:45.025Z
- Expires at: 2026-05-16T12:23:45.025Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/storage)
- [Send to Agent page](https://openagent3.xyz/skills/storage/agent)
- [JSON manifest](https://openagent3.xyz/skills/storage/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/storage/agent.md)
- [Download page](https://openagent3.xyz/downloads/storage)