PlugWiki

Huawei Cloud OBS Upload Skill: Send Files to a Bucket

Lets an agent upload local files or folders to a Huawei Cloud OBS bucket, list bucket sizes, and set up scheduled uploads.

Installs
17.5K
on skills.sh
Stars
59
on GitHub
Files
10
besides SKILL.md
Updated
Oct 2026
last repo commit

This is Huawei Cloud's own skill for putting local files into Object Storage Service (OBS). It tells the agent to upload with obsutil, to list buckets and their size with hcloud, and to set up a repeating upload through crontab or Windows Task Scheduler. It is upload-only: SKILL.md blocks deletes, downloads, bucket creation and permission changes.

You need the hcloud CLI (3.2.0 or newer) and obsutil (5.5.0 or newer) installed, and obsutil credentials set up by you in your own terminal. SKILL.md says the agent must never ask for or print your keys. For a folder upload the agent must first ask whether to keep the folder structure.

Good for

  • Developers who want an agent to push a file or folder to an OBS bucket
  • Admins who need a recurring folder-to-bucket sync set up with cron or Task Scheduler
  • Teams that want a quick table of buckets with capacity and object counts

Install huawei-cloud-obs-upload

Claude Code

  1. 1

    Copy this prompt.

    Install the huawei-cloud-obs-upload skill in Claude Code. Run this command:
    
    npx skills add huaweicloud/huaweicloud-skills --skill huawei-cloud-obs-upload
    
    Then check that it loaded and tell me how to use it.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js.

Run the KooCLI and obsutil steps first (SKILL.md needs hcloud 3.2.0+ and obsutil 5.5.0+; the commands shown are for Linux and macOS, and Windows steps are in references/cli-installation-guide.md). Then run the credentials command yourself in a terminal and fill in your own key and region. The repo has no plugin manifest, so there is no plugin route.

Built from the package data we hold. Not yet tested by us. Source.

What's in the skill

When it loads

Upload local files or directories to Huawei Cloud OBS (Object Storage Service) buckets, list OBS buckets with capacity and object count, and schedule periodic uploads via crontab. Use this skill when the user wants to: (1) upload a local file or directory to an OBS bucket, (2) list OBS buckets and check their storage capacity and object count, (3) set up a scheduled/periodic upload task to automatically sync a local directory to an OBS bucket. Triggers include: user mentions "OBS", "object storage", "bucket list", "bucket capacity", "upload to OBS", "upload file", "upload directory", "scheduled upload", "periodic upload", "sync to bucket", "对象存储", "桶列表", "桶容量", "上传文件", "上传目录", "定时上传", "OBS管理"

Sections in SKILL.md

  1. Overview
  2. ⛔ Prohibited Operations (Security Constraints)
  3. Architecture
  4. Prerequisites
  5. Authentication
  6. IAM Permission Policies
  7. Core Workflows
  8. Task 1: List Buckets with Capacity and Object Count
  9. Task 2: Upload Local File or Directory to Target Bucket
  10. Task 3: Schedule Periodic Upload of Local Directory to Target Bucket
  11. Core Commands
  12. obsutil (upload core — hcloud has no PutObject)
  13. hcloud CLI (bucket listing + stats)
  14. Parameter Confirmation
  15. Verification Method
  16. References

Key facts

Installs on skills.sh
17,548 (Nov 2, 2026)
Last repo commit
Oct 31, 2026

What it includes

  • Runs a one-item bucket list to see if obsutil is set up

    Before any OBS work the agent runs hcloud obs ls -limit=1. If keys are missing it gives you a config command to run in your own terminal and does not ask for the keys in chat.

    Try: “Upload ./reports to my OBS bucket.”

    Runs code · Check credentials

  • Lists buckets with capacity and object count

    Lists buckets with hcloud obs ls, then reads capacity and object count from Cloud Eye metrics with hcloud CES ShowMetricData and shows a table.

    Try: “List my OBS buckets with capacity and object count.”

    Runs code · Task 1: list buckets with stats

  • Copies a local path into a bucket with obsutil cp

    Confirms the local path, bucket and prefix with you, asks whether to keep the folder structure for a directory (-flat or not), runs obsutil cp, then checks the result.

    Try: “Upload ./site to bucket my-bucket under the prefix web/, keep the folder structure.”

    Runs code · Task 2: upload file or directory

  • Writes a script and a cron or Task Scheduler entry

    On Linux and macOS it writes $HOME/obs-scheduled-upload-<BucketName>.sh, which runs obsutil cp with -r -f -u (plus -flat if you chose it), and adds a crontab line. On Windows it creates a schtasks entry that runs obsutil directly. It then confirms the task is set.

    Try: “Upload ./backups to my bucket every day at 8:00.”

    Runs code · Task 3: scheduled upload

  • Refuses deletes, downloads and permission changes

    SKILL.md forbids deleting buckets or objects, downloading, creating buckets, copying objects, lifecycle rules, restores, presigned URLs and ACL or policy changes, and tells the agent to point you to the console or another skill.

    Read · Blocked operations

