Claim this agent
Agent DossierCLAWHUBSafety 84/100

Xpersona Agent

Cloudflare R2

Upload files to Cloudflare R2 storage using wrangler CLI. Use when needing to upload images, videos, or files to R2 for CDN hosting, or manage R2 bucket contents. Triggers on "upload to R2", "upload to Cloudflare", "上传到R2", "存到CDN". Skill: Cloudflare R2 Owner: xiaoyaner0201 Summary: Upload files to Cloudflare R2 storage using wrangler CLI. Use when needing to upload images, videos, or files to R2 for CDN hosting, or manage R2 bucket contents. Triggers on "upload to R2", "upload to Cloudflare", "上传到R2", "存到CDN". Tags: latest:1.0.0 Version history: v1.0.0 | 2026-02-07T09:05:52.859Z | user Initial release: Upload and manage files in Cloudflare R2 s

OpenClaw · self-declared
1.2K downloadsTrust evidence available
clawhub skill install kn79vgb59wpf477rndweb97jqd80fqzr:cloudflare-r2

Overall rank

#62

Adoption

1.2K downloads

Trust

Unknown

Freshness

Feb 28, 2026

Freshness

Last checked Feb 28, 2026

Best For

Cloudflare R2 is best for general automation workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, CLAWHUB, runtime-metrics, public facts pack

Overview

Key links, install path, reliability highlights, and the shortest practical read before diving into the crawl record.

Verifiededitorial-content

Overview

Executive Summary

Upload files to Cloudflare R2 storage using wrangler CLI. Use when needing to upload images, videos, or files to R2 for CDN hosting, or manage R2 bucket contents. Triggers on "upload to R2", "upload to Cloudflare", "上传到R2", "存到CDN". Skill: Cloudflare R2 Owner: xiaoyaner0201 Summary: Upload files to Cloudflare R2 storage using wrangler CLI. Use when needing to upload images, videos, or files to R2 for CDN hosting, or manage R2 bucket contents. Triggers on "upload to R2", "upload to Cloudflare", "上传到R2", "存到CDN". Tags: latest:1.0.0 Version history: v1.0.0 | 2026-02-07T09:05:52.859Z | user Initial release: Upload and manage files in Cloudflare R2 s Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 4/15/2026.

No verified compatibility signals1.2K downloads

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Feb 28, 2026

Vendor

Clawhub

Artifacts

0

Benchmarks

0

Last release

1.0.0

Install & run

Setup Snapshot

clawhub skill install kn79vgb59wpf477rndweb97jqd80fqzr:cloudflare-r2
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence & Timeline

Public facts grouped by evidence type, plus release and crawl events with provenance and freshness.

Verifiededitorial-content

Public facts

Evidence Ledger

Vendor (1)

Vendor

Clawhub

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 15, 2026Source linkProvenance
Release (1)

Latest release

1.0.0

releasemedium
Observed Feb 7, 2026Source linkProvenance
Adoption (1)

Adoption signal

1.2K downloads

profilemedium
Observed Apr 15, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance

Artifacts & Docs

Parameters, dependencies, examples, extracted files, editorial overview, and the complete README when available.

Self-declaredCLAWHUB

Captured outputs

Artifacts Archive

Extracted files

2

Examples

5

Snippets

0

Languages

Unknown

Executable Examples

json

{
  "bucket": "your-bucket-name",
  "accountId": "your-account-id",
  "publicDomain": "pub-xxx.r2.dev",
  "apiToken": "your-api-token"
}

bash

scripts/r2-upload.sh <local-file> [remote-path]

bash

scripts/r2-upload.sh <directory> <remote-prefix>

bash

# Set credentials
export CLOUDFLARE_ACCOUNT_ID="$(jq -r .accountId ~/.config/cloudflare/r2.json)"
export CLOUDFLARE_API_TOKEN="$(jq -r .apiToken ~/.config/cloudflare/r2.json)"
BUCKET=$(jq -r .bucket ~/.config/cloudflare/r2.json)

# Upload
wrangler r2 object put "$BUCKET/path/to/file.png" --file local.png --remote

# List objects
wrangler r2 object list $BUCKET --prefix "path/" --remote

