BB huawei-cloud-billing-balance-history
Query the Huawei Cloud BSS (Business Support System) account balance and its history across different time periods, and return a report. Supports three read-only queries: (1) current customer account balance (currency, total debt amount, per-account balances for cash/credit/reward/deposit), (2) balance change records (income/expense detail: recharge, consumption, refund, freeze, etc.) within a user-specified date range, and (3) monthly consumption summary for a user-specified billing cycle (YYYY-MM). Uses the huaweicloudsdkbss Python SDK (show_customer_account_balances, list_customer_account_change_records, show_customer_monthly_sum; v2 API GET /v2/accounts/customer-accounts/balances, /v2/accounts/customer-accounts/account-change-records, /v2/bills/customer-bills/monthly-sum) — KooCLI does NOT support the BSS service, so the SDK is the only execution path. The shipped scripts/query_balance_history.py integrates the execution-quality reporting SDK and reports every run to the skillsopr operations console. Read-only — never creates, modifies or deletes any billing resource. Use this skill whenever the user wants to check the personal Huawei Cloud account balance, balance over a time period, balance change records, income/ expense detail, or monthly bill summary, e.g. for cost review, daily inspection, or debt monitoring. Triggers include: "账户余额", "余额查询", "查询余额", "账单余额", "我的余额", "不同时间段余额", "余额变动", "收支明细", "月度账单", "月度消费", "欠费", "account balance", "query balance", "balance history", "balance change", "income expense", "monthly bill", "monthly consumption", "debt amount".
Query the Huawei Cloud BSS (Business Support System) account balance and its history across different time periods, and return a report.
As a process B 69/100 · Nearly there — weak spots: failures and branches, running it twice, progress reporting
How to improve
- Shorten the description to 1024 characters.
- Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
- A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.
Guard findings · 0
✓ No critical or high findings
Files scanned: 31. Evidence is masked. Grey chips explain why severity was lowered.
Against the Agent Skills spec
- error
description-longdescription is 1593 chars, limit 1024 - note
description-budgetdescription takes 1593 of the ~15000-char shared budget for all skills
Process rating: all ten parameters 69/100
- 0Failures and branches. Linear process with no failure handling
- 0Progress reporting. Says nothing while it works
- 30Running it twice. 2 mutating operations with no state check
- 60Tools and files. Uses tools (bash, python) that frontmatter does not declare
- 70When it triggers. States when to use, but not when not to
- 70Inputs and preconditions. Inputs and preconditions are listed
- 85Steps. 27 steps, 1 vague phrases
- 100Result and completion. Output format and completion criterion are stated
- 100Consistency. Name and required fields are in place
- 100Execution cost. Instruction body is 1978 tokens
Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.
Quality signals
- +4Description does not say when NOT to use the skill (false activations)
- +3Description length 1592: 120–800 characters recommended
- +1No license
- +2Single-language instructions
- +5Description quotes 9 example trigger phrases
- +4Structure: 14 headings
- +3Step-by-step instructions: 27 items
- +3Output format is stated explicitly
- +4Has examples (6 code blocks)
- +4Reference files are cited in the instructions (5 of 5)
- +3All 4 scripts are documented
Quality base 70; lint remarks subtract, signals add up to 100. Result: 68.