mcpField
A
aliyun-skill-creator

aliyun-skill-creator

github.com/cinienceAgent workflows39656 installsUpdated 11w ago
Repository

About aliyun-skill-creator

A skill engineering workflow for creating, migrating, and maintaining skills in the alicloud-skills repository. It covers repository conventions, upstream documentation checks, smoke tests, and optional structured benchmarks.

Key features

  1. 01Create or migrate repository skills
  2. 02Maintain skill trigger descriptions
  3. 03Add and run smoke tests
  4. 04Check current official documentation first
  5. 05Validate scripts and refresh the index
  6. 06Support structured benchmark runs

Use cases

  1. 01Create a skill under skills/**
  2. 02Adapt an external skill to the repository
  3. 03Revise a skill description and its triggers
  4. 04Validate skills and run benchmarks before merging

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/cinience/alicloud-skills --skill aliyun-skill-creator

After installing, type/aliyun-skill-creatorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

LICENSE.txt
agents/
analyzer.md
comparator.md
grader.md
openai.yaml
assets/
eval_review.html
eval-viewer/
generate_review.py
viewer.html
references/
schemas.md
sources.md
scripts/
__init__.py
aggregate_benchmark.py
generate_report.py
improve_description.py
package_skill.py
quick_validate.py
run_eval.py
run_loop.py
utils.py

Details

From the project README

Category: tool

Alibaba Cloud Skill Creator

Repository-specific skill engineering workflow for alicloud-skills.

Use this skill when

  • Creating a new skill under skills/**.
  • Importing an external skill and adapting it to this repository.
  • Updating skill trigger quality (name and description in frontmatter).
  • Adding or fixing smoke tests under tests/**.
  • Running structured benchmark loops before merge.

Do not use this skill when

  • The user only needs to execute an existing product skill.
  • The task is purely application code under apps/ with no skill changes.

Repository constraints (must enforce)

  • Skills live under skills/<domain>/<subdomain>/<skill-name>/.
  • Skill folder names use kebab-case and should start with alicloud-.
  • Every skill must include SKILL.md frontmatter with name and description.
  • skills/**/SKILL.md content must stay English-only.
  • Smoke tests must be in tests/<domain>/<subdomain>/<skill-name>-test/SKILL.md.
  • Generated evidence goes to output/<skill-or-test-skill>/ only.
  • If skill inventory changes, refresh README index with scripts/update_skill_index.sh.
  • Every create/refresh pass MUST start by re-fetching the upstream official docs — do not edit a skill from memory or from the previous draft alone. See "Fetching latest Alibaba Cloud documentation".

Standard deliverable layout

skills/<domain>/<subdomain>/<skill-name>/
├── SKILL.md
├── agents/openai.yaml
├── references/
│   └── sources.md
└── scripts/ (optional)

tests/<domain>/<subdomain>/<skill-name>-test/
└── SKILL.md

Workflow

  1. Capture intent
  • Confirm domain/subdomain and target skill name.
  • Confirm whether this is new creation, migration, or refactor.
  • Confirm expected outputs and success criteria.
  • Re-fetch the upstream documentation now, even for a refresh — see "Fetching latest Alibaba Cloud documentation". Diff what you find against the existing skill before changing anything.
  1. Implement skill changes
  • For new skills: scaffold structure and draft SKILL.md + agents/openai.yaml.
  • For migration from external repo: copy full source tree first, then adapt.
  • Keep adaptation minimal but explicit:
    • Replace environment-specific instructions that do not match this repo.
    • Add repository validation and output discipline sections.
    • Keep reusable bundled resources (scripts/, references/, assets/).
  • Always ground the skill in the latest official Alibaba Cloud documentation (see "Fetching latest Alibaba Cloud documentation" below) and record every authoritative URL in references/sources.md.
  1. Add smoke test
  • Create or update tests/**/<skill-name>-test/SKILL.md.
  • Keep it minimal, reproducible, and low-risk.
  • Include exact pass criteria and evidence location.
  1. Validate locally

Run script compile validation for the skill:

python3 tests/common/compile_skill_scripts.py \
  --skill-path skills/<domain>/<subdomain>/<skill-name> \
  --output output/<skill-name>-test/compile-check.json

Refresh skill index when inventory changed:

scripts/update_skill_index.sh

Confirm index presence:

rg -n "<skill-name>" README.md README.zh-CN.md README.zh-TW.md

Optional broader checks:

make test
make build-cli
  1. Benchmark loop (optional, for major skills)

If the user asks for quantitative skill evaluation, reuse bundled tooling:

  • scripts/run_eval.py
  • scripts/aggregate_benchmark.py
  • eval-viewer/generate_review.py

Prefer placing benchmark artifacts in a sibling workspace directory and keep per-iteration outputs.

Definition of done

  • Skill path and naming follow repository conventions.
  • Frontmatter is complete and trigger description is explicit.
  • Test skill exists and has objective pass criteria.
  • Validation artifacts are saved under output/.
  • README skill index is refreshed if inventory changed.
  • references/sources.md lists every upstream URL consulted in this pass, with last-checked date in the note.
  • Model ids, parameter names, quotas, and pricing in SKILL.md cite a URL fetched in this pass — none copied forward unverified.

Fetching latest Alibaba Cloud documentation

Hard rule: every create or refresh pass starts here. Re-fetch the upstream doc tree first, diff it against the existing skill, then write. Do not trust model memory and do not trust the prior draft — Alibaba Cloud rotates model ids, parameter names, and pricing on a weekly cadence.

Order of authority (stop at the first source that fully answers the question):

1. Help Center (help.aliyun.com/zh/...) — primary source

The Chinese path (/zh/) ships first and is the most accurate. The English path (/en/) often lags by weeks; only link to it after confirming parity.