# Delete
wrangler r2 object delete "$BUCKET/path/to/file.png" --remote

text

https://<publicDomain>/<remote-path>
Extracted Files

SKILL.md

---
name: cloudflare-r2
description: Upload files to Cloudflare R2 storage using wrangler CLI. Use when needing to upload images, videos, or files to R2 for CDN hosting, or manage R2 bucket contents. Triggers on "upload to R2", "upload to Cloudflare", "上传到R2", "存到CDN".
metadata:
  {"openclaw": {"requires": {"bins": ["wrangler"]}, "install": [{"id": "node", "kind": "node", "package": "wrangler", "bins": ["wrangler"], "label": "Install Wrangler CLI (npm)"}]}}
---

# Cloudflare R2

Upload and manage files in Cloudflare R2 storage buckets.

## Prerequisites

- `wrangler` CLI: `npm install -g wrangler`
- R2 config at `~/.config/cloudflare/r2.json`

## Config Format

```json
{
  "bucket": "your-bucket-name",
  "accountId": "your-account-id",
  "publicDomain": "pub-xxx.r2.dev",
  "apiToken": "your-api-token"
}
```

## Quick Upload

Single file:
```bash
scripts/r2-upload.sh <local-file> [remote-path]
```

Batch upload:
```bash
scripts/r2-upload.sh <directory> <remote-prefix>
```

## Manual Commands

```bash
# Set credentials
export CLOUDFLARE_ACCOUNT_ID="$(jq -r .accountId ~/.config/cloudflare/r2.json)"
export CLOUDFLARE_API_TOKEN="$(jq -r .apiToken ~/.config/cloudflare/r2.json)"
BUCKET=$(jq -r .bucket ~/.config/cloudflare/r2.json)

# Upload
wrangler r2 object put "$BUCKET/path/to/file.png" --file local.png --remote

# List objects
wrangler r2 object list $BUCKET --prefix "path/" --remote

# Delete
wrangler r2 object delete "$BUCKET/path/to/file.png" --remote
```

## Public URL

After upload, files are accessible at:
```
https://<publicDomain>/<remote-path>
```

Example: `https://pub-xxx.r2.dev/article/image.png`

_meta.json

{
  "ownerId": "kn79vgb59wpf477rndweb97jqd80fqzr",
  "slug": "cloudflare-r2",
  "version": "1.0.0",
  "publishedAt": 1770455152859
}

Editorial read

Docs & README

Docs source

CLAWHUB

Editorial quality

ready

Upload files to Cloudflare R2 storage using wrangler CLI. Use when needing to upload images, videos, or files to R2 for CDN hosting, or manage R2 bucket contents. Triggers on "upload to R2", "upload to Cloudflare", "上传到R2", "存到CDN". Skill: Cloudflare R2 Owner: xiaoyaner0201 Summary: Upload files to Cloudflare R2 storage using wrangler CLI. Use when needing to upload images, videos, or files to R2 for CDN hosting, or manage R2 bucket contents. Triggers on "upload to R2", "upload to Cloudflare", "上传到R2", "存到CDN". Tags: latest:1.0.0 Version history: v1.0.0 | 2026-02-07T09:05:52.859Z | user Initial release: Upload and manage files in Cloudflare R2 s

Full README

Skill: Cloudflare R2

Owner: xiaoyaner0201

Summary: Upload files to Cloudflare R2 storage using wrangler CLI. Use when needing to upload images, videos, or files to R2 for CDN hosting, or manage R2 bucket contents. Triggers on "upload to R2", "upload to Cloudflare", "上传到R2", "存到CDN".

Tags: latest:1.0.0

Version history:

v1.0.0 | 2026-02-07T09:05:52.859Z | user

Initial release: Upload and manage files in Cloudflare R2 storage via wrangler CLI

Archive index:

Archive v1.0.0: 3 files, 2052 bytes

Files: scripts/r2-upload.sh (1977b), SKILL.md (1643b), _meta.json (132b)

File v1.0.0:SKILL.md


