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
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
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
- Overview
- ⛔ Prohibited Operations (Security Constraints)
- Architecture
- Prerequisites
- Authentication
- IAM Permission Policies
- Core Workflows
- Task 1: List Buckets with Capacity and Object Count
- Task 2: Upload Local File or Directory to Target Bucket
- Task 3: Schedule Periodic Upload of Local Directory to Target Bucket
- Core Commands
- obsutil (upload core — hcloud has no PutObject)
- hcloud CLI (bucket listing + stats)
- Parameter Confirmation
- Verification Method
- References
Key facts
- License
- MIT (LICENSE file and README badge; the LICENSE copyright line still reads "[year] [fullname]")
- Installs on skills.sh
- 17,548 (Nov 2, 2026)
- skills.sh audits
- Gen Agent Trust Hub pass, Socket pass, Snyk pass (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 credentialsLists 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 statsCopies 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 directoryWrites 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 uploadRefuses 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-only | No read-only mode. Listing buckets reads, but Task 2 and Task 3 write. |
|---|---|
| Talks to | obs.<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 keys | The 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 |
|
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
- Repository
- huaweicloud/huaweicloud-skills
- Folder
skills/storage/obs/huawei-cloud-obs-upload
Sources
Docs, issue trackers and discussions this page is built from.
Show all 5Hide
- huawei-cloud-obs-upload SKILL.md · github.com
- huaweicloud-skills README · github.com
- huaweicloud-skills LICENSE · github.com
- OBS upload scheduled upload guide · github.com
- OBS upload CLI install guide · github.com