Document typeURL patternWhen to use
Product overviewhttps://help.aliyun.com/zh/<product-slug>/product-overview/First read for a new skill
API referencehttps://help.aliyun.com/zh/<product-slug>/<api-reference-slug>Authoritative request/response schema
Quick starthttps://help.aliyun.com/zh/<product-slug>/getting-started/Minimal end-to-end example
Pricinghttps://help.aliyun.com/zh/<product-slug>/billing-overview (or model-pricing for Model Studio)Cost-relevant decisions
Legacy article idhttps://help.aliyun.com/document_detail/<id>.htmlOlder articles only — replace with the /zh/ slug when one exists

Fetch with WebFetch:

WebFetch(url="https://help.aliyun.com/zh/<product-slug>/<api-reference-slug>",
         prompt="Extract endpoint, parameters, response schema, model ids, and limits.")

If the response is a redirect notice, re-issue WebFetch against the redirect URL.

2. Bailian / Model Studio (/zh/model-studio/...) — entry portal

For any DashScope-backed skill (LLM, image, video, audio, embedding, rerank, agent, application), the canonical entry is:

https://help.aliyun.com/zh/model-studio/models

From this page, walk into the topic sub-trees below. Always check newly-released-models first — that page is the source of truth for which model ids are GA right now and which were silently retired.

TopicURL slug under /zh/model-studio/Notes
Model catalog (entry)modelsFull list of currently-served models, links into each detail page
Model release lognewly-released-modelsAuthoritative for new/retired model ids and dates
Pricingmodel-pricingPer-model token/image/second pricing
Getting startedgetting-started/modelsAccount, key, region prerequisites
OpenAI-compatible modeopenai-compatibleWhen the user wants openai SDK shape
Quick start (per modality)<modality>-quick-start (e.g. emoji-quick-start)Smallest working example
Text generation (Qwen)qwen, qwen-coder, qwen-vl-ocr, qwen3-coder-nextFamily-specific guides
Image generation/editingwan-image-generation-and-editing-api-reference, wan-image-generation-api-reference, qwen-image-edit-guide, z-image-api-referenceWan / Qwen / Z image lines
Video generationuse-video-generation, image-to-video-general-api-reference, wan-video-editing-api-reference, text-to-video-promptWan video + prompt guide
Avatar/face/emoji videoemoji-detect-api, emoji-api, liveportrait-*, videoretalk-*, animate-anyone-*Avatar/digital-human pipelines
Audio (TTS)qwen-tts-realtime, qwen-tts-voice-cloning, qwen-tts-voice-designRealtime, cloning, voice design
Audio (ASR)qwen-asr, qwen-asr-filetrans-api, recorded-speech-recognition-qwenStreaming and file-transcribe
File handlingget-temporary-file-urlOSS temporary URL upload for media APIs
Embeddings & rerankembedding-api-details, text-embedding-async-api, text-rerank-apiVector + rerank stack
Application & agentagent-application, bailian-application-apiHosted Bailian application/agent runtime
Tool integrationcline, langchain, dify-integrationThird-party client wiring

If a slug is unknown, GET the entry page first and let the sidebar tell you the current path — slugs occasionally change.

DashScope runtime base URLs:

Mainland:   https://dashscope.aliyuncs.com/api/v1/...
Singapore:  https://dashscope-intl.aliyuncs.com/api/v1/...
3. OpenAPI Portal metadata (api.aliyun.com) — machine-readable spec

Use this for non-DashScope products (ECS, OSS, RDS, SLS, ESA, …) when you need exact request/response field types or a complete API list.

# All products (one-time index, EN labels)
https://api.aliyun.com/meta/v1/products.json?language=EN_US

# All APIs for a product/version
https://api.aliyun.com/meta/v1/products/<Product>/versions/<YYYY-MM-DD>/api-docs.json

# Single API definition (full schema)
https://api.aliyun.com/meta/v1/products/<Product>/versions/<YYYY-MM-DD>/apis/<ApiName>/api.json

Repository helpers already wrap these endpoints — reuse them rather than writing one-off scrapers:

python3 scripts/products_from_openapi_meta.py        # refresh product index
python3 scripts/apis_from_openapi_meta.py            # fetch APIs per product (env-driven)

Browsable portal: https://api.aliyun.com/product/<Product> — for human inspection and to confirm a <Product> code before scripting.

4. Official SDKs and CLIs
SourceURL patternUse for
GitHub orgshttps://github.com/aliyun, https://github.com/AliyunContainerService, https://github.com/alibabacloud-sdkReference SDK code, examples
PyPIhttps://pypi.org/project/dashscope/, https://pypi.org/project/alibabacloud-<product>/Python install + current version
npmhttps://www.npmjs.com/package/@alicloud/<product>Node install + current version
Aliyun CLIhttps://github.com/aliyun/aliyun-cli and aliyun <product> helpShell-based skills
5. Recording sources

Every skill MUST list the URLs it actually consulted in this pass, in references/sources.md:

# Sources

- [<Human title>](<URL>) — what this covers (last checked YYYY-MM-DD)

Include at minimum: API reference, model/version notice (newly-released-models for Model Studio), pricing (if relevant), and SDK home page. Date-stamp each entry — that is how the next maintainer knows what is stale.

Red flags — STOP and re-fetch
  • Editing the skill without opening any upstream URL in this session.
  • Copying model ids, parameter names, or quotas forward from the existing draft.
  • Linking only to /en/ pages without checking /zh/.
  • Saving raw HTML/JSON dumps under references/ instead of summarizing into SKILL.md.
  • Writing curl loops when scripts/products_from_openapi_meta.py / scripts/apis_from_openapi_meta.py already cover the call.

References

  • references/schemas.md
  • references/sources.md

Comments

Markdown supported