From sundial-org-awesome-openclaw-skills-4
Uploads files to Cloudflare R2, AWS S3, or S3-compatible storage and generates presigned download links with configurable expiration. Supports multi-bucket configs, custom paths, and public URLs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sundial-org-awesome-openclaw-skills-4:send-me-my-files-r2-upload-with-short-lived-signed-urlsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Upload files to Cloudflare R2 or any S3-compatible storage and generate presigned download links.
Upload files to Cloudflare R2 or any S3-compatible storage and generate presigned download links.
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
https://dash.cloudflare.com/<ACCOUNT_ID>/r2/api-tokenshttps://<account_id>.r2.cloudflarestorage.comregion: autoaws-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 URLr2_list - List recent uploadsr2_delete - Delete a fileR2_UPLOAD_CONFIG - Path to config file (default: ~/.r2-upload.yml)R2_DEFAULT_BUCKET - Override default bucketR2_DEFAULT_EXPIRES - Default expiration in seconds (default: 300 = 5 minutes)--key is specifiedabc123/file.pdf)npx claudepluginhub sundial-org/awesome-openclaw-skillsHandles file uploads and cloud storage (S3, Cloudflare R2) with presigned URLs, multipart uploads, and image optimization. For large files without blocking.
Uploads screenshots, images, PDFs, and media to S3-compatible storage via MinIO Client, generates public/presigned URLs, supports batch uploads and history listing. Auto-triggers after Playwright screenshots.
Manages Cloudflare R2 S3-compatible object storage in Workers: bucket creation, bindings, uploads/downloads, CORS, presigned URLs, multipart uploads. Fixes R2_ERROR and CORS issues.