Huawei Cloud OBS Website Host Skill: Static Site Setup
Lets an agent turn on static website hosting for an OBS bucket, register a custom domain, guide the DNS record and check the result.
- Installs
- 17.5K
- on skills.sh
- Stars
- 59
- on GitHub
- Files
- 7
- besides SKILL.md
- Updated
- Oct 2026
- last repo commit
This is Huawei Cloud's own skill for hosting a static website from an OBS bucket. It tells the agent to run bundled Python scripts that set the index and error pages and register your custom domain on the bucket, then check the site over HTTP and HTTPS. It assumes your site files are already in the bucket and does not upload anything.
A custom domain is mandatory: SKILL.md says the default bucket domain may not be used for online preview, and the agent must stop until you have one (with ICP filing for mainland China). It needs Python 3.10+, the esdk-obs-python package and your keys from environment variables or ~/.obsutilconfig. The hcloud CLI is needed only if you want the agent to create the Huawei Cloud DNS record.
Good for
- Developers who already uploaded a static site to OBS and need hosting switched on
- Admins fixing a 403 or 404 on an OBS-hosted site
- Teams that manage their domain in Huawei Cloud DNS and want the CNAME record created
Install huawei-cloud-obs-website-host
Claude Code
- 1
Copy this prompt.
Install the huawei-cloud-obs-website-host skill in Claude Code. Run this command: npx skills add huaweicloud/huaweicloud-skills --skill huawei-cloud-obs-website-host 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.
SKILL.md needs Python 3.10+ and the esdk-obs-python package, and obsutil for the credential config. hcloud is only needed when the agent should manage Huawei Cloud DNS records. 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
Configure Huawei Cloud OBS static website hosting with Python SDK and a custom domain. Use when the user needs to enable or repair OBS website hosting, set index or error pages, expose an existing bucket for public website access through a custom domain, or connect that domain through Huawei Cloud DNS when Huawei manages the zone. Triggers include OBS static website hosting, website endpoint, index page, error page, public-read bucket website access, custom domain CNAME, Huawei Cloud DNS, setBucketWebsite. 中文触发词包括:OBS 静态网站托管、网站托管、自定义域名解析。
Sections in SKILL.md
- Overview
- What Good Looks Like
- Security Compliance: Custom Domain Requirement
- Required Inputs
- Dependencies
- hcloud CLI Reference
- obsutil Config Dependency
- Script Usage Intent
- Workflow
- Bucket Existence and Region Check Method
- Anonymous Read Check Method
- Response Shape
- Safety Rules
- Permission Failure Handling (MUST)
- References
- Scripts
Key facts
- License
- MIT (LICENSE file and README badge; the LICENSE copyright line still reads "[year] [fullname]")
- Installs on skills.sh
- 17,512 (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
Stops until you have a custom domain
Confirms you have a custom domain. If not, the agent sends you to domain registration and, for mainland China, ICP filing, and does not continue until that is done.
Try: “Set up static website hosting on bucket my-site in cn-north-4 with domain www.example.com.”
Read ·
Custom domain checkChecks the bucket, its region and anonymous read
Runs scripts/verify_obs_website.py, which uses headBucket and getBucketLocation to check the bucket and region, and plain HTTP requests without keys to test anonymous read.
Network ·
Bucket and permission checksSets index and error pages and registers the custom domain
Calls setBucketWebsite and setBucketCustomDomain through the OBS SDK. Optional flags bind an HTTPS certificate (--certificate-name with --certificate and --private-key). Keys come from flags, environment variables or ~/.obsutilconfig.
Runs code ·
scripts/set_obs_website_sdk.pyCreates a Huawei Cloud DNS record or tells you what to add
If your zone is in Huawei Cloud DNS and you ask for it, the agent follows references/hcloud-dns-obs-website.md and runs hcloud DNS CreateRecordSet. For other DNS providers it gives you the CNAME record to add.
Runs code ·
DNS CNAME guidanceChecks the home page, a missing path and DNS over HTTP and HTTPS
Runs scripts/verify_obs_website.py with your domain and checks that the root returns 200, a missing path returns 404 or your error page, and the domain resolves.
Network ·
Final verification
From the official docs
Permissions
Medium risk
It changes how a bucket serves a website and can add a DNS record, using your cloud keys. Point it at one bucket you own, use a key limited to that bucket and its zone, and read the plan before it runs.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It changes how a live bucket serves the web
The setup script calls setBucketWebsite and setBucketCustomDomain on the bucket you name, and a DNS step can add a record to a live zone. Use a bucket you own and read the plan first. github.com
It can take a certificate private key
The setup script accepts --certificate and --private-key to bind HTTPS. SKILL.md says never to print the private key. Keep the key file out of chat history. github.com
It installs a pip package and reads your OBS keys
SKILL.md says to run pip install esdk-obs-python, and the script reads keys from flags, HW_ACCESS_KEY and HW_SECRET_KEY, or ~/.obsutilconfig. Use a key limited to this bucket and its DNS zone. github.com
It does not upload site files
SKILL.md says to assume the files are already in the bucket and to run no upload actions. Upload them first with the OBS upload skill or the console. github.com
Security advisories
No published security advisories as of Nov 2, 2026.
Technical details
| Turning on read-only | No read-only mode. verify_obs_website.py only reads, and set_obs_website_sdk.py writes. |
|---|---|
| Talks to | obs.<region>.myhuaweicloud.com (OBS endpoint built by the scripts). <bucket>.obs.<region>.myhuaweicloud.com and your custom domain, for the HTTP and HTTPS checks. Huawei Cloud DNS API through hcloud, only if you ask for the record. PyPI during pip install esdk-obs-python |
| Sign-in and keys | The scripts read keys from flags, environment variables or ~/.obsutilconfig. SKILL.md says never to print them. |
| Scopes |
|
Questions
What does huawei-cloud-obs-website-host do?
It makes an agent switch on static website hosting for an existing OBS bucket, register your custom domain, guide the DNS CNAME record and verify the site. It does not upload your site files.
Does it make my bucket public?
SKILL.md says it checks that anonymous read works and reports a 403 if not, with public read or IAM permissions as the two likely causes. The bundled setup script calls setBucketWebsite and setBucketCustomDomain, and it does not set an ACL.
Is huawei-cloud-obs-website-host 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 changes the website and domain settings on a bucket and may add a DNS record, using your cloud keys. SKILL.md says to confirm the zone before DNS changes and never to print keys or private keys. Our advice: point it at one bucket you own and use a key limited to that bucket.
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.
Do I need a custom domain?
Yes. SKILL.md says Huawei Cloud security compliance prohibits the default bucket domain for online preview, so a custom domain is mandatory, and mainland China domains also need ICP filing.
Information
updated Nov 2, 2026
- Repository
- huaweicloud/huaweicloud-skills
- Folder
skills/storage/obs/huawei-cloud-obs-website-host
Sources
Docs, issue trackers and discussions this page is built from.
Show all 6Hide
- huawei-cloud-obs-website-host SKILL.md · github.com
- huaweicloud-skills README · github.com
- huaweicloud-skills LICENSE · github.com
- set_obs_website_sdk.py · github.com
- verify_obs_website.py · github.com
- OBS website DNS guide · github.com