Claude
Skills
Sign in
Back

gate-exchange-activitycenter

Included with Lifetime
$97 forever

Gate platform activity and campaign hub skill. Use when the user asks about trading competitions, airdrops, or their enrolled activities. Triggers on 'recommend activities', 'trading competition', 'my activities', 'airdrop campaign'.

Ads & Marketing

What this skill does


### Resolving `gate-cli` (binary path)

Resolve **`gate-cli`** in order: **(1)** **`command -v gate-cli`** and **`gate-cli --version`** succeeds; **(2)** **`${HOME}/.local/bin/gate-cli`** if executable; **(3)** **`${HOME}/.openclaw/skills/bin/gate-cli`** if executable. Canonical rules: [`exchange-runtime-rules.md`](https://github.com/gate/gate-skills/blob/master/skills/exchange-runtime-rules.md) §4 (or [`gate-runtime-rules.md`](https://github.com/gate/gate-skills/blob/master/skills/gate-runtime-rules.md) §4).


# gate-exchange-activitycenter

> Activity center aggregates platform campaigns (trading competitions, airdrops, newcomer activities, referral activities, etc.), supporting activity recommendations and my activities entry.

## 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 `./references/gate-runtime-rules.md`
- **Only use the `gate-cli` commands explicitly listed in this skill.** Commands not documented here must NOT be run for these workflows, even if other interfaces expose them.

**Trigger Scenarios**: User mentions "recommend activities", "what activities", "airdrop activities", "trading competition", "VIP activities", "my activities", etc.

> ⚠️ **MANDATORY RESPONSE FORMAT**: When this skill is triggered, AI responses **MUST** strictly follow the Response Templates defined in this document. Free-form responses are **FORBIDDEN**.

---

## Skill Dependencies


### gate-cli commands used

**Query Operations (Read-only)**

- `gate-cli cex activity get-entry`
- `gate-cli cex activity list`
- `gate-cli cex activity types`

### Authentication
- **Interactive file setup:** when **`GATE_API_KEY`** and **`GATE_API_SECRET`** are **not** both set on the host, run **`gate-cli config init`** to complete the wizard for API key, secret, profiles, and defaults (see [gate-cli](https://github.com/gate/gate-cli)).
- **Env / flags:** **`gate-cli config init`** is **not** required when credentials are already supplied — e.g. **both** **`GATE_API_KEY`** and **`GATE_API_SECRET`** set on the host, or **`--api-key`** / **`--api-secret`** where supported — never ask the user to paste secrets into chat.
- API Key Required: Yes
- **Permissions:** Activity:Read
- **Portal:** create or rotate keys outside the chat: https://www.gate.com/myaccount/profile/api-key/manage

### Installation Check
- **Required:** `gate-cli` (run `sh ./setup.sh` from this skill directory if missing; optional `GATE_CLI_SETUP_MODE=release`).
- Add `$HOME/.openclaw/skills/bin` to **`PATH`** if you invoke `gate-cli` by name (or the directory where [`setup.sh`](./setup.sh) installs it).
- **Credentials:** When **`GATE_API_KEY`** and **`GATE_API_SECRET`** are both set (non-empty) for the host, **do not** require **`gate-cli config init`** — that is equivalent valid config for `gate-cli`. When **both** are unset or empty, **remind** the operator to run **`gate-cli config init`** **or** to configure **`GATE_API_KEY`** / **`GATE_API_SECRET`** in the **matching skill** from the skill library (never ask the user to paste secrets into chat).
- **Sanity check:** Do not proceed with authenticated calls until the CLI behaves as expected (e.g. **`gate-cli --version`** or a read-only **`gate-cli cex ...`** command from this skill); confirm credentials resolve before mutating operations.


## Execution mode

**Read and strictly follow** [`references/gate-cli.md`](./references/gate-cli.md), then execute this skill's activity-center workflow.

- `SKILL.md` keeps routing and recommendation logic.
- `references/gate-cli.md` is the authoritative `gate-cli` execution contract for entry/list/type queries, filter handling, and degraded output behavior.

## Routing Rules

| User Intent | Keywords/Pattern | Action |
|-------------|-----------------|--------|
| Hot Recommendation | "recommend activities" "what activities" "recent activities" | Scenario 1.1 Hot Recommendation |
| Type-Based Recommendation | "airdrop activities" "trading competition" "VIP activities" "earn activities" | Scenario 1.2 Type-Based |
| Scenario-Based Recommendation | "I have GT" "futures activities" "spot activities" | Scenario 1.3 Scenario-Based |
| Search by Name | "{activity name}" "position airdrop" | Scenario 1.4 Search by Name |
| My Activities | "what activities I joined" "my activities" "enrolled activities" | Scenario 2 My Activities |
| Welfare Center/Newcomer Tasks | "claim rewards" "check-in" "newcomer tasks" | ❌ NOT applicable to this skill |

---

## gate-cli command index

| MCP Tool | Purpose | action_type |
|----------|---------|-------------|
| `gate-cli cex activity types` | Get activity type list (id, name) for type filtering | query |
| `gate-cli cex activity list` | Query activities by hot/type/scenario/keywords | info-card |
| `gate-cli cex activity get-entry` | Get "My Activities" entry card | info-card |

### API Parameter Constraints

| Parameter | Constraint | Description |
|-----------|------------|-------------|
| `page_size` | **MUST be ≤ 3** | ⚠️ **HARD LIMIT**: Each request MUST NOT exceed 3 activities. Always set `page_size=3` or less. |
| `page` | Integer | Page number, default 1. |
| `recommend_type` | `hot` / `type` / `scenario` | Query mode: hot (popular), type (by type_ids), scenario (by keywords) |
| `type_ids` | String | Activity type IDs, comma-separated. Used with `recommend_type=type` |
| `keywords` | String | Search keywords for activity name. Used with `recommend_type=scenario` |

> ⚠️ **CRITICAL**: The `page_size` parameter is strictly limited to a maximum of 3. Any value greater than 3 is FORBIDDEN.

---

## Scenario 1: Activity Recommendation

### 1.1 Hot Recommendation (No Type Specified)

**Trigger**: "recommend activities" "what activities" "recent activities"

**API Call**:
```
`gate-cli cex activity list`?recommend_type=hot&sort_by=default&page=1&page_size=3
```

**Rules**:
- ✅ Do NOT ask for type clarification, call API directly
- ✅ Fixed `page_size=3` (maximum allowed), no pagination

---

### 1.2 Type-Based Recommendation

**Trigger**: "airdrop activities" "trading competition" "VIP activities" "earn activities"

**API Call Sequence**:
1. `gate-cli cex activity types` → Get type list, match user's type name (case-insensitive)
2. `cex_activity_list_activities?recommend_type=type&type_ids=matched_id1,matched_id2&sort_by=time&page_size=3`

**Keyword Extraction Examples**:
- "what airdrop activities are there" → Extract: airdrop
- "VIP activities" → Extract: VIP
- "I'm a VIP, any exclusive activities" → Extract: VIP
- "any low-risk activities" → Extract: earn

---

### 1.3 Scenario-Based Recommendation

**Trigger**: "I have GT, what activities can I join" "futures activities"

**API Call**:
- If mappable to type: Use `recommend_type=type` with `type_ids`
- If scenario/asset: Use `recommend_type=scenario` with `keywords`

```
`gate-cli cex activity list`?recommend_type=scenario&keywords=GT&page_size=3
```

---

### 1.4 Search by Name

**Trigger**: "help me find position airdrop" "where is VIP exclusive activity" "find test activity"

**API Call**:
```
`gate-cli cex activity list`?recommend_type=scenario&keywords=test_activity&page=1&page_size=3
```

**Parameter Notes**:
- Use `recommend_type=scenario` with `keywords` for name search
- `keywords` is the activity name or partial name to search
- ⚠️ **Language Conversion**: If user input contains non-English text, translate keywords to English before passing to the `keywords` parameter

**Response Template** (when results found):
> Based on your keywords, I found some possible activities. If you didn't find the activity you're looking for, you can provide a more complete activity name, or click more activities to explore more hot activities.

---

## Scenario 2: My Activities

**Trigger**: "what activities I joined" "my activities" "enrolled activities"

**API Call**:
```
`gate-cli cex ac

Related in Ads & Marketing