From the official docs

Permissions

Medium risk

It copies your local files to a cloud bucket and can leave a repeating job on your machine. Name the path and bucket yourself, use a key limited to one bucket, and check crontab -l after a scheduled setup.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • Scheduled uploads keep running after the chat

    Task 3 adds a crontab line (or a schtasks job on Windows) that runs the upload script on your schedule. Check crontab -l afterwards and remove the line when you no longer need it. github.com

  • It sends your local files to a cloud bucket

    obsutil cp copies the path you name into the bucket you name. Who can read the files then depends on that bucket's access settings. Name the path yourself and use a bucket that is private. github.com

  • Your keys sit in the CLI config

    You store the access key and secret key with hcloud obs config in your terminal. SKILL.md tells the agent not to read, echo or print them. Use an IAM user limited to this bucket. github.com

  • The CLI install guide uses curl and sudo

    references/cli-installation-guide.md downloads the hcloud installer from a Huawei Cloud OBS address and moves obsutil into /usr/local/bin with sudo. Read the commands before you run them. github.com

Security advisories

No published security advisories as of Nov 2, 2026.

Technical details
Turning on read-onlyNo read-only mode. Listing buckets reads, but Task 2 and Task 3 write.
Talks toobs.<region>.myhuaweicloud.com (the OBS endpoint you configure). Huawei Cloud API for Cloud Eye metrics through hcloud. cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com and obs-community-tool.obs.cn-north-1.myhuaweicloud.com for the CLI downloads in the install guide
Sign-in and keysThe key lives in the obsutil and hcloud config on your machine. SKILL.md says the agent must not ask for it or print it.
Scopes
  • Reads the local file or folder you name and uploads it to the OBS bucket you name

  • Writes $HOME/obs-scheduled-upload-<BucketName>.sh and a crontab or Task Scheduler entry for scheduled uploads

  • Runs hcloud and obsutil on your machine

Questions

What does huawei-cloud-obs-upload do?

It makes an agent upload local files or folders to an OBS bucket with obsutil, list buckets with capacity and object count, and schedule repeating uploads. It is upload-only and refuses deletes.

Does it need an API key?

Yes. It needs obsutil credentials (an access key and secret key plus the OBS endpoint). SKILL.md says you set them in your own terminal with hcloud obs config, and the agent must not ask for them in chat or read them out of config files.

Is huawei-cloud-obs-upload official?

It is in Huawei Cloud's own huaweicloud/huaweicloud-skills repo, which the README calls officially maintained Huawei Cloud Agent Skills.

Is it safe to run?

It copies local files to a cloud bucket you name and can leave a recurring job on your machine. SKILL.md has the agent confirm the path, bucket and prefix first and blocks deletes. Our advice: use an IAM user limited to the one bucket, and check crontab -l after a scheduled setup.

Does it work in Claude Code, Codex or the Claude app?

The install box has Claude Code, Codex and standalone tabs. Huawei says only that the skills are compatible with mainstream AI Agents and names none, and it documents no Claude app upload. This skill runs command-line tools on your machine, so the box has no Claude app tab.

How do I stop a scheduled upload?

Remove the line for the bucket from your crontab. The skill's references/task-scheduled-upload.md shows the command it uses: crontab -l | grep -v "obs-scheduled-upload-<BucketName>" | crontab -. On Windows the task is named OBS-ScheduledUpload-<BucketName>; remove it from Task Scheduler.

Information

updated Nov 2, 2026

Folder
skills/storage/obs/huawei-cloud-obs-upload

huaweicloud/huaweicloud-skillsskills.sh

Sources

Docs, issue trackers and discussions this page is built from.

Show all 5
  1. huawei-cloud-obs-upload SKILL.md · github.com
  2. huaweicloud-skills README · github.com
  3. huaweicloud-skills LICENSE · github.com
  4. OBS upload scheduled upload guide · github.com
  5. OBS upload CLI install guide · github.com

Updated Nov 2, 2026.