mcpField
G
gate-exchange-activitycenter

gate-exchange-activitycenter

github.com/gateその他48135 回インストール18 週間前に更新
リポジトリ

gate-exchange-activitycenter について

gate-exchange-activitycenter は、Gate のキャンペーンやイベントを検索・推薦するスキルです。人気度、種類、シナリオ、名称で探せるほか、「My Activities」への入口も取得できます。

主な機能

  1. 01人気アクティビティの一覧
  2. 02種類による絞り込み
  3. 03資産やシナリオでの検索
  4. 04名称による検索
  5. 05My Activities の入口を表示

活用シーン

  1. 01現在人気のアクティビティを探す
  2. 02エアドロップや取引コンペを調べる
  3. 03GT や先物に関連する企画を探す

MCP 対応

gate-cli を使ってアクティビティの種類、一覧、My Activities の入口を照会します。推薦・検索で一度に取得できる件数は最大3件です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gate/gate-skills --skill gate-exchange-activitycenter

インストール後、Claude Code で/gate-exchange-activitycenterを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
README.md
setup.sh
references/
gate-cli.md
gate-runtime-rules.md
mcp.md
scenarios.md

詳細

gate-cli の解決(バイナリパス)

gate-cli は次の順に解決します:(1) command -v gate-cli と gate-cli --version が成功する場合、(2) 実行可能な場合は ${HOME}/.local/bin/gate-cli、(3) 実行可能な場合は ${HOME}/.openclaw/skills/bin/gate-cli。正式なルールについては、exchange-runtime-rules.md §4(または gate-runtime-rules.md §4)を参照してください。

gate-exchange-activitycenter

アクティビティセンターでは、プラットフォームのキャンペーン(取引コンペティション、エアドロップ、新規ユーザー向けアクティビティ、紹介アクティビティなど)を集約し、アクティビティのおすすめと「マイアクティビティ」への入口を提供します。

一般ルール

⚠️ 停止してください。続行する前に、共有ランタイムルールを必ず読み、厳密に従ってください。 すべてのルールを読み終えるまで、ツールを選択したり呼び出したりしないでください。これらのルールが最優先です。 → ./references/gate-runtime-rules.md を読んでください

  • このスキルに明記されている gate-cli コマンドのみを使用してください。 ここに記載されていないコマンドは、他のインターフェースで利用できる場合でも、これらのワークフローでは実行してはいけません。

トリガーとなるシナリオ:「アクティビティをおすすめして」「どんなアクティビティがある?」「エアドロップのアクティビティ」「取引コンペティション」「VIP アクティビティ」「マイアクティビティ」などをユーザーが言及した場合。

⚠️ 必須の応答形式:このスキルがトリガーされた場合、AI の応答は、このドキュメントで定義されている応答テンプレートに厳密に従う必要があります。自由形式の応答は禁止です。


スキルの依存関係

使用する gate-cli コマンド

クエリ操作(読み取り専用)

  • gate-cli cex activity get-entry
  • gate-cli cex activity list
  • gate-cli cex activity types
認証
  • 対話式のファイル設定: ホスト上で GATE_API_KEY と GATE_API_SECRET が両方とも設定されていない場合、gate-cli config init を実行して、API キー、シークレット、プロファイル、デフォルト値の設定ウィザードを完了します(gate-cli を参照)。
  • 環境変数/フラグ: 認証情報がすでに渡されている場合は gate-cli config init は不要です。たとえば、ホスト上で GATE_API_KEY と GATE_API_SECRET の両方が設定されている場合や、サポートされている場所で --api-key / --api-secret を使用する場合です。シークレットをチャットに貼り付けるようユーザーに求めてはいけません。
  • API キーが必要です:はい
  • 権限: Activity:Read
  • ポータル: チャット外でキーを作成またはローテーションしてください:https://www.gate.com/myaccount/profile/api-key/manage
インストールの確認
  • 必須: gate-cli(見つからない場合は、このスキルのディレクトリから sh ./setup.sh を実行してください。GATE_CLI_SETUP_MODE=release は任意です)。
  • gate-cli を名前で呼び出す場合は $HOME/.openclaw/skills/bin を PATH に追加してください(または、setup.sh のインストール先ディレクトリを追加してください)。
  • 認証情報: ホストに GATE_API_KEY と GATE_API_SECRET が両方とも空でない値で設定されている場合、gate-cli config init を要求してはいけません。これは gate-cli の有効な設定と同等です。両方とも未設定または空の場合は、gate-cli config init を実行するか、スキルライブラリ内の該当するスキルで GATE_API_KEY / GATE_API_SECRET を設定するよう、オペレーターに伝えてください(シークレットをチャットに貼り付けるようユーザーに求めてはいけません)。
  • 動作確認: CLI が想定どおりに動作することを確認するまで、認証が必要な呼び出しに進まないでください(例:gate-cli --version、またはこのスキルの読み取り専用 gate-cli cex ... コマンド)。変更操作の前に、認証情報が正しく解決されることを確認してください。

