rclone

SKILL.md

rclone File Transfer Skill

Setup Check (Always Run First)

Before any rclone operation, verify installation and configuration:

# Check if rclone is installed
command -v rclone >/dev/null 2>&1 && echo "rclone installed: $(rclone version | head -1)" || echo "NOT INSTALLED"

# List configured remotes
rclone listremotes 2>/dev/null || echo "NO REMOTES CONFIGURED"

If rclone is NOT installed

Guide the user to install:

# macOS
brew install rclone

# Linux (script install)
curl https://rclone.org/install.sh | sudo bash

# Or via package manager
sudo apt install rclone  # Debian/Ubuntu
sudo dnf install rclone  # Fedora

If NO remotes are configured

Walk the user through interactive configuration:

rclone config

Common provider setup quick reference:

Provider Type Key Settings
AWS S3 s3 access_key_id, secret_access_key, region
Cloudflare R2 s3 access_key_id, secret_access_key, endpoint (account_id.r2.cloudflarestorage.com)
Backblaze B2 b2 account (keyID), key (applicationKey)
DigitalOcean Spaces s3 access_key_id, secret_access_key, endpoint (region.digitaloceanspaces.com)
Google Drive drive OAuth flow (opens browser)
Dropbox dropbox OAuth flow (opens browser)

Example: Configure Cloudflare R2

rclone config create r2 s3 \
  provider=Cloudflare \
  access_key_id=YOUR_ACCESS_KEY \
  secret_access_key=YOUR_SECRET_KEY \
  endpoint=ACCOUNT_ID.r2.cloudflarestorage.com \
  acl=private

Example: Configure AWS S3

rclone config create aws s3 \
  provider=AWS \
  access_key_id=YOUR_ACCESS_KEY \
  secret_access_key=YOUR_SECRET_KEY \
  region=us-east-1

Common Operations

Upload single file

rclone copy /path/to/file.mp4 remote:bucket/path/ --progress

Upload directory

rclone copy /path/to/folder remote:bucket/folder/ --progress

Sync directory (mirror, deletes removed files)

rclone sync /local/path remote:bucket/path/ --progress

List remote contents

rclone ls remote:bucket/
rclone lsd remote:bucket/  # directories only

Check what would be transferred (dry run)

rclone copy /path remote:bucket/ --dry-run

Useful Flags

Flag Purpose
--progress Show transfer progress
--dry-run Preview without transferring
-v Verbose output
--transfers=N Parallel transfers (default 4)
--bwlimit=RATE Bandwidth limit (e.g., 10M)
--checksum Compare by checksum, not size/time
--exclude="*.tmp" Exclude patterns
--include="*.mp4" Include only matching
--min-size=SIZE Skip files smaller than SIZE
--max-size=SIZE Skip files larger than SIZE

Large File Uploads

For videos and large files, use chunked uploads:

# S3 multipart upload (automatic for >200MB)
rclone copy large_video.mp4 remote:bucket/ --s3-chunk-size=64M --progress

# Resume interrupted transfers
rclone copy /path remote:bucket/ --progress --retries=5

Verify Upload

# Check file exists and matches
rclone check /local/file remote:bucket/file

# Get file info
rclone lsl remote:bucket/path/to/file

Troubleshooting

# Test connection
rclone lsd remote:

# Debug connection issues
rclone lsd remote: -vv

# Check config
rclone config show remote
Weekly Installs
25
Installed on
claude-code23
opencode14
gemini-cli13
cursor12
antigravity12
codex11