Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Upload files to Cloudflare R2, AWS S3, or any S3-compatible storage and generate secure presigned download links with configurable expiration.
Upload files to Cloudflare R2, AWS S3, or any S3-compatible storage and generate secure presigned download links with configurable expiration.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Upload files to Cloudflare R2 or any S3-compatible storage and generate presigned download links.
Upload files to R2/S3 buckets Generate presigned download URLs (configurable expiration) Support for any S3-compatible storage (R2, AWS S3, MinIO, etc.) Multiple bucket configurations Automatic content-type detection
Create ~/.r2-upload.yml (or set R2_UPLOAD_CONFIG env var): # Default bucket (used when no bucket specified) default: my-bucket # Bucket configurations buckets: my-bucket: endpoint: https://abc123.r2.cloudflarestorage.com access_key_id: your_access_key secret_access_key: your_secret_key bucket_name: my-bucket public_url: https://files.example.com # Optional: custom domain region: auto # For R2, use "auto" # Additional buckets personal: endpoint: https://xyz789.r2.cloudflarestorage.com access_key_id: ... secret_access_key: ... bucket_name: personal-files region: auto
Go to Cloudflare Dashboard → R2 Create a bucket Go to R2 API Tokens: https://dash.cloudflare.com/<ACCOUNT_ID>/r2/api-tokens Create a new API token Important: Apply to specific bucket (select your bucket) Permissions: Object Read & Write Copy the Access Key ID and Secret Access Key Use endpoint format: https://<account_id>.r2.cloudflarestorage.com Set region: auto
aws-bucket: endpoint: https://s3.us-east-1.amazonaws.com access_key_id: ... secret_access_key: ... bucket_name: my-aws-bucket region: us-east-1
r2-upload /path/to/file.pdf # Returns: https://files.example.com/abc123/file.pdf?signature=...
r2-upload /path/to/file.pdf --key uploads/2026/file.pdf
r2-upload /path/to/file.pdf --bucket personal
r2-upload /path/to/file.pdf --expires 24h r2-upload /path/to/file.pdf --expires 1d r2-upload /path/to/file.pdf --expires 300 # seconds
r2-upload /path/to/file.pdf --public
r2_upload - Upload file and get presigned URL r2_list - List recent uploads r2_delete - Delete a file
R2_UPLOAD_CONFIG - Path to config file (default: ~/.r2-upload.yml) R2_DEFAULT_BUCKET - Override default bucket R2_DEFAULT_EXPIRES - Default expiration in seconds (default: 300 = 5 minutes)
Uploaded files are stored with their original filename unless --key is specified Automatic UUID prefix added to prevent collisions (e.g., abc123/file.pdf) Content-Type automatically detected from file extension Presigned URLs expire after the configured duration
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.