← AirwallexCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Airwallex
Snapshot Sep 30, 2026 · 23:11 UTC · version 1.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Fallback Airwallex skill — works with the Airwallex CLI or the Airwallex MCP server. Use ONLY when no dedicated workflow skill matches the task. Covers ad-hoc operations (list, get, update, delete, void, cancel), general Airwallex API questions, troubleshooting, and domains not covered by a workflow skill (payment links, refunds, disputes, spend management, financial reports). Do NOT load this skill alongside a workflow skill — each workflow skill is self-contained. For invoices/billing/coupons/meters/credit notes use contract-to-billing, for suppliers/beneficiaries use beneficiary-creation, for cards use card-provisioning, for balances/FX/cashflow use manage-cashflow.",
"included_files": [
{
"relative_path": "references/api_traps.md",
"size_in_bytes": 10567
},
{
"relative_path": "references/surface-quickstart.md",
"size_in_bytes": 4726
}
],
"name": "awx-best-practices",
"skill_md_contents": "---\nname: awx-best-practices\ndescription: Fallback Airwallex skill — works with the Airwallex CLI or the Airwallex MCP server. Use ONLY when no dedicated workflow skill matches the task. Covers ad-hoc operations (list, get, update, delete, void, cancel), general Airwallex API questions, troubleshooting, and domains not covered by a workflow skill (payment links, refunds, disputes, spend management, financial reports). Do NOT load this skill alongside a workflow skill — each workflow skill is self-contained. For invoices/billing/coupons/meters/credit notes use contract-to-billing, for suppliers/beneficiaries use beneficiary-creation, for cards use card-provisioning, for balances/FX/cashflow use manage-cashflow.\nmetadata:\n author: Airwallex\n version: 0.1.0\ncompatibility: Works with the Airwallex CLI (`airwallex` binary on PATH, authenticated via `airwallex auth login`) or the Airwallex MCP server (enabled and authenticated).\n---\n\n# Airwallex Best Practices\n\nFallback skill for Airwallex tasks. **Use only when no dedicated workflow skill fits.** Each workflow skill (beneficiary-creation, card-provisioning, contract-to-billing, manage-cashflow) is self-contained — do NOT load this skill alongside them.\n\n## When to use\n\n- Ad-hoc operations (list, get, update, delete, void, cancel, deactivate)\n- General Airwallex API questions or troubleshooting\n- Payment links, refunds, disputes, spend management, financial reports, and other domains not covered by a dedicated workflow skill\n\n## Use a workflow skill instead\n\n| Task | Skill |\n| --- | --- |\n| Create invoice from PO/contract/quote | **contract-to-billing** |\n| Coupons, meters, usage events, credit notes | **contract-to-billing** |\n| Onboard suppliers / create beneficiaries | **beneficiary-creation** |\n| Provision corporate cards | **card-provisioning** |\n| Cash position, FX, balances, rebalancing | **manage-cashflow** |\n\nIf a workflow skill matches, use that skill instead — do NOT load this one alongside it.\n\n## Out of scope — refuse and redirect\n\nDo NOT attempt to fulfill these by aggregating API calls. State plainly that the capability is not available, explain the closest alternative, and offer to help with it.\n\n| Request pattern | Why out of scope | Redirect |\n| --- | --- | --- |\n| \"Forecast\", \"hedging strategy\", \"FX prediction\" | Agent provides indicative spot rates only | Offer **manage-cashflow** for current exposure and indicative FX rates |\n| \"Yield\", \"investment advice\", \"idle funds\", \"automated top-up\", \"should I lock a rate?\" | Financial advice or unsupported treasury action | Offer **manage-cashflow** for current balances, obligations, and informational indicative FX only |\n\n---\n\n## Environment quickstart\n\nSee [references/surface-quickstart.md](references/surface-quickstart.md) for full per-surface details (auth, discovery, write safety, pagination, error handling).\n\n---\n\n## Operational rules\n\n- **NEVER fabricate or assume missing information.** If any required field is uncertain — STOP and ask the user.\n- **Always fetch fresh data** — re-fetch before every step.\n- **If the user supplied a file or attachment, treat it as primary ground truth** unless they ask for live data.\n- **For ambiguous-intent requests, confirm the action before starting.**\n- **Never overclaim unsupported capabilities.** Transfers, payouts, FX execution, PAN/CVV retrieval: refuse immediately, state what is not available, offer the closest alternative.\n- **Do not provide financial advice.** Never recommend yield, investment products, automated top-ups, hedging strategy, FX prediction, or rate-locking. For treasury questions, redirect to **manage-cashflow** and keep any FX discussion informational and clearly labelled as indicative.\n- **Split supported and unsupported asks.** Complete the supported portion and clearly state what was not configured.\n- **Prefer business labels over raw IDs in user-facing output.** Show human-readable business labels (customer names, product names, beneficiary names, card nicknames, etc.) instead of raw system IDs whenever possible. Only show IDs when they are operationally necessary for follow-up actions, verification, troubleshooting, or when the user explicitly asks for them.\n\n## Core Airwallex concepts\n\n- **One wallet, multiple currencies.** Say \"AUD balance\" — never \"AUD wallet.\"\n- **Invoices = receivables (money in).** Issued BY the user TO their customers.\n- **Bills = payables (money out).** Money the user owes to suppliers.\n- **FX conversions happen within one wallet** — not between wallets.\n\n---\n\n## Consequential operations\n\nThese are **irreversible or high-impact**. Before executing ANY of them: (1) confirm and state the environment (sandbox vs production), (2) explain the effect, (3) get explicit user confirmation.\n\n| Operation | CLI | MCP | Notes |\n| --- | --- | --- | --- |\n| Void invoice | `airwallex --confirm invoices void <id>` | invoke the billing-invoice void tool | Irreversible. FINALIZED+UNPAID only. |\n| Delete draft invoice | `airwallex --confirm invoices delete <id>` | _not exposed_ | DRAFT only. |\n| Finalize invoice | `airwallex --confirm invoices finalize <id>` | invoke the billing-invoice finalize tool | Irreversible — cannot edit after. |\n| Mark invoice paid | `airwallex --confirm invoices mark-as-paid <id>` | invoke the billing-invoice mark-as-paid tool | Must be FINALIZED. Use when paid outside Airwallex. |\n| Cancel subscription | `airwallex --confirm subscriptions cancel <id>` | invoke the subscription cancel tool | Check flags via schema. |\n| Deactivate card | `cards update <id>` body `{\"status\":\"INACTIVE\"}` | card-update tool with `card_status: INACTIVE` | Reversible. See [references/api_traps.md](references/api_traps.md) for which statuses are NOT settable here. |\n| Close card | `cards update <id>` body `{\"status\":\"CLOSED\"}` | card-update tool with `card_status: CLOSED` | **Permanent.** |\n| FX conversion | **Airwallex Dashboard only** | **Airwallex Dashboard only** | Not executable via either surface. |\n| Finalize credit note | `airwallex --confirm credit-notes finalize <id>` | _credit-note tools not exposed — use the CLI or the Airwallex Dashboard_ | Irreversible. |\n| Void credit note | `airwallex --confirm credit-notes void <id>` | _credit-note tools not exposed — use the CLI or the Airwallex Dashboard_ | Irreversible. |\n| Close global account | `airwallex --confirm global-accounts close <id>` | invoke the global-account close tool if exposed | **Permanent.** |\n| Delete cardholder | `airwallex --confirm cardholders delete <id>` | invoke the cardholder delete tool if exposed | Ensure no active cards. |\n\n---\n\n## Error handling\n\n| Situation | Action |\n| --- | --- |\n| Required field missing or ambiguous | STOP, list gaps, ask user |\n| API error | Show full error, ask user |\n| API validation error | Check [references/api_traps.md](references/api_traps.md). **IF** using the CLI, **THEN** also run `airwallex <resource> <action> --api-schema-only` to verify body structure. **ELSE IF** using the MCP server, **THEN** re-inspect the tool's input schema. |\n| 401 / auth expired | **IF** using the CLI, **THEN** retry once (auto-refresh). If retry fails, ask the user which environment, immediately execute `auth login` (or `--prod`) yourself, confirm with `auth whoami`, then resume. **ELSE IF** using the MCP server, **THEN** the server refreshes tokens automatically; if a tool keeps returning 401, the OAuth grant has been revoked — ask the user to re-authorize the MCP server. |\n| Duplicate detected | Show details, let user choose |\n| Partial completion | Report what succeeded (with IDs) and what failed |\n\n## References\n\n- [references/api_traps.md](references/api_traps.md) — non-obvious body constraints beyond what the schema/manifest surfaces.\n- **IF** using the CLI, **THEN** `airwallex --tree --compact [group]` for command discovery and `airwallex <resource> <action> --api-schema-only` for command schemas (including required flags).\n- [Airwallex API Introduction](https://www.airwallex.com/docs/api/introduction)\n\n## Feedback\n\nWhen the user reacts to how this skill performed (praise, frustration, a gap, a missing capability) — or when you hit a real gap, unclear/wrong instruction, or unexpected behavior while using it — briefly offer to pass feedback along and, on the user's go-ahead, submit it. See [references/feedback.md](../../references/feedback.md) for when to offer, the channel commands (CLI / MCP), and the rules (ask first, no sensitive data, don't nag).\n"
}SHA-256 of public snapshot: 6734c7108c74aa97af562d31c00b4a1ca76a838a50c5b2ba6be9429b2d202b41