Alibabacloud Solution Deploy
by @sdk-team
Deploy Alibaba Cloud official tech solutions. Trigger when the user mentions an Alibaba Cloud solution, pastes a solution URL (aliyun.com/solution/tech-solut...
clawhub install alibabacloud-solution-deploy📖 About This Skill
name: alibabacloud-solution-deploy description: > Deploy Alibaba Cloud official tech solutions. Trigger when the user mentions an Alibaba Cloud solution, pastes a solution URL (aliyun.com/solution/tech-solution/...), or wants to deploy an official solution template. Covers both Terraform module deployment and CLI step-by-step execution paths.
Alibaba Cloud Solution Deploy
Match the user's scenario to the best execution path (Terraform or CLI), then complete the task end-to-end.
Core Principles
Maximum Automation
If 10 steps are needed and 9 can be automated, automate all 9. Only pause for the 1 that genuinely requires human action. Every cloud operation that has a CLI path should use it — the user came to you precisely so they don't have to click through consoles.CLI-First, Console-Last
Express every cloud action as a runnablealiyun CLI command. Only fall back to console when no CLI exists — and when you do, give a direct deep-linked URL (not a product homepage). The difference between https://vision.aliyun.com/facebody and https://console.aliyun.com/ is the difference between being helpful and being useless.Never Guess — Verify First
aliyun --help before constructing commands. Parameter naming is inconsistent across products — --RegionId vs --region-id vs --region all exist.diagnose_cli_command.py immediately on failure. Error messages from the Alibaba Cloud API are often cryptic — the diagnosis script calls a specialized endpoint that maps error codes to fixes.Workflow
Step 0: Verify Environment
Run this first in any new session:
> Pre-check: Aliyun CLI >= 3.3.1 required
>
> Run aliyun version to verify >= 3.3.1. If not installed or version too low, see installation guide for instructions.
>
> Then run the following command to enable automatic plugin installation and set the agent user-agent:
>
> aliyun configure set --auto-plugin-install true --user-agent AlibabaCloud-Agent-Skills
>
> This ensures product-specific CLI plugins are downloaded on first use (no manual install needed), and identifies requests as coming from this skill.Then run the full environment check:
bash {{SKILL_PATH}}/scripts/verify_env.sh
This checks: CLI version, valid credentials, auto-plugin-install, Python3 + SDK. If any check fails, tell the user what to fix and stop — a broken environment means every subsequent command will fail.
#### RAM Permission Pre-check
Before executing any commands, verify the current user has the required permissions:
1. Compare the user's permissions against references/ram-policies.md 2. If any permission is missing, abort and prompt the user to attach the required policy
Minimum required permissions are listed in references/ram-policies.md.
Step 1: Understand the Scenario
Extract from the user's request:
Distill into search keywords (Chinese + English) for Step 2. For example, "我要搭个RAG知识库" → keywords: RAG, 知识库, AnalyticDB, 百炼.
Step 2: Route to the Right Path
Check references/alicloud-tech-solutions-all.md — the master catalog of 187 Alibaba Cloud tech solutions. Search by keyword match against the solution names and descriptions.
Each row has a Terraform Module 名称 column:
analyticdb-rag, deepseek-personal-website) → Path A: TerraformAlso use intent-mapping.md for fuzzy keyword → solution matching (e.g., "小程序" → develop-your-wechat-mini-program-in-10-minutes).
Tell the user which path you're taking and why before proceeding.
Path A: Terraform Solution
When a Terraform module matches, deploy through the IaCService remote runtime — no local terraform binary needed.
A.1: Locate the Module
Look up the Module 名称 and Module 地址 in references/tf-plan/tf-solutions.md. Match by:
1. Exact module name from the master catalog
2. Keyword match against the 描述 column
3. Intent mapping
A.2: Fetch Example Parameters
Every module has a GitHub repo with tested examples. Derive the URLs:
Module 地址: https://registry.terraform.io/modules/alibabacloud-automation//alicloud/latest
GitHub repo: https://github.com/alibabacloud-automation/terraform-alicloud-
Example: https://raw.githubusercontent.com/alibabacloud-automation/terraform-alicloud-/main/examples/complete/main.tf
Fetch the example main.tf via WebFetch. These values come from real tested deployments — they're far more reliable than generic defaults.
Parameter priority:
1. User explicitly specified → always use
2. Example main.tf from examples/complete/ → use as default
3. Fallback defaults (only if fetch fails): see terraform-defaults.md
A.3: Confirm with User
Show the parameters and ask for confirmation. Never silently apply them — cloud resources cost real money.
以下是基于官方示例的部署参数,请确认或修改:
• Region: cn-hangzhou
• Instance type: ecs.c7.large
• VPC CIDR: 172.16.0.0/12
• Password: (请提供)
Sensitive values like passwords and API keys: never generate them yourself. The user provides these.
A.4: Write main.tf and Deploy
# Based on: https://github.com/alibabacloud-automation/terraform-alicloud-/blob/main/examples/complete/main.tf
module "" {
source = "alibabacloud-automation//alicloud"
version = "~> 1.0"
# Parameters adjusted per user confirmation
}
Deploy using the remote runtime — see terraform-online-runtime.md for full usage:
SKILL_DIR="{{SKILL_PATH}}"
TF="${SKILL_DIR}/scripts/terraform_runtime_online.sh"
STATE_ID=$($TF apply main.tf | grep '^STATE_ID=' | cut -d= -f2)
echo "STATE_ID=$STATE_ID" >> terraform_state_ids.env
The STATE_ID is required for any future update or destroy. Losing it means you lose control over the resources.
A.5: Verify and Report
Confirm resources exist. Provide the destroy command for cleanup.
Path B: CLI-First Execution
This path handles everything without a Terraform template. The approach: understand the architecture → decompose into steps → find the CLI command for each step → execute.
B.1: Understand the Architecture
Before writing any commands, understand what you're building:
B.2: Decompose into Steps
Break the goal into atomic steps ordered by dependency. Think through:
B.3: Research CLI Commands
For each step, use the scripts to find the correct API name and parameters. This is critical — don't rely on memory. Alibaba Cloud has thousands of APIs, and parameter names are inconsistent across products.
python3 {{SKILL_PATH}}/scripts/lsit_products.py '' # Find product code + API version
python3 {{SKILL_PATH}}/scripts/search_apis.py '' # Natural language → API
python3 {{SKILL_PATH}}/scripts/search_documents.py '' # Parameter details, valid values, constraints
python3 {{SKILL_PATH}}/scripts/lsit_api_overview.py # Full API list for a product
Run scripts in parallel when researching multiple products — don't serialize what can be parallelized.
Common CLI shortcuts that avoid console entirely:
| Scenario | CLI Command | Notes |
|----------|------------|-------|
| Get Bailian (百炼) API Key | aliyun modelstudio list-workspaces → aliyun modelstudio create-api-key --WorkspaceId | Avoids console entirely. Almost every AI solution needs this. |
| Run commands on ECS | aliyun ecs RunCommand --Type RunShellScript --CommandContent '