/alibabacloud-mcp-core-script-generate
Generate Alibaba Cloud MCP Core RunScript-compatible Python scripts from natural-language cloud operation requests. Use when the user explicitly asks for RunScript scripts, MCP Core scripts, or sandbox-compatible cloud automation code. For standard SDK Python code with imports
$ npx -y skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-mcp-core-script-generate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/alibabacloud-mcp-core-script-generate
Context preview
The summary Claude sees to decide when to auto-load this skill.
Generate Alibaba Cloud MCP Core RunScript-compatible Python scripts from natural-language cloud operation requests. Use when the user explicitly asks for RunScript scripts, MCP Core scripts, or sandbox-compatible cloud automation code. For standard SDK Python code with imports
SKILL.md
alibabacloud-mcp-core-script-generate.SKILL.mdname: alibabacloud-mcp-core-script-generate
description: >
Generate Alibaba Cloud MCP Core RunScript-compatible Python scripts
from natural-language cloud operation requests. Use when the user explicitly asks for
RunScript scripts, MCP Core scripts, or sandbox-compatible cloud automation code.
For standard SDK Python code with imports and credentials, use `alibabacloud-sdk-usage` instead.
license: Apache-2.0
metadata:
domain: aliyun-runscript
owner: sdk-team
contact: sdk-team@alibabacloud.com
triggers: >
RunScript, RunScript脚本, MCP脚本, 沙箱脚本,
generate RunScript, MCP Core script, script recommend
allowed-tools: "mcp__plugin_alibabacloud-core_alibabacloud-core__AlibabaCloud___SearchApis,mcp__plugin_alibabacloud-core_alibabacloud-core__AlibabaCloud___GetApiDefinition,mcp__plugin_alibabacloud-core_alibabacloud-core__AlibabaCloud___ListApis,mcp__plugin_alibabacloud-core_alibabacloud-core__AlibabaCloud___ListProducts"Alibaba Cloud Script Generator
Turn a natural-language Alibaba Cloud request into one RunScript-compatible Python script. The script must use `await call_cli(...)`, assign the final value to `result`, and pass `check_sandbox.py` validation before output. Do not execute the script unless the user asks.
Scope Check Before You Start
- **RunScript sandbox scripts** (this skill): generates `call_cli()`-based Python for the
RunScript sandbox — no SDK imports, no credentials, no local execution.
- **SDK project code** → `alibabacloud-sdk-usage`: generates typed/generic SDK code with
imports, credential providers, and dependency management for user projects.
- **Operational patterns** (batch ops, audits, rotations) → `alibabacloud-find-skills` first.
Workflow
1. Split the request into atomic cloud operations. For each operation, you must call at least one of the following methods to discover API parameters before writing any code:
**Method A — MCP tools** (preferred): call `AlibabaCloud___SearchApis` with a natural language description, then `AlibabaCloud___GetApiDefinition` with the confirmed product, action, and version. Batch search calls in one parallel round.
**Method B — HTTP metadata** (when MCP tools return errors): The endpoint `https://next.api.aliyun.com/meta/v1/products/{product}/versions/{version}/api-docs.json` contains all API definitions for a product. If `WebFetch` cannot extract the target API (response too large), download the full JSON with `curl` and extract the target API's `parameters` array locally — use any method that works (e.g. `python3 -c`, `grep`, `jq`).
You must actually execute one of these methods — reading about them is not sufficient. Only if your tool call returns an error may you fall back to best-known parameter names, adding: `# WARNING: API parameters not verified — confirm before use`.
1. Generate one Python script body following the Sandbox Contract and Script Patterns below. Only whitelisted modules may be imported. When multiple tool calls are needed, batch them in parallel. Never repeat the same tool call with the same arguments.
1. Write to `/tmp/aliyun-runscript.py` and validate with the local sandbox checker (`<SKILL_DIR>/scripts/check_sandbox.py`):
cat > /tmp/aliyun-runscript.py <<'PYEOF'
<script body here>
PYEOF
python3 <SKILL_DIR>/scripts/check_sandbox.py /tmp/aliyun-runscript.py
1. If validation fails, read the `→ fix` suggestion for each violation, fix ONLY the listed issues, and re-validate. Maximum 3 rounds. If violations persist, show them to the user.
1. After validation passes, output only the Python script body — no Markdown fences, headings, or explanatory text unless the user asks.
Sandbox Contract
All rules below are enforced by `scripts/check_sandbox.py` (local pre-check) and remote validation. See `references/runscript-contract.md` for full definitions with examples.
| Category | Rule | |----------|------| | **Imports** | Only whitelisted modules may be imported: `asyncio`, `collections`, `csv`, `dataclasses`, `datetime`, `decimal`, `enum`, `fractions`, `functools`, `itertools`, `json`, `math`, `re`, `statistics`, `string`, `time`, `typing`, `uuid`. Do NOT import `random`, `os`, `subprocess`, `requests`, or any module not in this list. `call_cli` is pre-injected — do NOT import or define it. | | **API calls** | Use ONLY `call_cli(product, version, action, params)`. Pre-injected. No SDK clients, no HTTP requests, no subprocess. Parameter values must be plain strings/numbers — do NOT pass `aliyun ...` CLI command strings as parameter values. | | **Param values** | Parameter values must NOT contain lowercase `aliyun` (triggers BLK-4001). E.g. use `"1.28.3"` not `"1.28.3-aliyun.1"`. Query APIs to fetch exact values when unsure. | | **Output** | Assign final data to `result` (dict or list). No `print()`. | | **Concurrency** | Parallel API calls must use `asyncio.gather(return_exceptions=True)`. Thread/process-based concurrency (`threading`, `multiprocessing`, `concurrent.futures`) is not in the whitelist and will fail validation. | | **Forbidden** | `os`, `subprocess`, `socket`, `requests`, `eval`, `exec`, `compile`, `getattr`, `setattr`, `globals`, `input`, `breakpoint`, `__import__`, `threading`, `multiprocessing`, `concurrent.futures`, dunder chains. | | **Blocked APIs** | Credential-returning APIs (`ram.ListAccessKeys`, `sts.AssumeRole`, `kms.GetSecretValue`). CLI meta products (`configure`, `plugin`, `ossutil`). | | **Structure** | `call_cli` must be reachable from module-level execution. Do NOT wrap all calls in an uninvoked `async def` — either write `await call_cli(...)` at top level, or define a function and call it: `async def main(): ... \n await main()`. | | **Numbers** | Do NOT use leading zeros in numeric literals (e.g., `01`, `010`). Write `1`, `10` instead. IP addresses and CIDR blocks must be strings: `"10.0.0.0/8"`, not bare numbers. | | **Strings** | Use f-strings or
Read more
name: alibabacloud-mcp-core-script-generate
description: >
Generate Alibaba Cloud MCP Core RunScript-compatible Python scripts
from natural-language cloud operation requests. Use when the user explicitly asks for
RunScript scripts, MCP Core scripts, or sandbox-compatible cloud automation code.
For standard SDK Python code with imports and credentials, use `alibabacloud-sdk-usage` instead.
license: Apache-2.0
metadata:
domain: aliyun-runscript
owner: sdk-team
contact: sdk-team@alibabacloud.com
triggers: >
RunScript, RunScript脚本, MCP脚本, 沙箱脚本,
generate RunScript, MCP Core script, script recommend
allowed-tools: "mcp__plugin_alibabacloud-core_alibabacloud-core__AlibabaCloud___SearchApis,mcp__plugin_alibabacloud-core_alibabacloud-core__AlibabaCloud___GetApiDefinition,mcp__plugin_alibabacloud-core_alibabacloud-core__AlibabaCloud___ListApis,mcp__plugin_alibabacloud-core_alibabacloud-core__AlibabaCloud___ListProducts"Alibaba Cloud Script Generator
Turn a natural-language Alibaba Cloud request into one RunScript-compatible Python script. The script must use `await call_cli(...)`, assign the final value to `result`, and pass `check_sandbox.py` validation before output. Do not execute the script unless the user asks.
Scope Check Before You Start
- **RunScript sandbox scripts** (this skill): generates `call_cli()`-based Python for the
RunScript sandbox — no SDK imports, no credentials, no local execution.
- **SDK project code** → `alibabacloud-sdk-usage`: generates typed/generic SDK code with
imports, credential providers, and dependency management for user projects.
- **Operational patterns** (batch ops, audits, rotations) → `alibabacloud-find-skills` first.
Workflow
1. Split the request into atomic cloud operations. For each operation, you must call at least one of the following methods to discover API parameters before writing any code:
**Method A — MCP tools** (preferred): call `AlibabaCloud___SearchApis` with a natural language description, then `AlibabaCloud___GetApiDefinition` with the confirmed product, action, and version. Batch search calls in one parallel round.
**Method B — HTTP metadata** (when MCP tools return errors): The endpoint `https://next.api.aliyun.com/meta/v1/products/{product}/versions/{version}/api-docs.json` contains all API definitions for a product. If `WebFetch` cannot extract the target API (response too large), download the full JSON with `curl` and extract the target API's `parameters` array locally — use any method that works (e.g. `python3 -c`, `grep`, `jq`).
You must actually execute one of these methods — reading about them is not sufficient. Only if your tool call returns an error may you fall back to best-known parameter names, adding: `# WARNING: API parameters not verified — confirm before use`.
1. Generate one Python script body following the Sandbox Contract and Script Patterns below. Only whitelisted modules may be imported. When multiple tool calls are needed, batch them in parallel. Never repeat the same tool call with the same arguments.
1. Write to `/tmp/aliyun-runscript.py` and validate with the local sandbox checker (`<SKILL_DIR>/scripts/check_sandbox.py`):
cat > /tmp/aliyun-runscript.py <<'PYEOF' <script body here> PYEOF python3 <SKILL_DIR>/scripts/check_sandbox.py /tmp/aliyun-runscript.py
1. If validation fails, read the `→ fix` suggestion for each violation, fix ONLY the listed issues, and re-validate. Maximum 3 rounds. If violations persist, show them to the user.
1. After validation passes, output only the Python script body — no Markdown fences, headings, or explanatory text unless the user asks.
Sandbox Contract
All rules below are enforced by `scripts/check_sandbox.py` (local pre-check) and remote validation. See `references/runscript-contract.md` for full definitions with examples.
| Category | Rule | |----------|------| | **Imports** | Only whitelisted modules may be imported: `asyncio`, `collections`, `csv`, `dataclasses`, `datetime`, `decimal`, `enum`, `fractions`, `functools`, `itertools`, `json`, `math`, `re`, `statistics`, `string`, `time`, `typing`, `uuid`. Do NOT import `random`, `os`, `subprocess`, `requests`, or any module not in this list. `call_cli` is pre-injected — do NOT import or define it. | | **API calls** | Use ONLY `call_cli(product, version, action, params)`. Pre-injected. No SDK clients, no HTTP requests, no subprocess. Parameter values must be plain strings/numbers — do NOT pass `aliyun ...` CLI command strings as parameter values. | | **Param values** | Parameter values must NOT contain lowercase `aliyun` (triggers BLK-4001). E.g. use `"1.28.3"` not `"1.28.3-aliyun.1"`. Query APIs to fetch exact values when unsure. | | **Output** | Assign final data to `result` (dict or list). No `print()`. | | **Concurrency** | Parallel API calls must use `asyncio.gather(return_exceptions=True)`. Thread/process-based concurrency (`threading`, `multiprocessing`, `concurrent.futures`) is not in the whitelist and will fail validation. | | **Forbidden** | `os`, `subprocess`, `socket`, `requests`, `eval`, `exec`, `compile`, `getattr`, `setattr`, `globals`, `input`, `breakpoint`, `__import__`, `threading`, `multiprocessing`, `concurrent.futures`, dunder chains. | | **Blocked APIs** | Credential-returning APIs (`ram.ListAccessKeys`, `sts.AssumeRole`, `kms.GetSecretValue`). CLI meta products (`configure`, `plugin`, `ossutil`). | | **Structure** | `call_cli` must be reachable from module-level execution. Do NOT wrap all calls in an uninvoked `async def` — either write `await call_cli(...)` at top level, or define a function and call it: `async def main(): ... \n await main()`. | | **Numbers** | Do NOT use leading zeros in numeric literals (e.g., `01`, `010`). Write `1`, `10` instead. IP addresses and CIDR blocks must be strings: `"10.0.0.0/8"`, not bare numbers. | | **Strings** | Use f-strings or
Official Alibaba Cloud Agent Skills collection, providing AI agents with rich Alibaba Cloud product capabilities and general-purpose tooling.
Other skills on alibabacloud-aiops-skills.
- /alibabacloud-agentbay-aio-skills
Execute code in a secure cloud sandbox via AgentBay SDK. Use this skill whenever users request to run, execute, or evaluate code (Python, JavaScript, R, Java), including plotting charts, running scripts, or viewing code output. Covers requests like "run this code", "execute
Open skill - /alibabacloud-agentloop-dataset
Operate Alibaba Cloud AgentLoop Dataset resources with aliyun CLI and the AgentLoop API version 2026-05-20. Use when requests concern AgentLoop datasets, data rows, Dataset schemas, embedding fields, semantic search, ExecuteQuery, AgentSpace data, 数据集, 数据写入, 数据查询, 语义检索, or ask
Open skill - /alibabacloud-agentloop-evaluation
Orchestrate AgentLoop evaluation workflows through the Aliyun CLI plugin with safe previews, saved evaluator and evaluator-skill management, one-shot sample tests, trace or dataset batch runs, polling, and result inspection. Analyze evaluation quality and low-score cases from
Open skill - /alibabacloud-agentloop-experience
Proactively use AgentLoop Recall to retrieve prior Alibaba Cloud AgentLoop experience through the bundled SearchContext CLI whenever the user asks or implies that prior work may help. Trigger for requests to check, search, recall, retrieve, look up, review, consult, reference,
Open skill - /alibabacloud-agentloop-management
AgentLoop APM接入 / AI可观测接入 / 应用监控接入 / 自研探针 / 探针安装. Use for Python aliyun-bootstrap (aliyun-instrument), Java AliyunJavaAgent, Golang instgo, Node.js cms_node_sdk, PHP/.NET OpenTelemetry, ack-onepilot, LicenseKey, AgentLoop workspace agentloop-*. Also for LangChain, Dify,
Open skill - /alibabacloud-avatar-video
Use Alibaba Cloud DashScope API and LingMou to generate AI video and speech. Seven capabilities — (1) LivePortrait talking-head (image + audio → video, two-step), (2) EMO talking-head, (3) AA/AnimateAnyone full-body animation (three-step), (4) T2I text-to-image (Wan 2.x, default
Open skill

