Ship public OpenClaw docs and skill files with fewer leaks, fewer empty claims, and clearer operator instructions.
Coding
OSS Artifact Upload
Try itUpload generated artifacts from an OpenClaw workspace to an Alibaba Cloud OSS bucket using credentials from environment variables, then return a temporary si...
What it does
Upload generated artifacts from an OpenClaw workspace to an Alibaba Cloud OSS bucket using credentials from environment variables, then return a temporary si...
The skill document
OpenClaw OSS Artifact
Use this skill after creating a file, directory, or set of files that the user needs to download from an OSS signed URL.
Requirements
Credentials and defaults come from environment variables:
OSS_ACCESS_KEY_ID(required)OSS_ACCESS_KEY_SECRET(required)OSS_BUCKET(required)OSS_ENDPOINT(required, for examplehttps://oss-cn-hangzhou.aliyuncs.com)OSS_STS_TOKEN(optional, for temporary credentials)OSS_PREFIX(optional, object key prefix; defaultopenclaw-artifacts)OSS_EXPIRES(optional, signed URL lifetime in seconds; default3600)OSS_PUBLIC_ENDPOINT(optional, endpoint used in the returned URL if it differs from upload endpoint)OSS_IS_CNAME(optional, set to1when the endpoint is a custom OSS CNAME)
The access key must have permission to put objects into the configured bucket and read them through signed URLs.
The uploader uses the Alibaba Cloud oss2 Python SDK. If it is not installed, install it with python3 -m pip install oss2.
Workflow
- Finish generating the artifact locally.
- Confirm the local artifact path exists.
- Run the bundled uploader:
python3 skills/openclaw-oss-skills/scripts/upload_to_oss.py /absolute/path/to/artifact
For multiple files or a directory, pass each path. The script automatically creates a zip archive before upload:
python3 skills/openclaw-oss-skills/scripts/upload_to_oss.py /path/to/file-a.pdf /path/to/output-dir
If the skill folder is the current directory, run the script directly:
python3 scripts/upload_to_oss.py /absolute/path/to/artifact
- Return the
download_urlshown by the script to the user as a Markdown link. Mention the expiration time if the user may need to know it.
Options
--object-key: upload with an explicit OSS object key. Use only for a single file.--prefix: overrideOSS_PREFIX.--bucket: overrideOSS_BUCKET.--endpoint: overrideOSS_ENDPOINT.--public-endpoint: overrideOSS_PUBLIC_ENDPOINT.--expires: overrideOSS_EXPIRES.--json: print machine-readable JSON only.
Output Contract
The script prints:
object_key: object path inside the bucketdownload_url: signed URL for direct downloadexpires_at: ISO-8601 UTC expiration timesource: uploaded local file or temporary zip path
In the final answer, include the signed link and keep the local path available for debugging if upload fails.
Related skills
Turn a promising open-source repo into a defensible OpenClaw adoption decision before code, dependencies, or risk enter the workflow.
Engine auto-update & discovery skill OpenClaw: scan, evaluate, update, test, install, verify, rollback — dengan validation gate dan safety agar update tidak merusak workspace.
Wrap a local openclaw_capture_workflow checkout as an OpenClaw/ClawHub skill that captures links, text, images, and videos, routes STT by platform, and fans...
Use when installing or configuring OpenClaw with DingTalk, Feishu, Discord, and additional channels with Bailian/DashScope models on Linux hosts. Use when pr...
Explain how to use OpenClaw in a local environment. Use when the user asks how to find OpenClaw config or workspace files, how to add or inspect skills, how...