gate-info-research
Use this skill whenever the user wants Gate.info / Gate.news research via gate-cli: single-coin, market overview, multi-coin compare, TA, macro, or research+news. Trigger phrases include: analyze SOL, how is BTC, compare BTC and ETH, technical analysis, NFP impact, research with news. Info primary; news auxiliary. Delegate: gate-info-risk (safety), gate-info-web3 (on-chain primary), gate-news-intel (news-first). Aligned to gate-cli v0.5.2; no aggregate +shortcut.
What this skill does
# gate-info-research
## General Rules
⚠️ STOP — You MUST read and strictly follow the shared runtime rules before proceeding.
Do NOT select or call any tool until all rules are read. These rules have the highest priority.
→ Read [gate-runtime-rules.md](https://github.com/gate/gate-skills/blob/master/skills/gate-runtime-rules.md)
→ Also read [info-news-runtime-rules.md](https://github.com/gate/gate-skills/blob/master/skills/info-news-runtime-rules.md) for **gate-info** and **gate-news** shared rules (tool degradation, report standards, security, routing).
- **Only call MCP tools explicitly listed in this skill.** Tools not documented here must NOT be called, even if they
exist in the MCP server.
## CLI and playbook contract
1. Every CLI command in this skill MUST exist under `gate-cli v0.5.2`. Do not invent `+coin-overview` / `+market-overview` / other aggregate shortcuts. If a shortcut ships in a later CLI, it will be opt-in via the playbook's `cli_future_shortcut` field, not by editing this file.
2. Call `gate-cli info …` / `gate-cli news …` only as listed in [playbooks/gate-info-research.yaml](https://github.com/gate/gate-skills/blob/master/playbooks/gate-info-research.yaml). This primary skill does **not** call Gate MCP tools when preflight `route` is `CLI` (MCP is for legacy wrapper skills only).
3. Always pass `--format json` on data-collection commands. Never mix JSON and pretty output in the same pipeline.
4. If a required slot (e.g. `symbol` for `single_coin`) cannot be parsed with high confidence, ask the user to clarify. Never guess a ticker from a project name.
5. Cross-domain allowed: `gate-info-research` MAY call `gate-cli news …` when the `research_plus_news` playbook fires. It MUST NOT take over user queries whose primary intent is news / events / community; those route to `gate-news-intel`.
6. Final user-facing reports may use the user’s locale; this `SKILL.md` stays English for discovery and indexing (see repository `CLAUDE.md` rule 1).
---
## Step 0 — Preflight
Follow the shared contract in [skills/_shared/preflight.md](https://github.com/gate/gate-skills/blob/master/skills/_shared/preflight.md) verbatim. Summary:
1. Run `gate-cli preflight --format json`; parse `.route`, `.status`, `.user_message`.
2. Branch: `CLI` → continue; `MCP_FALLBACK` → emit `__FALLBACK__` and halt; `BLOCK` → echo `user_message` and halt.
3. When `status == "ready_with_migration_warning"`, remember it — Step 3 appends one migrate hint at the end of the report.
Do NOT run the first data-collection command until Step 0 returns `route == "CLI"`.
---
<!--
Step 0.5 — Skill update check (OPT-IN, disabled by default).
The script [scripts/update-skill.sh](https://github.com/gate/gate-skills/blob/master/scripts/update-skill.sh) is shipped and functional, but agents
do NOT run it as part of the normal flow (zero overhead, no token needed).
Skill authors can still invoke it manually when they want to sync SKILL.md
from upstream:
bash "$SKILL_ROOT/scripts/update-skill.sh" check gate-info-research
Result semantics, strict-check mode (`GATE_SKILL_CHECK_STRICT=1`) and the
auto-apply path (`GATE_SKILL_UPDATE_MODE=auto`) are documented in
[skills/_shared/update-workflow.md](https://github.com/gate/gate-skills/blob/master/skills/_shared/update-workflow.md). To re-enable
this step inside the agent flow, delete this HTML comment wrapper so the
block becomes part of the rendered SKILL.md again.
-->
---
## Step 1 — Intent routing
Map the user's query to exactly one playbook id. Read the playbook definitions from [playbooks/gate-info-research.yaml](https://github.com/gate/gate-skills/blob/master/playbooks/gate-info-research.yaml). The mapping below is authoritative.
| Playbook id | When to pick | Required slots | Legacy skill it covers |
|-----------------------|------------------------------------------------------------------------------------------------|----------------|------------------------------------------|
| `single_coin` | "analyze SOL", "how is BTC", "is ETH worth watching", no explicit extra dimension. | `symbol` | `gate-info-coinanalysis` |
| `market_overview` | "market right now", "how is the broad market", "which sectors are hot", no specific coin. | — | `gate-info-marketoverview` |
| `multi_coin` | "compare BTC and ETH", "BTC vs SOL vs ARB", 2–20 tickers. | `symbols` | `gate-info-coincompare` |
| `trend` | "give me a technical analysis of BTC", "SOL RSI / MACD", "BTC price direction / TA view". | `symbol` | `gate-info-trendanalysis` |
| `macro` | "impact of NFP on BTC", "CPI impact on markets", "Fed rate decision and crypto". | — | `gate-info-macroimpact` |
| `research_plus_news` | "analyze SOL and also check recent news and sentiment", "analysis plus sentiment / news". | `symbol` | multi-legacy fan-out |
### Slot extraction rules
- `symbol` is the ticker (`BTC`, `ETH`, `SOL`). If the user gives a project name ("Solana", "Arbitrum"), confirm or ask.
- `symbols` is a list; strip duplicates; keep display casing consistent.
- `time_range` is the user's broad news-context window. PER-COMMAND ENUM narrowing — the super-set is `1h / 24h / 7d / 30d`, but individual commands accept narrower sets. Before forwarding a user-supplied `time_range` to any command, clamp it against that command's `arg_enums` in the playbook (CLAUDE.md rule 9): `search-news` accepts `1h / 24h / 7d / 30d`, `search-ugc` accepts `1h / 24h / 7d / 30d / all`, **`get-social-sentiment` and `get-latest-events` accept ONLY `1h / 24h / 7d`** (CLI rejects `30d` with `INVALID_ARGUMENTS`). For longer windows on `get-latest-events`, switch to `--start-time` / `--end-time` (unix-ms).
- `period` (the **analysis window** consumed by `markettrend get-technical-analysis --period` and `get-kline --period`). Server enum: `1h / 4h / 24h / 3d / 5d / 7d / 10d / all`. Default `3d`. Legacy aliases `1d` → use `24h`; `1w` → use `7d`. Do NOT pass `1d` or `1w` — CLI returns `INTEL_RESULT_ERROR: invalid period`.
- `timeframe` has two variants:
- `get-kline --timeframe` enum: `1m / 5m / 15m / 1h / 4h / 1d` (required, no default).
- `get-market-snapshot --timeframe` and `get-indicator-history --timeframe` enum: `15m / 1h / 4h / 1d` (get-market-snapshot default `1h`; get-indicator-history required). `1m` / `5m` are NOT valid on these two.
- `indicators` (for `trend`) defaults to `rsi,macd,ma30,ma200` — **lowercase only**. Uppercase (`RSI`, `MACD`) passes CLI validation but the server returns empty rows silently. Unsupported windows (`ma20`, `ma50`) also return empty rows — use the server-populated set: `rsi`, `macd`, `macd_difference`, `ma7`, `ma30`, `ma120`, `ma200`, `ema7`, `ema30`, `ema200`, `boll_upper_band`, `boll_middle_band`, `boll_lower_band`. See [skills/gate-info-research/references/cli-reference.md](https://github.com/gate/gate-skills/blob/master/skills/gate-info-research/references/cli-reference.md) (section `get-indicator-history`) for the full field list.
- If a required slot is missing, STOP and ask the user.
### Cross-skill routing at Step 1
| User signal | Route to |
|-------------------------------------------------------------------------------------------------|---------------------------------------|
| "is this coin / contract / address safe", "honeypot / blacklist / has risk" (safety-first). | `gate-info-risk` (primary; ship round 1). |
| "who is this address", "smart money", "whale", "DRelated in Web3
xaut-trade
IncludedBuy or sell XAUT (Tether Gold) on Ethereum. Supports market orders (Uniswap V3) and limit orders (UniswapX). Wallet modes: Foundry keystore or WDK. Delegates non-XAUT intents to registered skills (e.g. Polymarket prediction markets, Hyperliquid trading). Triggers: buy XAUT, XAUT trade, swap USDT for XAUT, sell XAUT, swap XAUT for USDT, limit order, limit buy XAUT, limit sell XAUT, check limit order, cancel limit order, XAUT when, create wallet, setup wallet, polymarket, prediction market, bet on, odds on, hyperliquid, perp, perpetual, long, short, open long, open short, close position, leverage.
qfc-openclaw-skill
IncludedQFC blockchain interaction — wallet, faucet, chain queries, staking, epoch & finality, AI inference
gate-dex-trade
IncludedExecutes on-chain token swaps via Gate DEX. Use when user wants to swap, buy, sell, exchange, or convert tokens, or bridge cross-chain. Covers full swap flow: price quotes, transaction build, signing, and submission. Do NOT use for read-only data lookups or wallet account management.
hunch
IncludedDiscover, bet on, track, and settle Hunch prediction markets in natural language. Trigger when a user wants to bet, take a position, or get odds on a crypto outcome — token market-cap milestones and flips, launchpad races (Bankr vs pump.fun volume / #1-days / launches over a cap), token head-to-head outperformance, mcap strike-ladders, and up/down price rounds. Also trigger on "what can I bet on about $TOKEN", "odds on …", "take YES/NO on …", "show my Hunch bets", "did my market resolve". Settles in USDC on Base via x402 (≤ $10 / bet); every bet returns an on-chain proof.
opensea
IncludedQuery NFT data, trade on the Seaport marketplace, and swap ERC20 tokens across Ethereum, Base, Arbitrum, Optimism, Polygon, and more.
polymarket
IncludedTrade on Polymarket prediction markets (CLOB V2) from a Privy EOA wallet. Search markets, place/cancel orders, manage positions. No private key handling. Use when the user wants to bet on event outcomes (e.g. "buy YES at 0.65 on the ceasefire market", "what are my open positions", "close my Trump bet").