実行モード

references/gate-cli.md を読み、厳密に従ってから、このスキルのアクティビティセンターのワークフローを実行してください。

  • SKILL.md にはルーティングとおすすめのロジックが記載されています。
  • references/gate-cli.md は、エントリー/一覧/タイプのクエリ、フィルターの処理、出力が縮退した場合の動作について、gate-cli の正式な実行契約を定めています。

ルーティングルール

ユーザーの意図キーワード/パターンアクション
人気のおすすめ"recommend activities" "what activities" "recent activities"シナリオ 1.1 人気のおすすめ
種類別のおすすめ"airdrop activities" "trading competition" "VIP activities" "earn activities"シナリオ 1.2 種類別
シナリオ別のおすすめ"I have GT" "futures activities" "spot activities"シナリオ 1.3 シナリオ別
名前で検索"{activity name}" "position airdrop"シナリオ 1.4 名前で検索
自分のアクティビティ"what activities I joined" "my activities" "enrolled activities"シナリオ 2 自分のアクティビティ
福利厚生センター/新規ユーザー向けタスク"claim rewards" "check-in" "newcomer tasks"❌ このスキルの対象外

gate-cli コマンド一覧

MCP ツール目的action_type
gate-cli cex activity types種類による絞り込みに使うアクティビティの種類一覧(id、name)を取得query
gate-cli cex activity list人気度/種類/シナリオ/キーワードでアクティビティを検索info-card
gate-cli cex activity get-entry「自分のアクティビティ」のエントリーカードを取得info-card
API パラメーターの制約
パラメーター制約説明
page_size3 以下でなければなりません⚠️ 厳格な上限:1 回のリクエストで取得できるアクティビティは最大 3 件です。必ず page_size=3 以下に設定してください。
page整数ページ番号。デフォルトは 1 です。
recommend_typehot / type / scenario検索モード:hot(人気)、type(type_ids による絞り込み)、scenario(キーワード)
type_ids文字列アクティビティの種類 ID。カンマ区切りです。recommend_type=type と併用します。
keywords文字列アクティビティ名の検索キーワード。recommend_type=scenario と併用します。

⚠️ 重要:page_size パラメーターの上限は厳密に 3 です。3 を超える値は使用できません。


シナリオ 1:アクティビティのおすすめ

1.1 人気のおすすめ(種類の指定なし)

トリガー:"recommend activities" "what activities" "recent activities"

API 呼び出し:

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

ルール:

  • ✅ 種類について確認せず、直接 API を呼び出します
  • ✅ page_size=3 に固定します(許可される最大数)。ページネーションは行いません

1.2 種類別のおすすめ

トリガー:"airdrop activities" "trading competition" "VIP activities" "earn activities"

API 呼び出し手順:

  1. gate-cli cex activity types → 種類一覧を取得し、ユーザーが指定した種類名と照合します(大文字と小文字は区別しません)
  2. cex_activity_list_activities?recommend_type=type&type_ids=matched_id1,matched_id2&sort_by=time&page_size=3

キーワード抽出の例:

  • "what airdrop activities are there" → 抽出:airdrop
  • "VIP activities" → 抽出:VIP
  • "I'm a VIP, any exclusive activities" → 抽出:VIP
  • "any low-risk activities" → 抽出:earn

1.3 シナリオ別のおすすめ

トリガー:"I have GT, what activities can I join" "futures activities"

API 呼び出し:

  • 種類に対応できる場合:type_ids を指定して recommend_type=type を使用します
  • シナリオ/資産に該当する場合:keywords を指定して recommend_type=scenario を使用します
`gate-cli cex activity list`?recommend_type=scenario&keywords=GT&page_size=3

1.4 名前で検索

トリガー:"help me find position airdrop" "where is VIP exclusive activity" "find test activity"

API 呼び出し:

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