name: cloudflare-r2 description: Upload files to Cloudflare R2 storage using wrangler CLI. Use when needing to upload images, videos, or files to R2 for CDN hosting, or manage R2 bucket contents. Triggers on "upload to R2", "upload to Cloudflare", "上传到R2", "存到CDN". metadata: {"openclaw": {"requires": {"bins": ["wrangler"]}, "install": [{"id": "node", "kind": "node", "package": "wrangler", "bins": ["wrangler"], "label": "Install Wrangler CLI (npm)"}]}}

Cloudflare R2

Upload and manage files in Cloudflare R2 storage buckets.

Prerequisites

  • wrangler CLI: npm install -g wrangler
  • R2 config at ~/.config/cloudflare/r2.json

Config Format

{
  "bucket": "your-bucket-name",
  "accountId": "your-account-id",
  "publicDomain": "pub-xxx.r2.dev",
  "apiToken": "your-api-token"
}

Quick Upload

Single file:

scripts/r2-upload.sh <local-file> [remote-path]

Batch upload:

scripts/r2-upload.sh <directory> <remote-prefix>

Manual Commands

# Set credentials
export CLOUDFLARE_ACCOUNT_ID="$(jq -r .accountId ~/.config/cloudflare/r2.json)"
export CLOUDFLARE_API_TOKEN="$(jq -r .apiToken ~/.config/cloudflare/r2.json)"
BUCKET=$(jq -r .bucket ~/.config/cloudflare/r2.json)

# Upload
wrangler r2 object put "$BUCKET/path/to/file.png" --file local.png --remote

# List objects
wrangler r2 object list $BUCKET --prefix "path/" --remote

# Delete
wrangler r2 object delete "$BUCKET/path/to/file.png" --remote

Public URL

After upload, files are accessible at:

https://<publicDomain>/<remote-path>

Example: https://pub-xxx.r2.dev/article/image.png

File v1.0.0:_meta.json

{ "ownerId": "kn79vgb59wpf477rndweb97jqd80fqzr", "slug": "cloudflare-r2", "version": "1.0.0", "publishedAt": 1770455152859 }

API & Reliability

Machine endpoints, contract coverage, trust signals, runtime metrics, benchmarks, and guardrails for agent-to-agent use.

MissingCLAWHUB

Machine interfaces

Contract & API

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/contract"
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/trust"

Operational fit

Reliability & Benchmarks

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Machine Appendix

Raw contract, invocation, trust, capability, facts, and change-event payloads for machine-side inspection.

MissingCLAWHUB

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "CLAWHUB",
      "generatedAt": "2026-10-09T03:34:21.513Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Clawhub",
    "href": "https://clawhub.ai/xiaoyaner0201/cloudflare-r2",
    "sourceUrl": "https://clawhub.ai/xiaoyaner0201/cloudflare-r2",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T00:45:39.800Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-04-15T00:45:39.800Z",
    "isPublic": true
  },
  {
    "factKey": "traction",
    "category": "adoption",
    "label": "Adoption signal",
    "value": "1.2K downloads",
    "href": "https://clawhub.ai/xiaoyaner0201/cloudflare-r2",
    "sourceUrl": "https://clawhub.ai/xiaoyaner0201/cloudflare-r2",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T00:45:39.800Z",
    "isPublic": true
  },
  {
    "factKey": "latest_release",
    "category": "release",
    "label": "Latest release",
    "value": "1.0.0",
    "href": "https://clawhub.ai/xiaoyaner0201/cloudflare-r2",
    "sourceUrl": "https://clawhub.ai/xiaoyaner0201/cloudflare-r2",
    "sourceType": "release",
    "confidence": "medium",
    "observedAt": "2026-02-07T09:05:52.859Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-xiaoyaner0201-cloudflare-r2/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "release",
    "title": "Release 1.0.0",
    "description": "Initial release: Upload and manage files in Cloudflare R2 storage via wrangler CLI",
    "href": "https://clawhub.ai/xiaoyaner0201/cloudflare-r2",
    "sourceUrl": "https://clawhub.ai/xiaoyaner0201/cloudflare-r2",
    "sourceType": "release",
    "confidence": "medium",
    "observedAt": "2026-02-07T09:05:52.859Z",
    "isPublic": true
  }
]

Sponsored

Ads related to Cloudflare R2 and adjacent AI workflows.