
alibabacloud-dts-task-manager
Create, view, and manage Alibaba Cloud DTS data migration/synchronization tasks interactively. Automatically triggered when the user mentions keywords such as "DTS task", "DTS migration", "DTS sync", "data migration task", "data sync task", "create migration", "create DTS", "new DTS", "DTS status", "migration status", "sync status", "stop migration", "suspend DTS", "release DTS".
- Installs
- 248
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/aliyun/alibabacloud-aiops-skills --skill alibabacloud-dts-task-manager- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads alibabacloud-dts-task-manager automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Alibaba Cloud DTS Task Manager
Overview
Manage Alibaba Cloud DTS (Data Transmission Service) tasks: create data migration/synchronization tasks, view task status/latency, stop/start/release tasks. All operations are guided interactively.
Parameter Parsing
Determine the operation mode based on user input, and read the corresponding references file for detailed workflow:
| User Intent | Keywords | Action | Reference File |
|---|---|---|---|
| Create migration task | empty / "create" / "new" / "migration" | Interactive creation | references/create-task.md |
| Create sync task | "sync" / "synchronization" | Interactive sync task creation | references/create-task.md |
| View task list | "list" / "view" / "ls" | List all tasks | references/list-tasks.md |
| View task status | "status ID" | View specified task details | references/task-status.md |
| Stop task | "stop ID" / "suspend ID" / "pause ID" | Suspend specified task | references/suspend-task.md |
| Start/Resume task | "start ID" / "resume ID" | Start or resume task | references/start-task.md |
| Release task | "release ID" / "delete ID" / "remove ID" | Release (delete) task | references/delete-task.md |
| Environment setup | "setup" / "configure" / "init" | Check and configure environment | references/setup.md |
When no parameters are provided, ask the user to choose the desired operation.
Step-by-Step Operation Workflows
Create Task (Migration / Sync)
Steps (full details in references/create-task.md):
- Prerequisites check (CLI installed, auth configured)
- Select Region + Task type (MIGRATION or SYNC)
- Configure source: engine type, access method, connection info, optional SSL
- Configure destination: engine type, access method, connection info, optional SSL
- Define migration objects: full database or specific tables, with optional name mapping
- Select migration types: schema / full data / incremental (default: all)
- Select instance class: micro / small / medium / large
- Review summary (passwords shown as
******) and confirm - Execute: CreateDtsInstance -> ConfigureDtsJob -> StartDtsJob
- On failure at any step after instance creation, auto-release the instance
Example input: "Create a MySQL to Kafka sync task" Example output:
DTS task created successfully!
Instance ID: <dts-instance-id>
Job ID: <job-id>
Status: Initializing
To check status: aliyun dts DescribeDtsJobDetail --DtsJobId <job-id> --RegionId cn-hangzhou
List Tasks
Steps (full details in references/list-tasks.md):
- Prerequisites check
- Query tasks by each JobType (MIGRATION, SYNC, SUBSCRIBE) separately
- Display consolidated results in table format
Example input: "List my DTS tasks" Example output:
| Task ID | Name | Type | Status | Source | Destination | Delay |
|----------------|------------------------------|-----------|----------------|--------------|--------------|--------|
| <job-id-1> | migration-mysql-mysql-0401 | MIGRATION | Migrating | RDS MySQL | RDS MySQL | - |
| <job-id-2> | sync-mysql-kafka-0401 | SYNC | Synchronizing | RDS MySQL | Kafka | 128ms |
View Task Status
Steps (full details in references/task-status.md):
- Prerequisites check
- Resolve ID: if only one ID given, look up via DescribeDtsJobs first
- Call DescribeDtsJobDetail
- Display status, progress, delay (convert ms to readable format)
Example input: "Check status of <job-id>" Example output:
Task: <job-id> (migration-mysql-mysql-0401)
Type: MIGRATION
Status: Migrating
Progress:
Schema migration: Finished
Full data migration: Finished (1,234,567 rows)
Incremental: Running, delay 236ms
Source: RDS MySQL <source-instance-id> (cn-hangzhou)
Destination: RDS MySQL <dest-instance-id> (cn-hangzhou)
Stop / Start / Release Task
Stop (full details in references/suspend-task.md):
- Resolve ID, display task info, confirm, then call SuspendDtsJob
Start/Resume (full details in references/start-task.md):
- Resolve ID, then call StartDtsJob
Release/Delete (full details in references/delete-task.md):
- Resolve ID
- Pre-check: call DescribeDtsJobDetail to check current status
- If task is active (Synchronizing/Migrating/InitializingDataLoad), warn user and require explicit confirmation
- Double confirmation required before calling DeleteDtsJob
Environment Setup
Steps (full details in references/setup.md):
- Check aliyun CLI installation
- Check authentication configuration
- Test connectivity with a DescribeDtsJobs call
Edge Cases
- User provides only one ID: Try it as DtsJobId first; look up DtsInstanceId via DescribeDtsJobs. If DtsInstanceID field is empty on the task, pass only DtsJobId.
- API parameter case inconsistency:
DescribeDtsJobDetailuses--DtsInstanceID(uppercase D), whileDeleteDtsJob/ConfigureDtsJobuse--DtsInstanceId(lowercase d). Always verify withaliyun dts <API> helpbefore calling. - Ambiguous ID format: If the ID doesn't clearly match DtsJobId or DtsInstanceId pattern, fuzzy search via DescribeDtsJobs.
- Delete active task: Never delete a running task without pre-check. Query status first; if Synchronizing/Migrating, prompt user to suspend first or explicitly confirm forced deletion.
- Creation failure mid-flow: If CreateDtsInstance succeeds but ConfigureDtsJob or StartDtsJob fails, auto-release the created instance to avoid ongoing charges.
- Timeout / retry: All API calls use
--read-timeout 30 --connect-timeout 10. CreateDtsInstance includes--ClientToken(UUID) for idempotent retries. - Multi-region queries: When listing tasks, query MIGRATION/SYNC/SUBSCRIBE separately per region. The
--JobTypeparameter defaults to MIGRATION; omitting it silently drops sync/subscribe tasks. Never use--Type(causes InvalidParameter). - MongoDB specifics: MongoDB endpoints require
--SourceEndpointDatabaseNamein ConfigureDtsJob.
Interaction Rules
Important: All information gathering must use interactive selections to avoid workflow interruption from free-text questions.
Selection-type information: Provide fixed options
Applicable to scenarios with fixed choices: task type, engine type, access method, instance selection, migration type, specification selection, etc.
Free-input information: Provide common defaults + custom input
Applicable to scenarios requiring user free input: IP address, port, username, password, database name, table name, etc. Provide common default values as options; users can select or enter custom values. Consolidate related input items into as few interaction rounds as possible.
Sensitive information: Never display in plaintext
CRITICAL: Passwords, AccessKey Secrets, certificates, and private keys must NEVER appear in plaintext anywhere in the conversation — this applies to ALL stages:
- During collection: When the user provides a password or secret in a message (e.g., "password: MyPass123"), you MUST immediately treat it as sensitive. Do NOT quote, repeat, summarize, or reference the plaintext value in your response. Simply acknowledge receipt, e.g., "Source database password received." Then internally store it for later CLI execution. Even if the user typed the password in plain text, your reply must NEVER contain it.
- When summarizing user input: If the user provides multiple fields including a password in one message (e.g., "username: dts, password: abc123"), your acknowledgment must mask the password: "Username: dts, Password: ******". Never reproduce the password portion of the user's message.
- In confirmation summaries: Always show
******for password fields. - In CLI commands displayed to the user: Show passwords as
'******', never the actual value. The real value is only used internally when executing the command. - In error messages / logs: If an API error response contains sensitive fields, redact them before displaying.
- In stored variables or references: Never repeat the plaintext value in follow-up messages.
- In local files: Never write passwords or secrets to any local file (scripts, configs, logs, temp files, etc.). All sensitive values must only exist in memory during CLI execution.
Use single quotes around passwords in actual CLI execution to prevent shell expansion.
Prerequisites
Before executing any operation, the following checks must be performed:
1. Check aliyun CLI installation
which aliyun
If not installed, prompt the user:
- macOS:
brew install aliyun-cli - Or download from https://github.com/aliyun/aliyun-cli/releases
- After installation, run
aliyun configureto set up authentication
2. Check authentication configuration
aliyun configure list
If not configured, guide the user through setup:
aliyun configure --mode AK
Requires: AccessKey ID, AccessKey Secret, Region Id
Important: Never display the user's AccessKey Secret in the conversation. Protect sensitive information.
3. Select Region
Let the user select a Region using interactive choices, not text input.
Supported Region list:
Mainland China:
| Region ID | Name |
|---|---|
| cn-beijing | China North 2 (Beijing) |
| cn-hangzhou | China East 1 (Hangzhou) |
| cn-shanghai | China East 2 (Shanghai) |
| cn-shenzhen | China South 1 (Shenzhen) |
| cn-guangzhou | China South 3 (Guangzhou) |
| cn-qingdao | China North 1 (Qingdao) |
| cn-zhangjiakou | China North 3 (Zhangjiakou) |
| cn-huhehaote | China North 5 (Hohhot) |
| cn-wulanchabu | China North 6 (Ulanqab) |
| cn-heyuan | China South 2 (Heyuan) |
| cn-chengdu | China Southwest 1 (Chengdu) |
| cn-nanjing | China East 5 (Nanjing - Local Region) |
| cn-fuzhou | China East 6 (Fuzhou - Local Region) |
| cn-wuhan-lr | China Central 1 (Wuhan - Local Region) |
Hong Kong (China) and International:
| Region ID | Name |
|---|---|
| cn-hongkong | China (Hong Kong) |
| ap-southeast-1 | Singapore |
| ap-southeast-3 | Malaysia (Kuala Lumpur) |
| ap-southeast-5 | Indonesia (Jakarta) |
| ap-southeast-6 | Philippines (Manila) |
| ap-southeast-7 | Thailand (Bangkok) |
| ap-northeast-1 | Japan (Tokyo) |
| ap-northeast-2 | South Korea (Seoul) |
| eu-central-1 | Germany (Frankfurt) |
| eu-west-1 | UK (London) |
| us-east-1 | US (Virginia) |
| us-west-1 | US (Silicon Valley) |
| me-east-1 | UAE (Dubai) |
| na-south-1 | Mexico |
Interactive pagination:
- First screen (common): cn-beijing (China North 2 - Beijing), cn-hangzhou (China East 1 - Hangzhou), cn-shanghai (China East 2 - Shanghai), cn-shenzhen (China South 1 - Shenzhen)
- After selecting Other: cn-guangzhou, cn-qingdao, cn-chengdu, cn-hongkong
- Continue Other: Show remaining Regions or let user input Region ID directly
This step can be combined with Step 1 (task type) to reduce interaction rounds.
Error Handling
- When API calls fail, parse error messages and provide actionable suggestions
- If instance creation succeeds but subsequent steps fail, automatically release the created instance to avoid charges
- Common errors:
InvalidAccessKeyId.NotFound- Invalid AccessKey, check configurationForbidden.RAM- Insufficient RAM permissions, requires AliyunDTSFullAccess policyInvalidParameter- Parameter error, check inputUnSupportedTaskType- Unsupported link combination, suggest changing engine or access methodOperationDenied- Operation denied, task status may not allow this operation- Network timeout - Check network connection
CLI Call Standards
- All aliyun CLI commands must include
--user-agent AlibabaCloud-Agent-Skillsparameter (except local configuration commands likealiyun configure) - All aliyun CLI API calls must set timeouts:
--read-timeout 30 --connect-timeout 10 - All aliyun CLI command responses are JSON; parse JSON to extract key information for display
Input Validation and Injection Prevention
CRITICAL: Before constructing any CLI command, ALL user-provided input parameters must be validated and sanitized to prevent command injection.
Validation rules by parameter type:
| Parameter | Validation Rule |
|---|---|
| IP address | Must match IPv4 pattern (^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$), each octet 0-255 |
| Port | Integer only, range 1-65535 |
| Instance ID | Alphanumeric, hyphens, and underscores only (^[a-zA-Z0-9_-]+$) |
| Database name | Alphanumeric, underscores, hyphens only (^[a-zA-Z0-9_-]+$) |
| Table name | Alphanumeric, underscores, hyphens, dots only (^[a-zA-Z0-9_.\-]+$) |
| Username | Alphanumeric, underscores, hyphens, dots only (^[a-zA-Z0-9_.\-]+$) |
| Region ID | Must match known Region ID list or pattern ^[a-z]{2}-[a-z]+-?\d*$ |
| DtsJobName | Alphanumeric, hyphens, underscores, dots only, max 128 chars |
Shell injection prevention:
- All user-provided parameter values must be wrapped in single quotes (
'...') when passed to CLI commands, not just passwords - Before quoting, reject any input containing single quotes (
'), or escape them properly ('\'') - Reject any input containing shell metacharacters (
; | & $ ` ( ) { } \n) for parameters where they are never valid (IP, port, instance ID, username, database name) - DbList JSON must be validated as syntactically correct JSON before passing to
--DbList - If validation fails, display a clear error message and ask the user to re-enter the value; never pass unvalidated input to the shell
Notes
- Never display passwords, certificates, keys, or other sensitive information in any output; show as
******in confirmation summaries - Releasing a task is an irreversible operation; always require double confirmation
- Creating tasks incurs charges (pay-as-you-go); remind users
- If the ID format is ambiguous, attempt fuzzy search matching via DescribeDtsJobs
- Use the Region from the configuration file by default, unless the user specifies a different Region
- All information gathering must use interactive methods to avoid workflow interruption
- Consolidate related input items into the same interaction round to minimize rounds
FAQ
What does the alibabacloud-dts-task-manager skill do?
Create, view, and manage Alibaba Cloud DTS data migration/synchronization tasks interactively. Automatically triggered when the user mentions keywords such as "DTS task", "DTS migration", "DTS sync", "data migration task", "data sync task", "create migration", "create DTS", "new DTS", "DTS status", "migration status", "sync status", "stop migration", "suspend DTS", "release DTS".
How do I install alibabacloud-dts-task-manager?
Run npx skills add https://github.com/aliyun/alibabacloud-aiops-skills --skill alibabacloud-dts-task-manager in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/alibabacloud-dts-task-manager/ (personal) or .claude/skills/alibabacloud-dts-task-manager/ (project).
Which AI agents can use alibabacloud-dts-task-manager?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is alibabacloud-dts-task-manager safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains alibabacloud-dts-task-manager?
It is published by aliyun in aliyun/alibabacloud-aiops-skills. It has 248 recorded installs.
More from aliyun/alibabacloud-aiops-skills
alibabacloud-find-skills
aliyun/alibabacloud-aiops-skills
Use this skill when users want to search, discover, browse, or find Alibaba Cloud (阿里云) agent skills. Triggers include: "find a skill for X", "search alicloud skills", "阿里云有什么 skill","阿里云", "搜索阿里云技能", "有没有管理 ECS/RDS/OSS 的 skill", "阿里云 skills 有哪些类目", "帮我找一个 skill", "browse alicloud skills", "list alicloud skill categories", "is there an alicloud skill that can...", "what alicloud skills are available", "XX Skill 的内容是什么", "我想了解阿里云 XX Skill 具体做什么","帮我安装阿里云 Skill","使用阿里云相关的skill", "阿里云 agent skill 市场", "搜一下阿里云的 skill", "建一个数据分析项目有没有相关 skill".
alibabacloud-dms-skill
aliyun/alibabacloud-aiops-skills
Alibaba Cloud DMS Database Read/Write Skill. Use this skill to search for target databases in DMS and execute SQL queries and data modifications. Triggers: "DMS query", "database query", "execute SQL", "search database", "DMS SQL", "insert data", "update data".
alibabacloud-sls-query
aliyun/alibabacloud-aiops-skills
Alibaba Cloud SLS (Simple Log Service) log query & analysis skill. Use this skill to help users write, explain, optimize, execute, or troubleshoot SLS index search, SQL analytics, and SPL scan/pipeline statements through the aliyun CLI. Triggers: "SLS 查询", "SLS 分析", "日志查询", "日志分析", "log query", "analyze sls logs", "aliyun log query".
alibabacloud-workbench-cli
aliyun/alibabacloud-aiops-skills
Agent-native CLI for managing ECS instances without public IPs, primarily for single-instance operations. It supports millisecond-level remote command execution, large file transfers up to 1GB, and TCP port forwarding. It offers four authentication modes: AK, RamRoleArn, CredentialsCmd, and CredentialsURI. Use it to run commands, deploy code, view logs, check processes, transfer files, set up port forwarding, or query and filter ECS instance lists.
alibabacloud-ecs-diagnose
aliyun/alibabacloud-aiops-skills
Comprehensive Alibaba Cloud ECS instance diagnostics skill. Performs systematic troubleshooting including cloud platform status checks and GuestOS internal diagnostics via Cloud Assistant. Use when users report server connectivity issues, SSH timeout, instance lag, website unavailability, disk full, CPU/memory alerts, system event notifications, or abnormal instance status. Triggers: "ECS", "instance", "server", "cannot connect", "SSH", "timeout", "slow", "disk full", "network", "CPU high", "memory high", "status check", "system event", "diagnose", "troubleshoot", "disk performance", "disk IO slow", "IOPS", "IO latency"
alibabacloud-cli-guidance
aliyun/alibabacloud-aiops-skills
Guide users to manage Alibaba Cloud resources using the Aliyun CLI command-line tool. Covers CLI installation, credential configuration, plugin management, command construction, and error troubleshooting. Use this skill when the user wants to operate Alibaba Cloud services from the terminal — including ECS (云服务器, cloud servers), Function Compute (函数计算, serverless), RDS (云数据库, databases), OSS (对象存储, object storage), SLS (日志服务, log service), VPC (专有网络, networking), ESS (弹性伸缩, auto scaling), and any other Alibaba Cloud product. Also use when the user mentions "aliyun", "阿里云", "阿里云CLI", "命令行", asks about CLI plugin installation, encounters Aliyun CLI errors (InvalidAccessKeyId, SignatureDoesNotMatch, Throttling), or needs help constructing aliyun commands with correct parameter syntax.
Popular productivity & automation skills
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
lark-doc
open.feishu.cn
飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。
lark-base
open.feishu.cn
飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。
lark-drive
open.feishu.cn
飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。
lark-shared
open.feishu.cn
Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.
lark-im
open.feishu.cn
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。