r2-upload

Uploads files to Cloudflare R2 or S3-compatible storage and returns public or presigned URLs.

1|1|Updated Feb 5, 2026
One-click install
npx skills add https://github.com/foundralab/my-skills --skill r2-upload
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: r2-upload
Source: https://github.com/foundralab/my-skills/tree/main/r2-upload
Command: npx skills add https://github.com/foundralab/my-skills --skill r2-upload

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires PyYAML, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill automates uploading files to Cloudflare R2 or AWS S3-compatible storage and returns a URL (public or presigned) for sharing or embedding in apps, enabling quick asset publication and cross-skill workflows.

Core Features & Use Cases

  • Upload local files to R2/S3-compatible storage and receive a public URL or a short-lived presigned URL.
  • Generate presigned URLs with configurable expiration for secure sharing and asset delivery.
  • Provide upload helpers to other skills (e.g., sharing assets with the tech-news workflow) and support batch uploads.

Quick Start

Upload a local file to your configured bucket and obtain a URL using the CLI or Python helper. Example: python3 scripts/r2-upload.py ./image.jpg --public

Frequently Asked Questions about r2-upload

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I upload files to Cloudflare R2 and get a public URL?

To upload files to Cloudflare R2 and get a public URL, you can use a Python CLI script that automates the transfer to S3-compatible storage and returns a shareable link for asset publishing or embedding.

How do I generate presigned URLs for secure file sharing with S3-compatible storage?

Generate presigned URLs for secure file sharing by running the upload script with an expiration flag. This creates a short-lived, time-limited link to your S3-compatible storage objects, ensuring safe and temporary asset delivery.

Can I use Python to automate batch uploads to S3-compatible storage like R2?

Yes, you can use Python to automate batch uploads to S3-compatible storage like R2. The Skill provides Python helpers that support batch processing, enabling quick asset publication and integration into cross-skill workflows.

What dependencies do I need to upload to R2 using Python?

To upload to R2 using Python, you need Python 3.8 or higher and the PyYAML library. You also need to provide a YAML configuration file containing your endpoint, bucket name, and S3-compatible provider credentials.

Does this R2 upload tool work with AWS S3 storage?

Yes, this R2 upload tool works with AWS S3 storage because it interfaces with any S3-compatible provider. By configuring the endpoint and credentials in your YAML config, you can seamlessly upload files to AWS S3 or Cloudflare R2.

What is the best way to share assets from a Python automation workflow?

The best way to share assets from a Python automation workflow is to upload them to cloud storage and return a URL. This Skill automates file transfers to R2 or S3 and provides public or presigned links for other services to consume.