/alibabacloud-wxz-website-builder
Use when building or modifying websites with AI Staff via Alibaba Cloud OpenAPI. Supports conversation creation, async chat with requirement collection, PRD generation, code generation, and incremental SSE event polling.
$ npx -y skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-wxz-website-builder --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-wxz-website-builder
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when building or modifying websites with AI Staff via Alibaba Cloud OpenAPI. Supports conversation creation, async chat with requirement collection, PRD generation, code generation, and incremental SSE event polling.
SKILL.md
alibabacloud-wxz-website-builder.SKILL.mdname: alibabacloud-wxz-website-builder
description: Use when building or modifying websites with AI Staff via Alibaba Cloud OpenAPI. Supports conversation creation, async chat with requirement collection, PRD generation, code generation, and incremental SSE event polling.
Category: service
AI Staff Website Builder
Validation
mkdir -p output/alibabacloud-wxz-website-builder
for f in skills/ai/service/alibabacloud-wxz-website-builder/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/alibabacloud-wxz-website-builder/validate.txt
Pass criteria: command exits 0 and `output/alibabacloud-wxz-website-builder/validate.txt` is generated.
Output And Evidence
- Save list/summarize outputs under `output/alibabacloud-wxz-website-builder/`.
- Keep conversation IDs and event summaries in each evidence file.
Prerequisites
pip install -r requirements.txt
- All dependencies are pinned to exact versions in `requirements.txt`.
- Credentials are resolved via the default credential chain (no explicit AK/SK needed).
Authentication
This skill relies on the Alibaba Cloud default credential chain. Do NOT set AK/SK explicitly. The SDK automatically resolves credentials in the following order:
1. Environment variables: `ALIBABACLOUD_ACCESS_KEY_ID` / `ALIBABACLOUD_ACCESS_KEY_SECRET` 2. Shared config file: `~/.alibabacloud/credentials` 3. RAM role / ECS metadata service (when running on Alibaba Cloud instances)
Region: `ALIBABACLOUD_REGION_ID` defaults to `cn-hangzhou`.
How to obtain AccessKey (if user doesn't have one)
If the user has no AccessKey yet, guide them through these steps (see `references/ak-setup-guide.md` for full details):
1. **Login**: Open https://www.aliyun.com and log in (or register) 2. **Create RAM user**: Go to https://ram.console.aliyun.com/users → "Create User" → check "OpenAPI Access" → save the AK/SK immediately (Secret is only shown once!) 3. **Grant permissions**: Add a custom policy with the following Actions (least-privilege):
- `zero2staff:CreateAIStaffConversation`
- `zero2staff:CreateAIStaffChat`
- `zero2staff:ListAIStaffChatEvents`
- `zero2staff:ListAIStaffChatMessages`
- `zero2staff:GetAIStaffPreviewUrl`
4. **Configure**: Write to `~/.alibabacloud/credentials` or set environment variables
**CRITICAL**: When guiding the user, remind them:
- Do NOT use root account AccessKey — always use RAM sub-user
- Save the AccessKey Secret immediately — it's only shown once during creation
- Never commit AccessKey to git
If the user encounters auth errors, refer to the troubleshooting table in `references/ak-setup-guide.md`.
---
Application Lifecycle
The complete flow has 3 phases. Follow them **sequentially**.
**IMPORTANT — Agent-driven polling**: The `chat` command fires the request and returns immediately. The **agent** then drives the polling loop via the `poll` command. Between each poll, the agent **MUST** show the user a progress message so they know what's happening (use `progressDetail` for rich messages).
Phase 1: Create Conversation
↓
Phase 2: Fire requirement chat → poll → HITL → Fire resume → poll → ... → PRD ready
↓
Phase 3: Fire code generation → Show link → poll loop with progress → Get preview URL → DonePhase 0: Auth Setup
Ensure Alibaba Cloud credentials are configured via the default credential chain (see Authentication section above).
Phase 1: Create Conversation
**MUST** create a conversation before any chat operation:
CONV=$(python scripts/aistaff_api.py create-conversation --text "build a popmart homepage")
CONV_ID=$(echo $CONV | jq -r '.ConversationId')
CHAT_ID=$(echo $CONV | jq -r '.ChatId')
SITE_ID=$(echo $CONV | jq -r '.SiteId')
Returns flat JSON: `{ConversationId, SiteId, ChatId, SectionId, BotId, Title}`.
Phase 2: Requirement Collection + PRD
This phase collects requirements and generates a PRD. The platform may ask multiple HITL rounds (basic info → features → language, etc.). To keep things fast:
- **Only the first HITL round** should be shown to the user (basic project info).
- **All subsequent HITL rounds** must be auto-filled with the form's default/pre-selected values and resumed immediately — do NOT ask the user.
Step 1: Fire requirement collection
python scripts/aistaff_api.py chat \
--text "build a popmart homepage" \
--conversation-id $CONV_ID \
--biz-id $SITE_ID
Tell user: **"Analyzing your requirements, please wait..."**
Step 2: Poll until first HITL form arrives
Call `poll` every 5 seconds until `phase` is `waiting_for_input`:
python scripts/aistaff_api.py poll \
--conversation-id $CONV_ID \
--biz-id $SITE_ID \
--last-event-id 0
Between each poll, show the user a progress message based on `phase`:
- `processing` → "Analyzing requirements..."
- `fetching_reference` → "Fetching reference site info..."
- `waiting_for_input` → First HITL form arrived, proceed to Step 3.
Step 3: First HITL — collect answers from user
Extract `questions` from the `metaData.arguments` of the `message.tool` event where `name: "AskUserQuestion"`. Present these questions to the user via the AskUserQuestion tool (typically: app name, business description, target users, reference site).
Step 4: Fire resume with `--phase generate_prd`
**CRITICAL**: On the first HITL resume, **always** pass `--phase generate_prd --user-navigation generate_prd`.
python scripts/aistaff_api.py chat \
--text '{"App Name": "POP MART Official", "Main Service": "Trendy Toys", "Target Users": "Gen Z trendsetters", "Reference Site": "None"}' \
--conversation-id $CONV_ID \
--biz-id $SITE_ID \
--chat-id $CHAT_ID \
--chat-status interrupt \
--phase generate_prd \
--user-navigation generate_prd \
--hidden --without-referThe `--text` JSON keys **MUST match the `header` values** from the form.
Tell user: **"Requirements received, generating product pl
Read more
name: alibabacloud-wxz-website-builder description: Use when building or modifying websites with AI Staff via Alibaba Cloud OpenAPI. Supports conversation creation, async chat with requirement collection, PRD generation, code generation, and incremental SSE event polling.
Category: service
AI Staff Website Builder
Validation
mkdir -p output/alibabacloud-wxz-website-builder for f in skills/ai/service/alibabacloud-wxz-website-builder/scripts/*.py; do python3 -m py_compile "$f" done echo "py_compile_ok" > output/alibabacloud-wxz-website-builder/validate.txt
Pass criteria: command exits 0 and `output/alibabacloud-wxz-website-builder/validate.txt` is generated.
Output And Evidence
- Save list/summarize outputs under `output/alibabacloud-wxz-website-builder/`.
- Keep conversation IDs and event summaries in each evidence file.
Prerequisites
pip install -r requirements.txt
- All dependencies are pinned to exact versions in `requirements.txt`.
- Credentials are resolved via the default credential chain (no explicit AK/SK needed).
Authentication
This skill relies on the Alibaba Cloud default credential chain. Do NOT set AK/SK explicitly. The SDK automatically resolves credentials in the following order:
1. Environment variables: `ALIBABACLOUD_ACCESS_KEY_ID` / `ALIBABACLOUD_ACCESS_KEY_SECRET` 2. Shared config file: `~/.alibabacloud/credentials` 3. RAM role / ECS metadata service (when running on Alibaba Cloud instances)
Region: `ALIBABACLOUD_REGION_ID` defaults to `cn-hangzhou`.
How to obtain AccessKey (if user doesn't have one)
If the user has no AccessKey yet, guide them through these steps (see `references/ak-setup-guide.md` for full details):
1. **Login**: Open https://www.aliyun.com and log in (or register) 2. **Create RAM user**: Go to https://ram.console.aliyun.com/users → "Create User" → check "OpenAPI Access" → save the AK/SK immediately (Secret is only shown once!) 3. **Grant permissions**: Add a custom policy with the following Actions (least-privilege):
- `zero2staff:CreateAIStaffConversation`
- `zero2staff:CreateAIStaffChat`
- `zero2staff:ListAIStaffChatEvents`
- `zero2staff:ListAIStaffChatMessages`
- `zero2staff:GetAIStaffPreviewUrl`
4. **Configure**: Write to `~/.alibabacloud/credentials` or set environment variables
**CRITICAL**: When guiding the user, remind them:
- Do NOT use root account AccessKey — always use RAM sub-user
- Save the AccessKey Secret immediately — it's only shown once during creation
- Never commit AccessKey to git
If the user encounters auth errors, refer to the troubleshooting table in `references/ak-setup-guide.md`.
---
Application Lifecycle
The complete flow has 3 phases. Follow them **sequentially**.
**IMPORTANT — Agent-driven polling**: The `chat` command fires the request and returns immediately. The **agent** then drives the polling loop via the `poll` command. Between each poll, the agent **MUST** show the user a progress message so they know what's happening (use `progressDetail` for rich messages).
Phase 1: Create Conversation
↓
Phase 2: Fire requirement chat → poll → HITL → Fire resume → poll → ... → PRD ready
↓
Phase 3: Fire code generation → Show link → poll loop with progress → Get preview URL → DonePhase 0: Auth Setup
Ensure Alibaba Cloud credentials are configured via the default credential chain (see Authentication section above).
Phase 1: Create Conversation
**MUST** create a conversation before any chat operation:
CONV=$(python scripts/aistaff_api.py create-conversation --text "build a popmart homepage") CONV_ID=$(echo $CONV | jq -r '.ConversationId') CHAT_ID=$(echo $CONV | jq -r '.ChatId') SITE_ID=$(echo $CONV | jq -r '.SiteId')
Returns flat JSON: `{ConversationId, SiteId, ChatId, SectionId, BotId, Title}`.
Phase 2: Requirement Collection + PRD
This phase collects requirements and generates a PRD. The platform may ask multiple HITL rounds (basic info → features → language, etc.). To keep things fast:
- **Only the first HITL round** should be shown to the user (basic project info).
- **All subsequent HITL rounds** must be auto-filled with the form's default/pre-selected values and resumed immediately — do NOT ask the user.
Step 1: Fire requirement collection
python scripts/aistaff_api.py chat \ --text "build a popmart homepage" \ --conversation-id $CONV_ID \ --biz-id $SITE_ID
Tell user: **"Analyzing your requirements, please wait..."**
Step 2: Poll until first HITL form arrives
Call `poll` every 5 seconds until `phase` is `waiting_for_input`:
python scripts/aistaff_api.py poll \ --conversation-id $CONV_ID \ --biz-id $SITE_ID \ --last-event-id 0
Between each poll, show the user a progress message based on `phase`:
- `processing` → "Analyzing requirements..."
- `fetching_reference` → "Fetching reference site info..."
- `waiting_for_input` → First HITL form arrived, proceed to Step 3.
Step 3: First HITL — collect answers from user
Extract `questions` from the `metaData.arguments` of the `message.tool` event where `name: "AskUserQuestion"`. Present these questions to the user via the AskUserQuestion tool (typically: app name, business description, target users, reference site).
Step 4: Fire resume with `--phase generate_prd`
**CRITICAL**: On the first HITL resume, **always** pass `--phase generate_prd --user-navigation generate_prd`.
python scripts/aistaff_api.py chat \
--text '{"App Name": "POP MART Official", "Main Service": "Trendy Toys", "Target Users": "Gen Z trendsetters", "Reference Site": "None"}' \
--conversation-id $CONV_ID \
--biz-id $SITE_ID \
--chat-id $CHAT_ID \
--chat-status interrupt \
--phase generate_prd \
--user-navigation generate_prd \
--hidden --without-referThe `--text` JSON keys **MUST match the `header` values** from the form.
Tell user: **"Requirements received, generating product pl
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

