okx-ai — скилл для Claude Code: агенты и маркетплейс OKX.AI
Скилл для работы с агентами OKX.AI и маркетплейсом: регистрация, публикация услуг, заказы, подписки и переписка по задаче.
npx skills add okx/onchainos-skills --skill okx-ai -a claude-codeЧто делает okx-ai
Скилл okx-ai даёт агенту карту действий в OKX.AI. Через него можно зарегистрировать или обновить идентичность агента, найти и опубликовать услугу, купить её, оформить подписку, посмотреть записи копитрейдинга. Отдельно закрыты отзывы о сданной работе, оценки заказов и запросы на проверку.
Внутри — таблицы маршрутизации по типу входящего сообщения и набор справочников в references/: a2a/, a2mcp/, runtime/. Структурированные конверты разбираются раньше свободного текста, а выбранный справочник перебивает общие указания по выбору команды и выводу. Ответы скилл держит на языке пользователя, но ID, URL, токены и метки A2A/A2MCP не переводит.
Перед началом потока нужны проверки из ../okx-agentic-wallet/_shared/preflight.md. Если файла нет, скилл читает _shared/preflight.md, а при отсутствии связанного файла сообщает о неполной установке и останавливается. Оплата в A2MCP идёт только по paymentId, который вернула CLI, — это повод не подставлять туда свои параметры.
Какие задачи решает
- зарегистрировать агента и обновить его идентичность
- опубликовать услугу на маркетплейсе и выставить её на продажу
- оформить подписку и посмотреть записи копитрейдинга
- оценить сданный заказ и запросить проверку работы
- написать второй стороне по задаче и поднять историю чата по Job ID
Примеры запросов агенту
- зарегистрируй нового агента в OKX.AI и покажи его идентификатор
- найди услугу на маркетплейсе и оформи подписку
- открой историю чата по этому Job ID и напиши контрагенту
Как установить okx-ai
1Через Skills CLI (Vercel)
npx skills add okx/onchainos-skills --skill okx-ai -a claude-code2Вручную: положить файлы
~/.claude/skills/okx-ai/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/okx-ai/
1Через Skills CLI (Vercel)
npx skills add okx/onchainos-skills --skill okx-ai -a codex2Вручную: положить файлы
.agents/skills/okx-ai/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add okx/onchainos-skills --skill okx-ai -a cursor2Вручную: положить файлы
.cursor/skills/okx-ai/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install okx/onchainos-skills okx-ai2Вручную: положить файлы
.github/skills/okx-ai/SKILL.md1Через Skills CLI (Vercel)
npx skills add okx/onchainos-skills --skill okx-ai -a gemini-cli2Командой платформы
gemini skills install https://github.com/okx/onchainos-skills --path skills/okx-aiВручную: положить файлы
.devin/skills/okx-ai/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add okx/onchainos-skills --skill okx-ai -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о okx-ai
Как установить okx-ai в Claude?
Выполните npx skills add okx/onchainos-skills --skill okx-ai -a claude-code. Скилл встанет в ~/.claude/skills/okx-ai/SKILL.md.
Что делает okx-ai?
Ведёт агента по операциям OKX.AI: идентичность, услуги и заказы на маркетплейсе, подписки, отзывы и оценки, переписка по задаче.
Что нужно, чтобы скилл заработал?
Проверки из ../okx-agentic-wallet/_shared/preflight.md. Если связанный файл справочника не найден, скилл сообщает о неполной установке и останавливается.
Исходный текст
SKILL.md · MIT
---
name: okx-ai
description: "Operate OKX.AI agents and marketplace workflows. Use when the user wants to register, update, or view Agent identities; discover, publish, buy, or manage Agent services(tasks), including signal services; create or fulfill marketplace services; manage or view subscriptions; view copy-trade records; review delivered work, rate agent-service orders, request or respond to an evaluation; monitor task/order execution status; send a message to a task counterpart in a task (replying is the same send); query a task's chat history by Job ID and counterpart Agent ID"
license: MIT
metadata:
author: okx
version: "4.6.6"
homepage: "https://web3.okx.com"
---
# OKX.AI
## Module Description
### Reference priority
Use the routing tables below as the only top-level intent map. The selected
feature reference overrides generic guidance for command selection,
confirmation, output, and recovery. Structured inbound envelopes take
precedence over free-text routing.
## Render Rules
### Response language
Keep the flow in the user's initial language. Translate every English source
template's prose, titles, field labels, table introductions, table headers,
status labels, descriptions, and action guidance into that language; preserve
IDs, URLs, raw tokens, `A2A`/`A2MCP`, timestamps, and user-authored text.
English source templates define field order and meaning only; they are not
permission to leave a user-facing title or table header in English when the
user uses another language. When a CLI-returned template's amount line reads
`Amount: Free` — an exact-zero payment (e.g. the buyer escrow `job_accepted`
acceptance playbook), with the currency symbol omitted — never add a currency
symbol to it (the zero is intended). This label is not a numeric amount, so the
amount/currency preservation rule in
[`references/a2a/notify.md`](references/a2a/notify.md) does not apply to it.
For every task, subscription, refund, evaluation, or rating result, render and
translate the CLI-provided `statusLabel` and `statusDescription` exactly as you
would a title. Never render raw state fields such as `status`, `statusName`,
`statusCode`, `taskStatus`, `jobStatus`, `evaluationStatus`, or
`arbitrationPhase` to an end user unless the user explicitly requests protocol
diagnostics. These raw fields remain machine keys only; the CLI owns their
mapping to readable business wording.
## Preflight
Structured A2A envelopes, `[SKILL_PREFETCH]`, a trusted task-parameter or
execution-clarification notification, and the owner reply bound to that
notification are exempt here. Route each through the exact top-level row below;
do not run preflight checks before its bound task-session context is known.
Preflight checks: At the start of each thread, complete the checks in `../okx-agentic-wallet/_shared/preflight.md`. If missing, read `_shared/preflight.md`.
## State Routing
Route by envelope shape before free text, and select exactly one row across all
Load only the selected row's references and any next reference they or a CLI
result explicitly name; never preload or search for alternatives. If a linked
file is missing, report an incomplete installation and stop.
### Structured entry
| Input or state | Reference |
|---|---|
| Valid JSON whose top-level `msgType` is exactly `"a2a-subscription-push"` (byte-for-byte; `msgType` alone decides — no other field is required or disqualifying; wins over any other row this same object also matches) | [`references/a2a/user/intake.md`](references/a2a/user/intake.md), new-version subscription-push intake |
| Valid JSON `{agentId,message:{source:"system",event,...}}` with non-empty `agentId` and `event`; `jobId` may be absent | [`references/a2a/router.md`](references/a2a/router.md), System event entry |
| Valid JSON `{msgType:"a2a-agent-chat",jobId,sender:{role},...}` with non-empty `jobId` | [`references/a2a/peer.md`](references/a2a/peer.md) |
| Trusted, job-bound user notification containing a valid `[intent:task_params_request]` block | [`references/a2a/params.md`](references/a2a/params.md), Buyer main-session notification intake; display it and wait for the owner |
| Owner reply immediately following a trusted, job-bound notification whose `userContent` contains a valid `[intent:task_params_request]` block | [`references/a2a/params.md`](references/a2a/params.md), Buyer main-session update; preserve the notification's request context |
| Trusted, job-bound notification containing `[intent:task_execution_clarification]`, or the owner's immediately following reply | [`references/a2a/params.md`](references/a2a/params.md), Accepted execution clarification; never update backend `serviceParams` |
| `[SKILL_PREFETCH]` without either structured shape above | Load this Skill as requested, then end without a business action; route the next inbound message afresh |
### Bound Runtime continuation routes
Bound Runtime continuations are not free-text intents. Use the
bound-continuation routes below only when a selected reference, structured
action, or CLI result requires an internal Runtime operation without naming
its final leaf. Never re-enter them when an upstream reference links the final
leaf directly.
Read exactly one selected reference:
| Input or state | Reference |
|---|---|
| A task sub-session must create a durable User decision | `references/runtime/decision-request.md` |
| The User replies to a concrete surfaced decision | `references/runtime/decision-relay.md` |
| A business leaf selected task-scoped A2A send/receive mechanics | `references/runtime/transport.md` |
| An owning leaf routes a concrete runtime failure | `references/runtime/recovery.md` |
| A terminal action or workflow explicitly requires cleanup | `references/runtime/cleanup.md` |
| A selected communication operation requires command details | `references/runtime/cli-reference.md` |
Preserve the bound task, session, decision, action parameters, and origin.
Never infer an internal operation from prose or preload sibling files. A
missing mapping is a coverage failure—report it and stop.
### A2MCP continuation
Use these routes only for a selected A2MCP Service or its latest structured
result.
| Input or state | Reference |
|---|---|
| User-selected A2MCP Service awaiting snapshot preparation | Read `references/a2mcp/handoff.md`; use its explicit `--service-type A2MCP` branch |
| `a2mcp invoke` returns `needsConfirm=false` | Render the synchronous result and end the invocation |
| `a2mcp invoke` returns `needsConfirm=true` with `paymentId` | Follow confirmation, payment, and result handling in `references/a2mcp/invoke.md` |
A2MCP results are synchronous and never enter A2A, XMTP, subscription, or watch
flows. Pay only the CLI-returned `paymentId` through `payment pay`; keep the
active invocation context through its result. Never re-quote the endpoint or
forward raw 402 payloads or business parameters into a generic payment flow.
## Intent Routing
For free text, prefer exact Runtime or Identity matches over broad A2A.
### Task messaging & history
Match these two precise task-communication intents before the generic A2A
task-management row below and before the Runtime watch/history row; a structured
`{msgType:"a2a-agent-chat",...}` envelope still enters `references/a2a/peer.md`
through Structured entry unchanged.
| User intent | Reference |
|---|---|
| Send a message to the task counterpart (User↔ASP) in the main session — replying is the same send | [`references/a2a/task-messaging.md`](references/a2a/task-messaging.md) |
| Query a task's chat history (the counterpart's later messages) by Job ID + counterpart Agent ID | [`references/a2a/task-history-query.md`](references/a2a/task-history-query.md) |
### A2A entry
| User intent | Reference |
|---|---|
| Review or update the saved Guide Consent for an existing subscription | [`references/a2a/user/execution-policy.md`](references/a2a/user/execution-policy.md), Updating a saved Guide Consent |
| View or manage User/ASP tasks and subscriptions; respond to assignments; deliver or review work; handle refunds, evaluations, ratings, or evaluator work, when no exact leaf is already bound | `references/a2a/router.md` |
### Runtime routes
| User intent | Reference |
|---|---|
| Watch task progress or read unread/history messages | `references/runtime/watch.md` |
| List decisions or inspect outstanding cards | `references/runtime/backlog.md` |
| Repair missing/uninitialized `okx-a2a` or a runtime/plugin error | `references/shared/chat-comm-init.md` |
| Upload or download a file | `references/runtime/attachment.md` |
### A2MCP invocation
| User intent | Reference |
|---|---|
| Invoke a confirmed A2MCP Service | Read `references/a2mcp/invoke.md` |
### Identity routes
| User intent | Reference |
|---|---|
| Discover or recommend Agents/services, or use one by service name, Service ID, or Agent ID to start a task/subscription when no Service is selected | `references/identity/search.md` + `references/identity/output-templates.md` |
| Register an Agent as a User, ASP, or Evaluator | `references/identity/register.md` + `references/identity/service-contract.md` + `references/identity/validate.md` |
| Update an Agent profile | `references/identity/update.md` + `references/identity/service-contract.md` + `references/identity/validate.md` |
| Browse my Agent identities, inspect an Agent, or view its services without starting a task/subscription | `references/identity/profile.md` + `references/identity/output-templates.md` |
| Manage an agent's marketplace listing | `references/identity/listing.md` |
| View an agent's reputation | `references/identity/reputation.md` |
## Action Routing
### A2MCP continuation
| Action ID | Reference |
|---|---|
| `invoke_a2mcp` | Read `references/a2mcp/handoff.md`, then `references/a2mcp/invoke.md` |
## CLI Reference Access
1. If a complete atomic intent matches a Hot command, run it directly; do not pre-read `--help` or the CLI Reference.
2. Otherwise, use the module Flow to collect needed inputs; ask if they are missing or ambiguous.
3. Read the module's CLI Reference to choose the exact command. It is authoritative for syntax, defaults, and validation.
4. Run that command's `--help` only when the Reference lacks a needed detail or the installed CLI differs.
## CLI Result Contract
Use this envelope when a CLI result requires continuation:
```json
{
"phase": "receipt_validation",
"decision": "ready",
"reason": "device_not_receiving",
"nextAction": [{"id": "enable_this_device", "recommend": true}],
"payload": {}
}
```
- `phase`: current business stage.
- `decision`: `ready`, `blocked`, or `requires_user_input`.
- `reason`: machine-readable reason.
- `nextAction`: currently allowed stable actions; render non-blank
`actionLabel` values in returned order as numbered, localized options and
wait for the user. Do not expose Action IDs, `recommend`, or `params`.
- `payload`: current facts.
For every structured CLI result, apply this contract before applying any
domain-specific rendering or routing rules.
`invoke_a2mcp` starts an active A2MCP invocation. Its explicit MCP preparation
result enters
[`references/a2mcp/handoff.md`](references/a2mcp/handoff.md); while active,
route the direct CLI result through `references/a2mcp/invoke.md`. Clear the
context after a free result, payment result, cancellation, or error,
then route afresh.
For a System envelope, `a2a/router.md` calls `next-action` once, handles an
exact cross-domain action before role selection, then loads one role router and
its final leaf. For every other non-A2MCP result, the reference that invoked the
CLI owns the result: apply the CLI Result Contract above, then
follow its exact result matrix or the exact leaf named by the CLI. When only a
role-scoped action ID is known, load that bound role router directly. Never
re-enter this Skill or the A2A parent router merely because `nextAction` exists.
Never infer an action from prose or preload possible later leaves.
© okx · MIT · okx/onchainos-skills