パラメーターに関する注意:

  • 名前の検索には、keywords を指定して recommend_type=scenario を使用します
  • keywords には、検索するアクティビティ名またはその一部を指定します
  • ⚠️ 言語変換:ユーザーの入力に英語以外のテキストが含まれる場合は、keywords パラメーターに渡す前にキーワードを英語に翻訳してください

応答テンプレート(検索結果が見つかった場合):

ご指定のキーワードに基づいて、該当する可能性のあるアクティビティが見つかりました。お探しのアクティビティが見つからない場合は、アクティビティ名をより詳しく指定するか、「さらにアクティビティを表示」をクリックして、ほかの人気アクティビティをご確認ください。


シナリオ 2:自分のアクティビティ

トリガー:「参加したアクティビティ」「自分のアクティビティ」「登録済みのアクティビティ」

API 呼び出し:

`gate-cli cex activity get-entry`

ルール:

  • ✅ エントリーカードのみを表示し、クリックして移動するようユーザーに案内します
  • ✅ url フィールドに URL 処理ルール(上記を参照)を適用します
  • ❌ この API ではアクティビティ一覧をフィルタリングしないでください

判定ロジック

条件アクション
ユーザーが人気またはおすすめのアクティビティを尋ねるrecommend_type=hot を指定して gate-cli cex activity list を直接呼び出します
ユーザーがアクティビティの種類を指定するまず gate-cli cex activity types を呼び出し、その後 recommend_type=type&type_ids=xxx を指定して gate-cli cex activity list を呼び出します
ユーザーがアセット/シナリオ(GT、先物)に言及するkeywords とともに recommend_type=scenario を使用します
ユーザーがアクティビティ名で検索するkeywords={activity_name} とともに recommend_type=scenario を使用します
ユーザーが「自分のアクティビティ」と尋ねるgate-cli cex activity get-entry を呼び出します
アクティビティ一覧が空の場合「結果なし」テンプレートを使用し、「あなた向けにフィルタリングしました…」は使用しないでください

URL 処理ルール

API から返されるすべてのアクティビティ URL は、ユーザーに表示する前に処理する必要があります。

