- Skill ID
- aliyun/alibabacloud-aiops-skills/alibabacloud-dms-skill
- Publisher
- aliyun
- Repository
- alibabacloud-aiops-skills
- Installs
- 0
- Files
- 7
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
aliyun/alibabacloud-aiops-skills/alibabacloud-dms-skillInstalls these files- SKILL.md
- references/acceptance-criteria.md
- references/cli-installation-guide.md
- references/ram-policies.md
- references/related-apis.md
- scripts/execute_query.sh
- scripts/search_database.sh
What this skill tells the agent
Alibaba Cloud DMS Database Read/Write
Search for target databases and execute SQL queries and data modifications via Alibaba Cloud DMS OpenAPI.
Scenario Description
This skill implements the following workflow:
- Search Target Database — Search databases by keyword to get Database ID
- Execute SQL Query — Execute SQL statements on the target database
Architecture
User Request → Search Database → Get Database ID → Execute SQL → Return ResultsPrerequisites
AI-Mode Lifecycle (MUST follow in order)
This skill MUST run inside an AI-Mode session. Treat the following five steps as a strict lifecycle — do not skip, reorder, or interleave the setup steps with command execution:
1. aliyun configure ai-mode enable # Enable AI-Mode
2. aliyun configure ai-mode set-user-agent AlibabaCloud-Agent-Skills/alibabacloud-dms-skill # Register skill User-Agent
3. aliyun configure set --auto-plugin-install true && aliyun plugin update # Plugin update
4. <execute DMS commands via ./scripts/*.sh> # Execute commands
5. aliyun configure ai-mode disable # Disable AI-Mode (Cleanup)Steps 1–3 belong to setup (this section). Step 4 is covered by Core Workflow. Step 5 is covered by Cleanup.
Pre-checks
Pre-check 0: Aliyun CLI >= 3.3.3 required Runaliyun versionto verify >= 3.3.3. If not installed or version too low, runcurl -fsSL https://aliyuncli.alicdn.com/setup.sh | bashto install/update, or seereferences/cli-installation-guide.mdfor installation instructions.
Pre-check 1: Enable AI-Mode [MUST] run aliyun configure ai-mode enable to enable AI-Mode before any other configuration or command. This activates the AI-Mode session that downstream OpenAPI services use to recognize agent-issued traffic.Pre-check 2: Register skill User-Agent under AI-Mode [MUST] runaliyun configure ai-mode set-user-agent AlibabaCloud-Agent-Skills/alibabacloud-dms-skillto register this skill's identifier as the AI-Mode User-Agent for the current session. Run this immediately afterai-mode enableand before any plugin update or DMS command.
Pre-check 3: Aliyun CLI plugin update required [MUST] runaliyun configure set --auto-plugin-install trueto enable automatic plugin installation. [MUST] runaliyun plugin updateto ensure that any existing plugins are always up-to-date. Plugin update MUST happen AFTER AI-Mode is enabled and the User-Agent is registered, so the plugin manager itself reports the correct identifier.
- Aliyun CLI >= 3.3.3
- jq (for JSON parsing):
brew install jq - Credentials configured via
aliyun configure
Pre-check 4: Alibaba Cloud Credentials Required Security Rules: - NEVER read, echo, or print AK/SK values (e.g.,echo $ALIBABA_CLOUD_ACCESS_KEY_IDis FORBIDDEN) - NEVER ask the user to input AK/SK directly in the conversation or command line - NEVER usealiyun configure setwith literal credential values - ONLY usealiyun configure listto check credential status ``bash aliyun configure list`Check the output for a valid profile (AK, STS, or OAuth identity). **If no valid profile exists, STOP here.** 1. Obtain credentials from [Alibaba Cloud Console](https://ram.console.aliyun.com/manage/ak) 2. Configure credentials **outside of this session** (viaaliyun configurein terminal or environment variables in shell profile) 3. Return and re-run afteraliyun configure list` shows a valid profile
[MUST] Per-command CLI User-Agent — In addition to the AI-Mode User-Agent registered in Pre-check 2, every aliyun CLI command invocation in step 4 MUST also include: --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dms-skill The per-command flag and the AI-Mode session-level setting are complementary — both MUST be present so the identifier is sent on every request even if the AI-Mode session expires.
RAM Permissions
[MUST] RAM Permission Pre-check: Verify that the current user has the following RAM permissions before execution. See references/ram-policies.md for the complete permission list.Parameter Confirmation
IMPORTANT: Parameter Confirmation — Before executing any command or API call, ALL user-customizable parameters (e.g., database keyword, SQL statement, db-id, etc.) MUST be confirmed with the user. Do NOT assume or use default values without explicit user approval.
| Parameter | Required/Optional | Description | Default |
|---|---|---|---|
| keyword | Required | Database search keyword (1-128 chars, alphanumeric) | - |
| db-id | Required | Database ID (positive integer, obtained from search) | - |
| sql | Required | SQL statement to execute (1-10000 chars) | - |
| logic | Optional | Whether to use logic database mode | false |
| force | Optional | Confirm write operations (INSERT/UPDATE/DELETE) | false |
| dry-run | Optional | Preview write operations without executing | false |
Core Workflow
Task 1: Search Target Database
Search for databases by keyword to get the Database ID:
./scripts/search_database.sh <keyword> --jsonExample:
# Search for databases containing "mydb"
./scripts/search_database.sh mydb --jsonThe output includes database_id, schema_name, db_type, host, port, etc.
Task 2: Execute SQL Query
Execute SQL using the Database ID obtained in the previous step:
./scripts/execute_query.sh --db-id <database_id> --sql "<SQL_statement>"Write Operation Protection
For write operations (INSERT/UPDATE/DELETE), the script implements protective pre-check:
| Parameter | Description |
|---|---|
--force | Required to confirm and execute write operations |
--dry-run | Preview write operations without executing |
DDL Operations (DROP/TRUNCATE/ALTER/RENAME) are completely blocked — these must be executed via DMS Console.
Examples:
# Read operations (no confirmation needed)
./scripts/execute_query.sh --db-id 78059000 --sql "SHOW TABLES"
./scripts/execute_query.sh --db-id 78059000 --sql "SELECT * FROM users LIMIT 10" --json
# Write operations - preview first (recommended)
./scripts/execute_query.sh --db-id 78059000 --sql "INSERT INTO users (name) VALUES ('test')" --dry-run
# Write operations - execute with confirmation
./scripts/execute_query.sh --db-id 78059000 --sql "INSERT INTO users (name) VALUES ('test')" --force
./scripts/execute_query.sh --db-id 78059000 --sql "UPDATE users SET name='test' WHERE id=1" --force
./scripts/execute_query.sh --db-id 78059000 --sql "DELETE FROM users WHERE id=1" --force
# Logic database mode
./scripts/execute_query.sh --db-id 78059000 --sql "SELECT 1" --logicComplete Example
# 1. Search database (assuming searching for "order")
./scripts/search_database.sh order --json
# Example output:
# [{"DatabaseId": "78059000", "SchemaName": "order_db", ...}]
# 2. Execute query
./scripts/execute_query.sh --db-id 78059000 --sql "SELECT COUNT(*) FROM orders"Success Verification
After executing SQL, check the returned results:
- Script return code is 0
- Output contains query results (column names and row data)
- No error messages
# Verify query success
./scripts/execute_query.sh --db-id <db-id> --sql "SELECT 1" --json
# Expected output: [{"Success": true, "RowCount": 1, ...}]Cleanup
This skill performs read and write operations but does not create persistent resources, so no database resources need to be released.
However, the AI-Mode lifecycle requires an explicit teardown step:
[MUST] Disable AI-Mode after all tasks complete Run aliyun configure ai-mode disable once all DMS commands in this skill session have finishedMore from aliyun
Use this skill in a project
Open any RiverX project, search the Skills panel for aliyun/alibabacloud-aiops-skills/alibabacloud-dms-skill, and install it in one click.
