Install
openclaw skills install @sdk-team/alibabacloud-dataworks-data-agentInteract with DataWorks Data Agent for conversational data analysis, session lifecycle management, and artifact download. Use this Skill when users want to chat with a Data Agent for data querying, create or resume Agent sessions, list session history, download analysis artifacts, check token usage, or cancel an active session.
openclaw skills install @sdk-team/alibabacloud-dataworks-data-agentInteract with DataWorks Data Agent via aliyun dataworks-public CLI.
aliyun versionaliyun plugin list | grep dataworksaliyun plugin update aliyun-cli-dataworks-publicaliyun configure list | grep <profile>| Action | Key Params |
|---|---|
create-agent-session | {"Meta":{"Agent":{"AgentName":"dataworks_data_agent"}},"ClientToken":"<uuid-v4>"} |
prompt-agent-session | {"SessionId":"<id>","Prompt":[{"Type":"text","Text":"..."}]} |
load-agent-session | {"SessionId":"<id>"} |
list-agent-sessions | {"AgentName":"dataworks_data_agent","MaxResults":20} |
list-agent-session-artifacts | {"SessionId":"<id>"} |
get-agent-session-artifact-meta | {"SessionId":"<id>","ArtifactPath":"<path>"} |
get-agent-session-token-usage | {"SessionId":"<id>"} |
cancel-agent-session | {"SessionId":"<id>"} |
aliyun dataworks-public <action> --profile <profile> --region <region> --params '<JSON>' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<session-id>
# 1. Create session (extract SessionId from $.JsonRpcResponse.Result.SessionId)
# ClientToken ensures idempotency — retry with same token won't create duplicates
aliyun dataworks-public create-agent-session --profile default --region cn-shanghai \
--params '{"Meta":{"Agent":{"AgentName":"dataworks_data_agent"}},"ClientToken":"<uuid-v4>"}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<session-id>
# 2. Send prompt (reuse SessionId from step 1)
aliyun dataworks-public prompt-agent-session --profile default --region cn-shanghai \
--params '{"SessionId":"<session-id>","Prompt":[{"Type":"text","Text":"your question"}]}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<session-id>
# 3. List artifacts
aliyun dataworks-public list-agent-session-artifacts --profile default --region cn-shanghai \
--params '{"SessionId":"<session-id>"}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<session-id>
# 4. Download artifact (path must come from list result)
aliyun dataworks-public get-agent-session-artifact-meta --profile default --region cn-shanghai \
--params '{"SessionId":"<session-id>","ArtifactPath":"<path>"}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<session-id>
# 5. Load history
aliyun dataworks-public load-agent-session --profile default --region cn-shanghai \
--params '{"SessionId":"<session-id>"}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<session-id>
# 6. Check token usage
aliyun dataworks-public get-agent-session-token-usage --profile default --region cn-shanghai \
--params '{"SessionId":"<session-id>"}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<session-id>
# 7. Cancel session
aliyun dataworks-public cancel-agent-session --profile default --region cn-shanghai \
--params '{"SessionId":"<session-id>"}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<session-id>
# With dataset context
aliyun dataworks-public prompt-agent-session --profile default --region cn-shanghai \
--params '{"SessionId":"<id>","Prompt":[{"Type":"text","Text":"query"}],"Meta":{"Context":"{\"datasetUuid\":\"xxx\"}"}}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<session-id>
# With file attachment
aliyun dataworks-public prompt-agent-session --profile default --region cn-shanghai \
--params '{"SessionId":"<id>","Prompt":[{"Type":"text","Text":"analyze"},{"Type":"file","Name":"data.csv","Uri":"file:///path/to/data.csv"}]}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<session-id>
list-agent-sessions for non-RELEASED sessions and reuse the SessionId.create-agent-session returns empty or fails to return a SessionId after 2 attempts, fall back to list-agent-sessions to find an existing non-RELEASED session and reuse its SessionId. Do NOT retry create more than 2 times — the 3rd attempt is forbidden. Do NOT use RELEASED sessions for prompt-agent-session — they will return empty responses. If list-agent-sessions also returns only RELEASED sessions, report to the user: "Unable to create session and no active sessions available. Please retry later or check service status." and terminate the workflow immediately.prompt-agent-session returns a response with no content (empty response field or only RequestId without agent_message_chunk), you MUST: (1) Report to the user that the API returned an empty response — do not treat it as success. (2) AUTOMATICALLY retry with a more specific query (e.g., add time range or specific API name) — do NOT ask the user whether to retry, just do it. (3) If retry also returns empty, report the failure and suggest checking backend service status or session validity. Do NOT stop midway and ask the user for confirmation — the Agent should handle the retry autonomously. (4) If retry also returns empty, do NOT continue to list-agent-session-artifacts or any subsequent steps — terminate the workflow with the failure report.list-agent-session-artifacts first to get real paths before downloading. If list-agent-session-artifacts returns empty, report "no artifacts found" — do NOT call get-agent-session-artifact-meta.aliyun configure list to verify profile configuration.*.aliyuncs.com domains or localhost.~/.aliyun/config.json or credential files with ANY method — including cat, read_file, grep, python scripts, open(), or shell commands. Suggest aliyun configure list instead. Never hardcode credentials in scripts or output files.prompt-agent-session. Your job is to create a session and send the user's query to the Data Agent, NOT to query DataWorks resources directly./etc/, /proc/, ~/.ssh/, ~/.kube/, ~/.aliyun/.ALIBABA_CLOUD_CLI_MOCK) to bypass errors.list-agent-sessions, get-agent-session-token-usage, cancel-agent-session), do NOT read config files, do NOT create scripts. Report "No active session" and suggest create-agent-session. RELEASED sessions are NOT active.All aliyun dataworks-public CLI calls must include the --user-agent flag for tracing:
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/{session-id}
python3 -c "import uuid; print(uuid.uuid4())")AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-agent/<uuid>