URL パターン処理例
相対パス(/ で始まる)https://www.gate.com を先頭に追加します/competition/xxx → https://www.gate.com/competition/xxx
ホスト名を含む(http:// または https:// で始まる)そのまま保持し、変更しませんhttps://www.gate.com/campaigns/xxx → https://www.gate.com/campaigns/xxx

相対パスを使う理由:柔軟性を確保するため、API は相対パスを返します。

  • 多言語対応:フロントエンドで言語プレフィックス(/zh/、/en/、/ja/)を動的に追加できます
  • 複数環境へのデプロイ:テスト/ステージング/本番環境で異なるドメインを使用できます
  • クライアントの柔軟性:Web、アプリ、H5 でリンクを異なる方法で処理できます

表示形式:常にクリック可能な Markdown リンクを使用します:[{activity_title}]({processed_url})


アクティビティレスポンスのフィールド仕様

すべてのアクティビティおすすめシナリオ(1.1、1.2、1.3、1.4)で、レスポンスに含めることができるのは次のフィールドのみです。

API フィールド表示ラベル処理ルール
master_one_lineアクティビティ名そのまま表示します
urlアクティビティリンクURL 処理ルールを適用します(相対パスの場合は https://www.gate.com を先頭に追加します)
type_nameアクティビティの種類type_id ではなく、type_name の値を直接表示します

レスポンス形式の例:

アクティビティ名アクティビティの種類アクティビティリンク
従来型アセット限定イベント従来型アセット詳細を見る

ルール:

  • ✅ 上記の 3 フィールドのみを表示します
  • ✅ アクティビティの種類には type_id ではなく type_name を使用します
  • ✅ URL 処理ルールに従って URL を処理します
  • ❌ id、type_id、hot、img、competition_name、start_at、end_at など、その他のフィールドは表示しないでください

レスポンステンプレート

⚠️ 必須:AI のレスポンスは、これらのテンプレートに厳密に従う必要があります。自由形式やカスタム形式のレスポンスは禁止です。

テンプレート準拠ルール
  1. 必須:すべてのレスポンスで、以下に定義する正確なテンプレート構成を使用する必要があります
  2. 必須:導入文+アクティビティテーブル+追加の質問を含める必要があります
  3. 禁止:追加のコメント、説明、カスタム書式を加えること
  4. 禁止:テンプレート構成の一部を省略すること
アクティビティのおすすめ(結果あり)
シナリオイントロテキスト(必ずそのまま使用)
人気(1.1)現在人気のアクティビティはこちらです:
種類別(1.2)[type]のアクティビティを絞り込みました:
シナリオ別(1.3)[scenario/asset]に関連するアクティビティを絞り込みました:
名前別(1.4)キーワードに基づいて、該当する可能性のあるアクティビティが見つかりました:

必須の回答構成:

{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}

シナリオ別のフォローアッププロンプト:

シナリオフォローアッププロンプト(必ず含める)
人気(1.1)リンクをクリックして詳細を確認するか、申し込んでください。特定の種類のアクティビティをお探しですか?
種類別(1.2)リンクをクリックして詳細と参加方法を確認してください。
シナリオ別(1.3)リンクをクリックして参加条件と報酬を確認してください。
名前別(1.4)お探しのアクティビティが見つからない場合は、より詳しいアクティビティ名を入力してください。
マイアクティビティのテンプレート(シナリオ 2)

必須の回答構成:

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
結果なしのテンプレート

必須の回答構成:

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

エラー処理

エラーの種類回答テンプレート
API タイムアウト/失敗現在アクティビティを読み込めません。後でもう一度お試しください。
該当するアクティビティなし「結果なし」テンプレートを使用
401 Unauthorizedセッションの有効期限が切れました。アクティビティを表示するには、もう一度ログインしてください。
400 Bad Requestリクエストを処理できません。別の検索語をお試しください。
429 Rate Limitedリクエストが多すぎます。少し待ってから、もう一度お試しください。
500 Server Errorサービスは一時的にご利用いただけません。後でもう一度お試しください。
ネットワークエラーネットワーク接続に問題があります。接続を確認して、もう一度お試しください。

安全ルール

  1. 投資助言をしない:アクティビティの報酬はプラットフォームの特典であり、投資に関する助言ではありません
  2. データを捏造しない:バックエンドから返されたデータのみを表示してください
  3. コンプライアンスを確認する:ユーザーの地域で利用できないアクティビティを表示しないでください
  4. 内部情報を露出しない:以下を含む技術的な詳細をユーザーに伝えないでください:
  • API 名(例:gate-cli cex activity list)
  • パラメーター名(例:recommend_type、type_ids)
  • 内部 ID(例:type_id=34、id=1499)
  • エラーコードまたは技術的なエラーメッセージ
  • 悪い回答の例:「Alpha タイプのアクティビティは見つかりませんでした(type_id=34)」
  • 良い回答の例:「現在、Alpha アクティビティは開催されていません」

データ整合性ルール

⚠️ 必須:すべてのデータ処理と表示で、以下のルールに従ってください。

1. データを推測しない
  • ❌ 禁止:データ値の推測、概算、捏造
  • ❌ 禁止:タイムスタンプ、数値、または計算値に関する仮定
  • ✅ 必須:API から返されたデータをそのまま表示する
  • ✅ 必須:データが欠落している、または不明瞭な場合は、推測する代わりに「データを利用できません」と伝える
2. 自己検証の仕組み

処理したデータを表示する前に、次のセルフチェックを実施してください:

データの種類検証方法
タイムスタンプ変換結果が妥当であること(年、月、日が想定範囲内であること)を確認する
URL処理後の URL 形式が有効であることを確認する
数値数値が API の応答と完全に一致することを確認する
種類名API の応答に type_name が存在することを確認し、type_id から導出しない
3. 事前検証(事後修正ではなく)
  • ✅ 必須:ユーザーに提示する前にデータを検証する
  • ✅ 必須:時間に左右される情報(タイムスタンプ、日付)を再確認する
  • ❌ 禁止:ユーザーから誤りを指摘されるまで待つ
  • ❌ 禁止:データを先に表示して、後から修正する
4. データの問題に対するエラー処理

データ検証に失敗した場合:

  1. 問題のあるデータを表示しない
  2. 安全な代替メッセージを表示する:「一部のデータを一時的に利用できません」
  3. 問題を内部で記録する(ユーザーには公開しない)

スキル間のルーティング

ユーザーの追加リクエストの意図ルーティング先
「暗号資産を購入したい」取引スキル
「ステーキングしたい」Launchpool/Earn スキル
「福利厚生センター」「チェックイン」福利厚生センターのスキル(このスキルではありません)

参考資料

詳細なシナリオと例については、references/scenarios.md を参照してください。

コメント