skills/gate/gate-exchange-spot/SKILL.md
Gate spot trading and account operations skill. Use this skill whenever the user asks to buy/sell crypto, check account value, cancel/amend spot orders, place conditional buy/sell plans, verify fills, or perform coin-to-coin swaps in Gate spot trading. Trigger phrases include 'buy coin', 'sell coin', 'monitor market', 'cancel order', 'amend order', 'break-even price', 'rebalance', 'spot trading', 'buy/sell', or any request that combines spot order execution with account checks.
npx skillsauth add aiskillstore/marketplace gate-exchange-spotInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Execute integrated operations for Gate spot workflows, including:
| Group | Tool Calls (jsonrpc: call.method) |
|------|------|
| Account and balances | get_spot_accounts |
| Place/cancel/amend orders | create_spot_order, cancel_all_spot_orders, cancel_spot_order, amend_spot_order |
| Open orders and fills | list_spot_orders, list_spot_my_trades |
| Market data | get_spot_tickers, get_spot_order_book, get_spot_candlesticks |
| Trading rules | get_currency, get_currency_pair |
| Fees | get_wallet_fee |
BASE_QUOTE format for trading pairs, for example BTC_USDT.min_quote_amount (commonly 10U).min_base_amount / amount_precision).When calling create_spot_order with type=market, fill amount by side:
| side | amount meaning | Example |
|------|-------------|------|
| buy | Quote-currency amount (USDT) | "Buy 100U BTC" -> amount="100" |
| sell | Base-currency quantity (BTC/ETH, etc.) | "Sell 0.01 BTC" -> amount="0.01" |
Pre-check before execution:
buy market order: verify quote-currency balance can cover amount (USDT).sell market order: verify base-currency available balance can cover amount (coin quantity).When the user asks for any spot trading operation, follow this sequence.
Classify the request into one of these six categories:
Extract key fields:
currency / currency_pairside (buy/sell)amount (coin quantity) or quote_amount (USDT amount)price or price condition (for example "2% below current")When type=market, normalize parameters as:
side=buy: amount = quote_amount (USDT amount)side=sell: amount = base_amount (base-coin quantity)Pre-check order:
Before every create_spot_order, always provide an Order Draft first, then wait for explicit confirmation.
Required execution flow:
Required confirmation fields:
currency_pair)buy/sell, market/limit)amount meaning and valueRecommended draft wording:
Order Draft: BTC_USDT, buy, market, amount=100 USDT, estimated fill around current ask, risk: slippage in fast markets. Reply "Confirm order" to place it.Allowed confirmation responses (examples):
Confirm order, Confirm, Proceed, Yes, place itHard blocking rules (non-bypassable):
create_spot_order unless the user explicitly confirms in the immediately previous turn.create_spot_order.If user confirmation is missing, ambiguous, or negative:
Use only the minimal tool set required for the task:
get_spot_accountsget_currency_pairget_spot_tickerscreate_spot_ordercancel_all_spot_orders / cancel_spot_order / amend_spot_orderlist_spot_orders (use status=open)list_spot_my_tradesThe response must include:
| Case | User Intent | Core Decision | Tool Sequence |
|------|----------|----------|----------|
| 1 | Market buy | Place market buy if USDT is sufficient | get_spot_accounts → create_spot_order |
| 2 | Buy at target price | Create a limit buy order | get_spot_accounts → create_spot_order |
| 3 | Buy with all balance | Use all available USDT balance to buy | get_spot_accounts → create_spot_order |
| 4 | Buy readiness check | Currency status + min size + current unit price | get_currency → get_currency_pair → get_spot_tickers |
| 5 | Asset summary | Convert all holdings to USDT value | get_spot_accounts → get_spot_tickers |
| 6 | Cancel all then check balance | Cancel all open orders and return balances | cancel_all_spot_orders → get_spot_accounts |
| 7 | Sell dust | Sell only if minimum size is met | get_spot_accounts → get_currency_pair → create_spot_order |
| 8 | Balance + minimum buy check | Place order only if account balance and min_quote_amount are both satisfied | get_spot_accounts → get_currency_pair → create_spot_order |
| Case | User Intent | Core Decision | Tool Sequence |
|------|----------|----------|----------|
| 9 | Buy 2% lower | Place limit buy at current price -2% | get_spot_tickers → create_spot_order |
| 10 | Sell at +500 | Place limit sell at current price +500 | get_spot_tickers → create_spot_order |
| 11 | Buy near today's low | Buy only if current price is near 24h low | get_spot_tickers → create_spot_order |
| 12 | Sell on 5% drop request | Calculate target drop price and place sell limit order | get_spot_tickers → create_spot_order |
| 13 | Buy top gainer | Auto-pick highest 24h gainer and buy | get_spot_tickers → create_spot_order |
| 14 | Buy larger loser | Compare BTC/ETH daily drop and buy the bigger loser | get_spot_tickers → create_spot_order |
| 15 | Buy then place sell | Market buy, then place sell at +2% reference price | create_spot_order → create_spot_order |
| 16 | Fee estimate | Estimate total cost from fee rate and live price | get_wallet_fee → get_spot_tickers |
| Case | User Intent | Core Decision | Tool Sequence |
|------|----------|----------|----------|
| 17 | Raise price for unfilled order | Confirm how much to raise (or target price), locate unfilled buy orders, confirm which order to amend if multiple, then amend limit price | list_spot_orders(status=open) → amend_spot_order |
| 18 | Verify fill and holdings | Last buy fill quantity + current total holdings | list_spot_my_trades → get_spot_accounts |
| 19 | Cancel if not filled | If still open, cancel and then recheck balance | list_spot_orders(status=open) → cancel_spot_order → get_spot_accounts |
| 20 | Rebuy at last price | Use last fill price, check balance, then place limit buy | list_spot_my_trades → get_spot_accounts → create_spot_order |
| 21 | Sell at break-even or better | Sell only if current price is above cost basis | list_spot_my_trades → get_spot_tickers → create_spot_order |
| 22 | Asset swap | Estimate value, if >=10U then sell then buy | get_spot_accounts → get_spot_tickers → create_spot_order(sell) → create_spot_order(buy) |
| 23 | Buy if price condition met | Buy only when current < 60000, then report balance | get_spot_tickers → create_spot_order → get_spot_accounts |
| 24 | Buy on trend condition | Buy only if 3 of last 4 hourly candles are bullish | get_spot_candlesticks → create_spot_order |
| 25 | Fast-fill limit buy | Use best opposite-book price for fast execution | get_spot_order_book → create_spot_order |
| Condition | Action |
|-----------|--------|
| User asks to check balance before buying | Must call get_spot_accounts first; place order only if sufficient |
| User specifies buy/sell at target price | Use type=limit at user-provided price |
| User asks for fastest fill at current market | Prefer market; if "fast limit" is requested, use best book price |
| Market buy (buy) | Fill amount with USDT quote amount, not base quantity |
| Market sell (sell) | Fill amount with base-coin quantity, not USDT amount |
| User requests take-profit/stop-loss | Clearly state TP/SL is not supported; provide manual limit alternative |
| Any order placement request | Require explicit final user confirmation before create_spot_order |
| User has not replied with clear confirmation | Keep order as draft; no trading execution |
| Confirmation is stale or not from the immediately previous turn | Invalidate it and require a fresh confirmation |
| Multi-leg trading flow | Require per-leg confirmation before each create_spot_order |
| User asks to amend an unfilled buy order | Confirm price increase amount or exact target price before amend_spot_order |
| Multiple open buy orders match amendment request | Ask user to choose which order to amend before executing |
| User amount is too small | Check min_quote_amount; if not met, ask user to increase amount |
| User requests all-in buy/sell | Use available balance, then trim by minimum trade rules |
| Trigger condition not met | Do not place order; return current vs target price gap |
## Execution Result
| Item | Value |
|------|-----|
| Scenario | {case_name} |
| Pair | {currency_pair} |
| Action | {action} |
| Status | {status} |
| Key Metrics | {key_metrics} |
{decision_text}
Example decision_text:
✅ Condition met. Your order has been placed.📝 Order draft ready. Reply "Confirm order" to execute.⏸️ No order placed yet: current price is 60200, above your target 60000.❌ Not executed: minimum order amount is 10U, your input is 5U.| Error Type | Typical Cause | Handling Strategy |
|----------|----------|----------|
| Insufficient balance | Not enough available USDT/coins | Return shortfall and suggest reducing order size |
| Minimum trade constraint | Below minimum amount/size | Return threshold and suggest increasing order size |
| Unsupported capability | User asks for TP/SL | Clearly state unsupported, propose manual limit-order workflow |
| Missing final confirmation | User has not clearly approved final order summary | Keep order pending and request explicit confirmation |
| Stale confirmation | Confirmation does not match the current draft or is not in the previous turn | Reject execution and ask for reconfirmation |
| Draft-only mode | User has not confirmed yet | Only run query/estimation tools; do not call create_spot_order |
| Ambiguous amendment target | Multiple candidate open buy orders | Keep pending and ask user to confirm order ID/row |
| Order missing/already filled | Amendment/cancellation target is invalid | Ask user to refresh open orders and retry |
| Market condition not met | Trigger condition is not satisfied | Return current price, target price, and difference |
| Pair unavailable | Currency suspended or abnormal status | Clearly state pair is currently not tradable |
gate-exchange-spot (Case 2/9/23)development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.