volcengine-sale
Unified entry point for Volcengine product transactions, orchestrating three actions: buy (purchase/provision) / price (pricing inquiry) / unsubscribe (cancel subscription). The complete customer transaction journey is pricing inquiry → purchase → unsubscribe, and any individual capability can also be used independently.
How to use
- Determine the user's transaction action using the "Intent Routing" table below.
- Read the workflow file for that action and execute its steps.
Intent routing
| Action | Keywords (Chinese and English, case-insensitive) | Workflow file |
|---|
| price (pricing inquiry) | 多少钱、价格、报价、费用、收费、怎么收费、如何计费、计费方式、计费规则、收费标准、价格表、单价、总价、预估费用、成本、预算、price、pricing、quote、cost | references/price/README.md |
| unsubscribe (cancel subscription) | 退订、退款、取消订阅、不想要了、退掉、不续了、unsubscribe、cancel subscription、refund | references/unsubscribe/README.md |
| buy (purchase/provision) | 开通、购买、下单、买、售卖、想买、订购、buy、purchase、subscribe、provision | references/buy/README.md |
Only handle requests that match the table above. If no row is matched, the request is outside the scope of this skill. Explain that this skill only handles pricing inquiries, purchases, and subscription cancellations, then return to the upper-level agent. Do not call any transaction APIs or provide a fallback answer.
Common out-of-scope scenarios include issued-bill and overdue-payment details, metering and billing disputes, discount and voucher applications, negotiated pricing, and approval-stamped quotations. Even if these requests mention a product name or amount, they do not enter this skill's workflow.
- Both price and buy are matched (e.g., "How much does ECS cost? Help me buy one.") → Execute price first, and after the user confirms the price, ask whether they want to proceed with buy.
- Any other combination is matched → Ask the user to split the request into separate intents; do not execute them in parallel.
Customer-facing wording
Always refer to products using their Chinese names. Do not display field names or values for product codes. Use the product name provided by the customer to match it against the product list. If no match is found, ask the customer which product they mean—only when the workflow actually requires a product code as an input. In the unsubscribe workflow, obtain the product code from the instance query response; do not ask the customer for it.
When a configuration code or billing item code is required, directly state that a configuration code and billing item code are needed instead of using business-language descriptions. If the customer cannot provide them, fall back according to the workflow.
Display commands, raw error messages, and codes proactively provided by the customer exactly as they are, without rewriting them.
Login and credentials
This is handled by
itself. When a command returns an authentication error, delegate it to the volcengine-cli skill to run
. This skill does not perform a pre-login state check and remains consistent with other
invocations such as ECS and VPC.
Automatic loading of dependent skills
When a target skill transferred by this skill has not been loaded, consistently perform the following workflow:
- Request user authorization: Explain, "Installing is required to continue handling . Is automatic installation allowed?" and wait for explicit permission.
- Install automatically after authorization:
- If the target skill is available in the volcengine-skills marketplace, invoke to initiate installation.
- If the target skill is in an external GitHub repository, such as ark-cli or ve-tls-cli, automatically clone it using the source URL in the workflow file or complete the installation according to the README.
- Report failures accurately: If any step fails, explain the blocker to the user, such as authorization, network access, permissions, or missing dependencies. Do not skip authorization or execute the installation directly, and do not claim that the skill was installed when it was not.