gate-exchange-activitycenter

v1.0.0

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

0· 90·0 current·0 all-time
bygaixg@gaixianggeng

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for gaixianggeng/gate-exchange-activitycenter-staging.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "gate-exchange-activitycenter" (gaixianggeng/gate-exchange-activitycenter-staging) from ClawHub.
Skill page: https://clawhub.ai/gaixianggeng/gate-exchange-activitycenter-staging
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: GATE_API_KEY, GATE_API_SECRET
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install gate-exchange-activitycenter-staging

ClawHub CLI

Package manager switcher

npx clawhub@latest install gate-exchange-activitycenter-staging
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill is an activity/campaign query helper for Gate Exchange and requires GATE_API_KEY and GATE_API_SECRET to call user-scoped MCP endpoints (e.g., my activity entry). Requesting these two credentials is coherent with the stated purpose.
Instruction Scope
SKILL.md restricts runtime behavior to a small set of read-only MCP tools, mandates following packaged runtime rules, forbids asking the user to paste secrets, and does not instruct reading unrelated system files or calling arbitrary external endpoints. The enforced response templates limit free-form output but are consistent with the claimed workflow.
Install Mechanism
No install spec and no code files — instruction-only skill — so nothing is downloaded or installed. This is the lowest-risk install profile and matches the documentation.
Credentials
Requires two environment variables (GATE_API_KEY and GATE_API_SECRET), which is proportionate for user-specific read operations. Note: these are sensitive credentials; the skill states it will not ask users to paste them into chat and expects a configured local MCP session. Users should ensure the keys have minimal required scope (Activity:Read) and that they trust the execution environment that will hold these secrets.
Persistence & Privilege
always is false and there is no install or configuration write step. The skill can be invoked autonomously by the agent (platform default), which is expected for skills and not by itself a concern here.
Assessment
This skill appears coherent and read-only for Gate Exchange activity queries, but it requires your Gate API key and secret to be present in the agent environment. Only install/use it if you: (1) trust the host/environment that will store those creds, (2) have provisioned keys with the minimal Activity:Read permission, and (3) prefer not to paste secrets into chat (the skill forbids that and expects local MCP config). Verify the publisher/repo (homepage links to github.com/gate/gate-skills) before trusting it with account-scoped keys. If you are uncomfortable with the agent having these env secrets, do not install or keep the skill disabled for autonomous invocation.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

EnvGATE_API_KEY, GATE_API_SECRET
Primary envGATE_API_KEY
latestvk97a8c2fpdbmtdm1vgcx8k7dan8440gv
90downloads
0stars
1versions
Updated 3w ago
v1.0.0
MIT-0

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 call MCP tools explicitly listed in this skill. Tools not documented here must NOT be called, even if they exist in the MCP server.

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.


MCP Dependencies

Required MCP Servers

MCP ServerStatus
Gate (main)✅ Required

MCP Tools Used

Query Operations (Read-only)

  • cex_activity_get_my_activity_entry
  • cex_activity_list_activities
  • cex_activity_list_activity_types

Authentication

  • Credentials Source: Local Gate MCP deployment (GATE_API_KEY, GATE_API_SECRET)
  • API Key Required: Yes
  • Permissions: Activity:Read
  • Never ask the user to paste secrets into chat; rely on the configured MCP session only.
  • API Key Provisioning Reference: https://www.gate.com/myaccount/profile/api-key/manage (create or rotate keys outside the chat when the local MCP setup requires them).

Installation Check

  • Required: Gate (main)
  • Install: Use the local Gate MCP installation flow for the current host IDE before continuing.
  • Continue only after the Gate MCP session is configured with the credentials listed above; do not switch to browser auth or ask the user to paste secrets into chat.

MCP Mode

Read and strictly follow references/mcp.md, then execute this skill's activity-center workflow.

  • SKILL.md keeps routing and recommendation logic.
  • references/mcp.md is the authoritative MCP execution layer for entry/list/type queries, filter handling, and degraded output behavior.

