# Send S3 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": "s3",
    "name": "S3",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/ivangdavila/s3",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/s3",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/s3",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=s3",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "s3",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T03:21:57.835Z",
      "expiresAt": "2026-05-07T03:21:57.835Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=s3",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=s3",
        "contentDisposition": "attachment; filename=\"s3-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "s3"
      },
      "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/s3"
    },
    "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/s3",
    "downloadUrl": "https://openagent3.xyz/downloads/s3",
    "agentUrl": "https://openagent3.xyz/skills/s3/agent",
    "manifestUrl": "https://openagent3.xyz/skills/s3/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/s3/agent.md"
  }
}
```
## Documentation

### Public Access Control

Default deny public access—only open when explicitly needed (static hosting)
Bucket policy vs IAM: bucket policy for cross-account/public, IAM for same-account roles
Check both bucket-level AND account-level block settings—account can override bucket
For web assets, prefer CDN in front of bucket over direct public access

### Presigned URLs

Set shortest expiration practical—minutes for immediate use, not days
URL is a bearer token—anyone with it has access; treat as secret
Specify HTTP method in signature—GET for download, PUT for upload
Include Content-Type for uploads—mismatch between signature and request causes 403
Generate server-side, never expose credentials to client

### Lifecycle Rules

Transition to cheaper tiers for infrequent access—but check minimum storage duration penalties
Auto-delete for temp files, logs, old versions—prevents unbounded storage growth
Clean incomplete multipart uploads—accumulate invisibly; set abort rule (7 days typical)
Versioned buckets: separate rules for current vs noncurrent versions

### Versioning Behavior

Enable before you need it—can't recover deleted objects without versioning
"Delete" creates delete marker—object hidden but versions remain; storage still consumed
Permanent deletion requires explicit version ID—without it, just adds marker
Noncurrent version expiration essential—otherwise old versions accumulate forever

### Multipart Uploads

Required above 5GB, recommended above 100MB—single PUT has size limits
Incomplete uploads invisible in normal listings—consume storage silently
Abort incomplete uploads via lifecycle—or manually with list-multipart-uploads
Parallel part uploads for speed—parts can upload concurrently

### CORS for Browser Access

Required for JavaScript direct upload/download—blocked without CORS headers
Specify exact origins—avoid wildcard * for authenticated requests
Expose headers that JavaScript needs to read—Content-Length, ETag, custom headers
AllowedMethods: GET for download, PUT for upload, DELETE if needed

### Key Naming

Use prefixes like directories: users/123/avatar.jpg—but S3 is flat, not hierarchical
Avoid sequential prefixes for high throughput—2024-01-01/file1 can hotspot
Random prefix or hash for write-heavy buckets—distributes across partitions
No leading slash—/images/file.jpg creates empty-string prefix

### Cost Awareness

Request volume matters—many small files more expensive than few large files
Egress typically costly—CDN reduces egress by caching at edge
Minimum storage duration varies by tier—early deletion still charged full period
Lifecycle transitions have per-object cost—millions of tiny files expensive to transition

### Replication

Cross-region for disaster recovery, same-region for compliance copies
Versioning required on both source and destination
Only new objects replicate—existing objects need manual copy or batch operation
Delete markers not replicated by default—explicitly enable if needed

### Provider Differences

AWS S3: full feature set, most tools assume AWS behavior
Cloudflare R2: no egress fees, subset of features
Backblaze B2: S3-compatible API, different pricing model
MinIO: self-hosted, full S3 API compatibility
Check presigned URL compatibility—some providers have quirks
## 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-04-30T03:21:57.835Z
- Expires at: 2026-05-07T03:21:57.835Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/s3)
- [Send to Agent page](https://openagent3.xyz/skills/s3/agent)
- [JSON manifest](https://openagent3.xyz/skills/s3/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/s3/agent.md)
- [Download page](https://openagent3.xyz/downloads/s3)