
Alicloud Platform Openapi Product Api Discovery Test
- 295 installs
- 396 repo stars
- Updated July 18, 2026
- cinience/alicloud-skills
alicloud-platform-openapi-product-api-discovery-test is a Claude Code smoke-test skill that discovers and tests Alibaba Cloud OpenAPI product endpoints, parameters, and SDK mappings for developers who need to verify the
About
alicloud-platform-openapi-product-api-discovery-test is a minimal viable test skill in cinience/alicloud-skills that sanity-checks the Alibaba Cloud OpenAPI product discovery pipeline before full sweeps. The test runs one product source scrape script, executes the merge script, and limits metadata collection with OPENAPI_META_MAX_PRODUCTS=1 so output/product-scan/ receives minimal result files. It targets the parent alicloud-platform-openapi-product-api-discovery skill that reconciles catalogs from Ticket System ListProducts, Support & Service ListProductByGroup, and BSS OpenAPI QueryProductList sources. Developers need ALICLOUD_ACCESS_KEY_ID and ALICLOUD_ACCESS_KEY_SECRET configured. Reach for this test when building or maintaining AliCloud API catalog automation, after changing discovery scripts, or before running large openapi-meta product and API doc fetches across regions.
- OpenAPI product catalog navigation
- Endpoint and parameter discovery
- SDK and action name mapping
- Smoke-test call patterns
- Integration planning for Aliyun APIs
Alicloud Platform Openapi Product Api Discovery Test by the numbers
- 295 all-time installs (skills.sh)
- Ranked #1,349 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cinience/alicloud-skills --skill alicloud-platform-openapi-product-api-discovery-testAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 295 |
|---|---|
| repo stars | ★ 396 |
| Last updated | July 18, 2026 |
| Repository | cinience/alicloud-skills ↗ |
How do you smoke-test Alibaba Cloud OpenAPI discovery?
Discover and test Alibaba Cloud OpenAPI product endpoints, parameters, and SDK mappings so agents pick the right service APIs before implementing integrations.
Who is it for?
Developers building Alibaba Cloud OpenAPI catalog tooling who need a one-product-limit smoke test before full metadata discovery sweeps.
Skip if: Teams not on Alibaba Cloud, or developers who only need runtime API calls without validating the product-discovery metadata pipeline.
When should I use this skill?
OpenAPI product discovery scripts change, AK/SK credentials are newly configured, or a developer wants a sanity check before OPENAPI_META_MAX_PRODUCTS full runs.
What you get
Minimal product-scan files under output/product-scan/, scrape and merge script logs, and pass/fail evidence for AK/SK connectivity.
- output/product-scan/ minimal artifacts
- Scrape and merge execution logs
- Pass/fail pipeline evidence
By the numbers
- Runs metadata collection with OPENAPI_META_MAX_PRODUCTS=1 for minimal scope
- Parent discovery skill pulls catalogs from 3 product list API sources
Files
Category: service
Cloud Backup
Use Alibaba Cloud OpenAPI (RPC) with official SDKs or OpenAPI Explorer to manage resources for Cloud Backup.
Workflow
1) Confirm region, resource identifiers, and desired action. 2) Discover API list and required parameters (see references). 3) Call API with SDK or OpenAPI Explorer. 4) Verify results with describe/list APIs.
AccessKey priority (must follow)
1) Environment variables: ALIBABACLOUD_ACCESS_KEY_ID / ALIBABACLOUD_ACCESS_KEY_SECRET / ALIBABACLOUD_REGION_ID Region policy: ALIBABACLOUD_REGION_ID is an optional default. If unset, decide the most reasonable region for the task; if unclear, ask the user. 2) Shared config file: ~/.alibabacloud/credentials
API discovery
- Product code:
hbr - Default API version:
2017-09-08 - Use OpenAPI metadata endpoints to list APIs and get schemas (see references).
High-frequency operation patterns
1) Inventory/list: prefer List* / Describe* APIs to get current resources. 2) Change/configure: prefer Create* / Update* / Modify* / Set* APIs for mutations. 3) Status/troubleshoot: prefer Get* / Query* / Describe*Status APIs for diagnosis.
Minimal executable quickstart
Use metadata-first discovery before calling business APIs:
python scripts/list_openapi_meta_apis.pyOptional overrides:
python scripts/list_openapi_meta_apis.py --product-code <ProductCode> --version <Version>The script writes API inventory artifacts under the skill output directory.
Output policy
If you need to save responses or generated artifacts, write them under: output/aliyun-hbr-backup/
Validation
mkdir -p output/aliyun-hbr-backup
for f in skills/backup/aliyun-hbr-backup/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/aliyun-hbr-backup/validate.txtPass criteria: command exits 0 and output/aliyun-hbr-backup/validate.txt is generated.
Output And Evidence
- Save artifacts, command outputs, and API response summaries under
output/aliyun-hbr-backup/. - Include key parameters (region/resource id/time range) in evidence files for reproducibility.
Prerequisites
- Configure least-privilege Alibaba Cloud credentials before execution.
- Prefer environment variables:
ALIBABACLOUD_ACCESS_KEY_ID,ALIBABACLOUD_ACCESS_KEY_SECRET, optionalALIBABACLOUD_REGION_ID. - If region is unclear, ask the user before running mutating operations.
References
- Sources:
references/sources.md
interface:
display_name: "Alibaba Cloud Backup HBR"
short_description: "Cloud Backup vault and job workflows"
default_prompt: "Use $aliyun-hbr-backup to complete this backup task on Alibaba Cloud."
Sources
- OpenAPI product page:
https://api.aliyun.com/product/hbr - API list (metadata):
https://api.aliyun.com/meta/v1/products/hbr/versions/2017-09-08/api-docs.json - API definition (single API):
https://api.aliyun.com/meta/v1/products/hbr/versions/2017-09-08/apis/{ApiName}/api.json
#!/usr/bin/env python3
"""Fetch OpenAPI metadata API list for one product/version and save to output/.
Env:
- OPENAPI_META_TIMEOUT (seconds, default: 20)
"""
from __future__ import annotations
import argparse
import json
import os
import pathlib
import urllib.request
DEFAULT_PRODUCT_CODE = "hbr"
DEFAULT_VERSION = "2017-09-08"
OUTPUT_DIR = pathlib.Path("output/aliyun-hbr-backup")
def fetch_json(url: str, timeout: int) -> dict:
req = urllib.request.Request(url, headers={"User-Agent": "codex-skill"})
with urllib.request.urlopen(req, timeout=timeout) as resp:
return json.loads(resp.read().decode("utf-8"))
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--product-code", default=DEFAULT_PRODUCT_CODE)
parser.add_argument("--version", default=DEFAULT_VERSION)
parser.add_argument("--output-dir", default=str(OUTPUT_DIR))
args = parser.parse_args()
timeout = int(os.getenv("OPENAPI_META_TIMEOUT", "20"))
output_dir = pathlib.Path(args.output_dir)
output_dir.mkdir(parents=True, exist_ok=True)
url = (
f"https://api.aliyun.com/meta/v1/products/{args.product_code}"
f"/versions/{args.version}/api-docs.json"
)
payload = fetch_json(url, timeout)
raw_apis = payload.get("apis", {})
if isinstance(raw_apis, dict):
api_names = sorted(raw_apis.keys())
elif isinstance(raw_apis, list):
names = []
for item in raw_apis:
if isinstance(item, dict):
name = item.get("name") or item.get("apiName")
if name:
names.append(name)
elif isinstance(item, str):
names.append(item)
api_names = sorted(set(names))
else:
api_names = []
json_file = output_dir / f"{args.product_code}_{args.version}_api_docs.json"
md_file = output_dir / f"{args.product_code}_{args.version}_api_list.md"
json_file.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8")
md_lines = [
f"# {args.product_code} {args.version} API List",
"",
f"- Source: {url}",
f"- API count: {len(api_names)}",
"",
]
md_lines.extend([f"- `{name}`" for name in api_names])
md_file.write_text("\n".join(md_lines) + "\n", encoding="utf-8")
print(f"Saved: {json_file}")
print(f"Saved: {md_file}")
if __name__ == "__main__":
main()
Related skills
FAQ
What does the OpenAPI discovery test validate?
alicloud-platform-openapi-product-api-discovery-test validates product source scraping, merge scripts, and minimal metadata collection with OPENAPI_META_MAX_PRODUCTS=1. Expected output includes files under output/product-scan/ confirming the pipeline works.
What credentials does the discovery test require?
The test requires ALICLOUD_ACCESS_KEY_ID and ALICLOUD_ACCESS_KEY_SECRET, with optional ALICLOUD_REGION_ID. Without AK/SK the scrape and merge scripts cannot authenticate to Alibaba Cloud product list APIs.