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".
What this skill does
# 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`): 1. Prerequisites check (CLI installed, auth configured) 2. Select Region + Task type (MIGRATION or SYNC) 3. Configure source: engine type, access method, connection info, optional SSL 4. Configure destination: engine type, access method, connection info, optional SSL 5. Define migration objects: full database or specific tables, with optional name mapping 6. Select migration types: schema / full data / incremental (default: all) 7. Select instance class: micro / small / medium / large 8. Review summary (passwords shown as `******`) and confirm 9. Execute: CreateDtsInstance -> ConfigureDtsJob -> StartDtsJob 10. 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`): 1. Prerequisites check 2. Query tasks by each JobType (MIGRATION, SYNC, SUBSCRIBE) separately 3. 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`): 1. Prerequisites check 2. Resolve ID: if only one ID given, look up via DescribeDtsJobs first 3. Call DescribeDtsJobDetail 4. 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`): 1. Resolve ID, display task info, confirm, then call SuspendDtsJob **Start/Resume** (full details in `references/start-task.md`): 1. Resolve ID, then call StartDtsJob **Release/Delete** (full details in `references/delete-task.md`): 1. Resolve ID 2. **Pre-check**: call DescribeDtsJobDetail to check current status 3. If task is active (Synchronizing/Migrating/InitializingDataLoad), warn user and require explicit confirmation 4. Double confirmation required before calling DeleteDtsJob ### Environment Setup **Steps** (full details in `references/setup.md`): 1. Check aliyun CLI installation 2. Check authentication configuration 3. 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**: `DescribeDtsJobDetail` uses `--DtsInstanceID` (uppercase D), while `DeleteDtsJob`/`ConfigureDtsJob` use `--DtsInstanceId` (lowercase d). Always verify with `aliyun dts <API> help` before 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 `--JobType` parameter defaults to MIGRATION; omitting it silently drops sync/subscribe tasks. Never use `--Type` (causes InvalidParameter). - **MongoDB specifics**: MongoDB endpoints require `--SourceEndpointDatabaseName` in 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.
Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.