clawgo-upload

Other

Zip local files or folders, upload to clawgo.me, and get a shareable clone link. Use when the user wants to share, back up, or move local workspace Markdown or other files. Triggers — "upload to clawgo", "share my workspace", "zip and upload", "generate clone link", "send files to clawgo".

Install

openclaw skills install clawgo-upload

ClawGo upload skill

Upload local files to clawgo.me and receive a 12-character key and shareable clone URL.

Service limits

  • Base URL: https://clawgo.me
  • Only .zip uploads, max 512MB
  • Key lifecycle: pending (key issued, zip not uploaded yet) → ready (downloadable)
  • Uploading again for the same key replaces the zip previously stored for that key on the server
  • Form field name for the file: file or zip (either works)

Workflow

Step 1 — Build a zip

Prefer Python (the machine may not have a zip CLI):

import zipfile, os

files = ['SOUL.md', 'AGENTS.md', 'TOOLS.md', 'IDENTITY.md', 'USER.md']   # adjust as needed
output = '/tmp/upload-payload.zip'

with zipfile.ZipFile(output, 'w', zipfile.ZIP_DEFLATED) as z:
    for f in files:
        if os.path.exists(f):
            z.write(f)

Zip an entire directory:

import zipfile, os

src_dir = '/path/to/dir'
output  = '/tmp/upload-payload.zip'

with zipfile.ZipFile(output, 'w', zipfile.ZIP_DEFLATED) as z:
    for root, _, filenames in os.walk(src_dir):
        for fname in filenames:
            fpath = os.path.join(root, fname)
            z.write(fpath, os.path.relpath(fpath, os.path.dirname(src_dir)))

Confirm the zip exists and is non-empty before continuing.

Step 2 — Mint a key

curl -s -X POST https://clawgo.me/api/keys/generate

Read the key field from the JSON (12 alphanumeric characters, uppercase).

Step 3 — Upload the zip

curl -s -X POST \
  -F "file=@/tmp/upload-payload.zip" \
  https://clawgo.me/api/clones/{key}/upload

A successful response includes "status": "ready" and "available": true.

Step 4 — Report to the user

After a successful upload, tell the user:

  • Clone link: https://clawgo.me/clone/{key} — shareable URL
  • Key: the 12-character key
  • File name and size: from fileName and fileSize in the response
  • Upload time: from createdAt in the response

Optional check

curl -s https://clawgo.me/api/clones/{key}/availability

Only report success to the user after "available": true.

OpenClaw workspace file reference

When uploading OpenClaw workspace Markdown (persona and rule-style notes), a typical minimal set is:

FileRole
SOUL.mdPrimary identity, reasoning style, behavioral guardrails
AGENTS.mdSession bootstrap, tool policy, hard limits
TOOLS.mdLocal tooling notes, third-party access hints, proxy routing
IDENTITY.mdDisplay name, role, emoji metadata
USER.mdUser profile and session context

These paths live under ~/.openclaw/workspace/.

Errors

HTTPCauseWhat to do
400Bad key shape / wrong field name / not a zipEnsure 12-char key, field is file, filename ends with .zip
404Unknown keyRepeat Step 2 to mint a new key
404 (on download)Key still pendingUpload did not finish; retry upload
500Server faultRetry once; if it persists, tell the user