Routing Rules

User IntentKeywords/PatternAction
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

MCP Tools

MCP ToolPurposeaction_type
cex_activity_list_activity_typesGet activity type list (id, name) for type filteringquery
cex_activity_list_activitiesQuery activities by hot/type/scenario/keywordsinfo-card
cex_activity_get_my_activity_entryGet "My Activities" entry cardinfo-card

API Parameter Constraints

ParameterConstraintDescription
page_sizeMUST be ≤ 3⚠️ HARD LIMIT: Each request MUST NOT exceed 3 activities. Always set page_size=3 or less.
pageIntegerPage number, default 1.
recommend_typehot / type / scenarioQuery mode: hot (popular), type (by type_ids), scenario (by keywords)
type_idsStringActivity type IDs, comma-separated. Used with recommend_type=type
keywordsStringSearch 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:

cex_activity_list_activities?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. cex_activity_list_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
cex_activity_list_activities?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:

cex_activity_list_activities?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:

cex_activity_get_my_activity_entry

Rules:

  • ✅ Only show entry card, guide user to click and jump
  • ✅ Apply URL Processing Rules (see above) to the url field
  • ❌ Do NOT filter activity list in this API

Decision Logic

ConditionAction
User asks for hot/recommended activitiesCall cex_activity_list_activities with recommend_type=hot directly
User specifies activity typeFirst call cex_activity_list_activity_types, then cex_activity_list_activities with recommend_type=type&type_ids=xxx
User mentions asset/scenario (GT, futures)Use recommend_type=scenario with keywords
User searches by activity nameUse recommend_type=scenario with keywords={activity_name}
User asks "my activities"Call cex_activity_get_my_activity_entry
Activity list returns emptyUse "No Results" template, do NOT use "filtered for you..."

URL Processing Rules

All activity URLs returned by API must be processed before displaying to users:

URL PatternProcessingExample
Relative path (starts with /)Prepend https://www.gate.com/competition/xxxhttps://www.gate.com/competition/xxx
Already has host (starts with http:// or https://)Keep as-is, no modificationhttps://www.gate.com/campaigns/xxxhttps://www.gate.com/campaigns/xxx

Why relative paths? API returns relative paths for flexibility:

  • Multi-language support: Frontend can dynamically add language prefix (/zh/, /en/, /ja/)
  • Multi-environment deployment: Different domains for test/staging/production
  • Client flexibility: Web, App, H5 can handle links differently

Display Format: Always use clickable Markdown link: [{activity_title}]({processed_url})


Activity Response Field Specification

For all activity recommendation scenarios (1.1, 1.2, 1.3, 1.4), the response MUST only include the following fields:

API FieldDisplay LabelProcessing Rule
master_one_lineActivity TitleDisplay as-is
urlActivity LinkApply URL Processing Rules (prepend https://www.gate.com for relative paths)
type_nameActivity TypeDisplay the type_name value directly (NOT type_id)

Response Format Example:

Activity TitleActivity TypeActivity Link
Traditional Assets Limited Edition EventTraditional AssetsView Details

Rules:

  • ✅ Only display the 3 fields listed above
  • ✅ Use type_name for activity type (NOT type_id)
  • ✅ Process URLs according to URL Processing Rules
  • ❌ Do NOT display other fields like id, type_id, hot, img, competition_name, start_at, end_at, etc.

Response Templates

⚠️ MANDATORY: AI responses MUST strictly follow these templates. Free-form or custom responses are FORBIDDEN.

Template Compliance Rules

  1. REQUIRED: Every response MUST use the exact template structure defined below
  2. REQUIRED: Include the intro text + activity table + follow-up prompt
  3. FORBIDDEN: Adding extra commentary, explanations, or custom formatting
  4. FORBIDDEN: Omitting any part of the template structure

Activity Recommendation (Has Results)

ScenarioIntro Text (MUST use exactly)
Hot (1.1)Here are the current hot activities:
By Type (1.2)Filtered [type] activities for you:
By Scenario (1.3)Filtered activities related to [scenario/asset] for you:
By Name (1.4)Based on your keywords, I found some possible activities:

Required Response Structure:

{Intro Text from table above}

| Activity Title | Activity Type | Activity Link |
|----------------|---------------|---------------|
| {master_one_line} | {type_name} | [View Details]({processed_url}) |
| ... | ... | ... |

{Follow-up Prompt - see below}

Follow-up Prompts by Scenario:

ScenarioFollow-up Prompt (MUST include)
Hot (1.1)Click the link to view details or sign up. Need activities of a specific type?
By Type (1.2)Click the link to view details and how to participate.
By Scenario (1.3)Click the link to view participation requirements and rewards.
By Name (1.4)If you didn't find what you're looking for, provide a more complete activity name.

My Activities Template (Scenario 2)

Required Response Structure:

Click [My Events]({processed_url}) to view your enrolled and ongoing activities.

In "My Events" you can:
- View activity progress
- Claim activity rewards
- Track activity status

No Results Template

Required Response Structure:

Currently no [type/keyword] activities are in progress. You can:
- Check the activity center regularly, new activities will be displayed as soon as they launch
- Tell me other activity types you're interested in (e.g., trading, earn, VIP exclusive), and I can filter for you

Error Handling

Error TypeResponse Template
API timeout/failureUnable to load activities at the moment, please try again later.
No matching activitiesUse "No Results" template
401 UnauthorizedSession expired, please log in again to view activities.
400 Bad RequestUnable to process your request. Please try a different search term.
429 Rate LimitedToo many requests. Please wait a moment and try again.
500 Server ErrorService temporarily unavailable. Please try again later.
Network ErrorNetwork connection issue. Please check your connection and try again.

Safety Rules

  1. No investment advice: Activity rewards are platform benefits, not investment guidance
  2. No data fabrication: Only show data returned by backend
  3. Compliance check: Do not show activities unavailable in user's region
  4. No internal exposure: Never mention technical details to users, including:
    • API names (e.g., cex_activity_list_activities)
    • Parameter names (e.g., recommend_type, type_ids)
    • Internal IDs (e.g., type_id=34, id=1499)
    • Error codes or technical error messages
    • Example of BAD response: "No Alpha type activities found (type_id=34)"
    • Example of GOOD response: "Currently no Alpha activities are in progress"

Data Integrity Rules

⚠️ MANDATORY: These rules MUST be followed for ALL data processing and display.

1. Never Guess Data

  • FORBIDDEN: Guessing, estimating, or fabricating any data values
  • FORBIDDEN: Making assumptions about timestamps, numbers, or any computed values
  • REQUIRED: Only display data exactly as returned by API
  • REQUIRED: If data is missing or unclear, state "Data unavailable" instead of guessing

2. Self-Verification Mechanism

Before displaying any processed data, perform self-check:

Data TypeVerification Method
TimestampsVerify conversion result is reasonable (year, month, day within expected range)
URLsVerify URL format is valid after processing
NumbersVerify numeric values match API response exactly
Type namesVerify type_name exists in API response, do NOT derive from type_id

3. Proactive Validation (Not Reactive Correction)

  • REQUIRED: Validate data BEFORE presenting to user
  • REQUIRED: Double-check time-sensitive information (timestamps, dates)
  • FORBIDDEN: Wait for user to point out errors
  • FORBIDDEN: Display data first and correct later

4. Error Handling for Data Issues

If data validation fails:

  1. Do NOT display the problematic data
  2. Show a safe fallback message: "Some data is temporarily unavailable"
  3. Log the issue internally (do NOT expose to user)

Cross-Skill Routing

User Follow-up IntentRoute To
"I want to buy crypto"Trading skill
"I want to stake"Launchpool/Earn skill
"Welfare center" "check-in"Welfare center skill (NOT this skill)

Additional References

For detailed scenarios and examples, see references/scenarios.md

Comments

Loading comments...