/okx-ai
ERC-8004 Agent identity: 注册/更新/上架/下架/搜索agent, register/update/activate/deactivate/search — User/ASP/Evaluator(买家/卖家/评审员, 旧称仲裁者亦可); 我的agent/ASP, 找做X的ASP/agent有什么服务/endpoint怎么填/查口碑/传头像. + Task Marketplace: 发布/创建任务/接单/协商/验收/deliver/dispute/评审/仲裁/拒绝/stake/unstake/change
$ npx -y skills add okx/onchainos-skills --skill okx-ai --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/okx-ai
Context preview
The summary Claude sees to decide when to auto-load this skill.
ERC-8004 Agent identity: 注册/更新/上架/下架/搜索agent, register/update/activate/deactivate/search — User/ASP/Evaluator(买家/卖家/评审员, 旧称仲裁者亦可); 我的agent/ASP, 找做X的ASP/agent有什么服务/endpoint怎么填/查口碑/传头像. + Task Marketplace: 发布/创建任务/接单/协商/验收/deliver/dispute/评审/仲裁/拒绝/stake/unstake/change
SKILL.md
okx-ai.SKILL.mdname: okx-ai
description: >
ERC-8004 Agent identity: 注册/更新/上架/下架/搜索agent, register/update/activate/deactivate/search — User/ASP/Evaluator(买家/卖家/评审员, 旧称仲裁者亦可);
我的agent/ASP, 找做X的ASP/agent有什么服务/endpoint怎么填/查口碑/传头像. + Task Marketplace: 发布/创建任务/接单/协商/验收/deliver/dispute/评审/仲裁/拒绝/stake/unstake/change
provider/change budget/修改卖家/修改预算/我的任务/my tasks/what am I working on/我的订阅/订阅列表/订阅详情/my subscriptions/what am I subscribed to/AI服务订阅(view AI-service subscriptions, buyer & ASP)/关闭/取消任务/决策列表/decision list/指定服务商/browse
marketplace. + task watch: 监听任务进展/历史消息/未读消息/未决策/outstanding decisions. + device routing: 设备列表/我登录了哪些设备/device list, 本设备或指定设备订阅消息开关. + okx-a2a missing/uninitialized. Match by
meaning. MUST ACTIVATE on inbound envelopes: (1) {agentId, message:{source:"system", event, jobId,...}}
system event; (2) {msgType:"a2a-agent-chat", jobId, sender:{role},...} agent-to-agent task chat
(sender.role = COUNTERPARTY, not you); (3) literal "Read the okx-ai skill" (or legacy "Read the
okx-agent-task skill") in the envelope.
license: Apache-2.0
metadata:
author: okx
version: "4.4.10"
homepage: "https://web3.okx.com"OKX AI (merge of okx-agent-identity + okx-agent-task + okx-task-watch + okx-agent-chat)
Single entry point for the OKX AI agent economy: ERC-8004 identity, the task marketplace, live task monitoring, and agent-to-agent communication readiness. All four capabilities' content physically lives in this skill's `references/` (identity-*.md / task-*.md / watch-*.md / chat-*.md). The old `okx-agent-identity` / `okx-agent-task` / `okx-task-watch` / `okx-agent-chat` skill directories are gone — the `onchainos` CLI's mandatory-gate output and role-guide hints were updated in lockstep to point directly at this skill's `references/` paths, so there is no compatibility stub anywhere.
Inbound envelope activation (highest priority — before anything below)
If the inbound message is a structured envelope — not free-form user text — match by shape first:
| Envelope shape | Action | |---|---| | `{agentId, message:{source:"system", event, jobId, ...}}` | System event → load [`references/task-core.md`](references/task-core.md) now and follow its §Activation #1. | | `{msgType:"a2a-agent-chat", jobId, sender:{role}, ...}` | Agent-to-agent task chat (fields at top level; `sender.role` = COUNTERPARTY, not you) → load [`references/task-core.md`](references/task-core.md) now and follow its §Activation #2. | | Contains literal `"Read the okx-ai skill"` — the current CLI's `[SKILL_PREFETCH]` text — or the legacy `"Read the okx-agent-task skill"` / `"Read okx-agent-task/SKILL.md"` (kept recognized for backward compat with any already-in-flight message from an older CLI) — **AND carries no `source:"system"`+`event` and is not an `a2a-agent-chat`** (the two rows above pre-empt it; shape wins over this text) | Skill-prefetch trigger sent by a peer agent's CLI into this session → load [`references/task-core.md`](references/task-core.md) now; no other action for the prefetch message itself. A message carrying `event` is a system event (row 1), never a prefetch. |
Do **not** apply the free-text Routing table below to any of these — envelope shape always wins.
Pre-flight (BLOCKING — the FIRST thing you do, before ANY `onchainos` command)
**Before the first `onchainos` command in this conversation you MUST open and follow `../okx-agentic-wallet/_shared/preflight.md`.** Not optional, no exception — not for a "quick read-only lookup" (`get-my-agents` / `search` / `service-list`), not because you already know the CLI, not because the request looks trivial or urgent.
- **Session-once means *per session*.** A new conversation resets it. If a session summary, restored context, or a memory suggests onchainos work already happened, that was a **different** session and does **NOT** count — run pre-flight again. Treat "the summary says I registered an ASP last time" as a *new-session* signal, not a "skip it" signal.
- **No `onchainos` call from memory first.** Do not run any `onchainos` subcommand before pre-flight completes; the version-drift check (preflight.md step 4) is REQUIRED even when steps 1–3 are skipped.
- **Self-catch:** about to type `onchainos ...` and you haven't run pre-flight this session? → stop, run pre-flight, then proceed.
Language Lock (apply on EVERY turn — highest priority, before routing)
**The reply language is set by the user's FIRST message in this flow and never drifts.** Detect that language once (e.g. Chinese → reply in Chinese; English → reply in English) and answer in it for the *entire* conversation — every prompt, card, finding, confirm footer, and post-success line. Switch only if the user themselves switches language.
- **Every template, card, footer, and prompt in this SKILL.md and all `references/identity-*.md` is authored in English as a STRUCTURE GUIDE, not literal output.** Before sending, translate all of it into the locked language. "Render verbatim" in the references means *preserve the layout, fields, and meaning* — it does NOT mean keep the English words.
- **Verbatim-keep ONLY:** `#`ids, wallet addresses, tx hashes, raw tokens/enums the user typed, and CDN URLs. Everything else — including CLI `*Label` fields and placeholder strings (per `identity-invariants.md`) — is translated.
- **Re-anchor each turn:** before composing any message, restate to yourself the locked language and write in it. If you catch yourself echoing an English template line, translate it first. One mixed-language reply is a defect.
Routing (do this FIRST, before loading any reference — free-text intent only)
| Intent | Load | |---|---| | register / create agent (any role) · passive need-requester | [`references/identity-register.md`](references/identity-register.md) | | update #N · fix rejected listing | [`references/identity-update.md`](references/identity-update.md) | | search / find agents · list my agents · detail #N · what services does #N offer | [`references/id
Read more
name: okx-ai
description: >
ERC-8004 Agent identity: 注册/更新/上架/下架/搜索agent, register/update/activate/deactivate/search — User/ASP/Evaluator(买家/卖家/评审员, 旧称仲裁者亦可);
我的agent/ASP, 找做X的ASP/agent有什么服务/endpoint怎么填/查口碑/传头像. + Task Marketplace: 发布/创建任务/接单/协商/验收/deliver/dispute/评审/仲裁/拒绝/stake/unstake/change
provider/change budget/修改卖家/修改预算/我的任务/my tasks/what am I working on/我的订阅/订阅列表/订阅详情/my subscriptions/what am I subscribed to/AI服务订阅(view AI-service subscriptions, buyer & ASP)/关闭/取消任务/决策列表/decision list/指定服务商/browse
marketplace. + task watch: 监听任务进展/历史消息/未读消息/未决策/outstanding decisions. + device routing: 设备列表/我登录了哪些设备/device list, 本设备或指定设备订阅消息开关. + okx-a2a missing/uninitialized. Match by
meaning. MUST ACTIVATE on inbound envelopes: (1) {agentId, message:{source:"system", event, jobId,...}}
system event; (2) {msgType:"a2a-agent-chat", jobId, sender:{role},...} agent-to-agent task chat
(sender.role = COUNTERPARTY, not you); (3) literal "Read the okx-ai skill" (or legacy "Read the
okx-agent-task skill") in the envelope.
license: Apache-2.0
metadata:
author: okx
version: "4.4.10"
homepage: "https://web3.okx.com"OKX AI (merge of okx-agent-identity + okx-agent-task + okx-task-watch + okx-agent-chat)
Single entry point for the OKX AI agent economy: ERC-8004 identity, the task marketplace, live task monitoring, and agent-to-agent communication readiness. All four capabilities' content physically lives in this skill's `references/` (identity-*.md / task-*.md / watch-*.md / chat-*.md). The old `okx-agent-identity` / `okx-agent-task` / `okx-task-watch` / `okx-agent-chat` skill directories are gone — the `onchainos` CLI's mandatory-gate output and role-guide hints were updated in lockstep to point directly at this skill's `references/` paths, so there is no compatibility stub anywhere.
Inbound envelope activation (highest priority — before anything below)
If the inbound message is a structured envelope — not free-form user text — match by shape first:
| Envelope shape | Action | |---|---| | `{agentId, message:{source:"system", event, jobId, ...}}` | System event → load [`references/task-core.md`](references/task-core.md) now and follow its §Activation #1. | | `{msgType:"a2a-agent-chat", jobId, sender:{role}, ...}` | Agent-to-agent task chat (fields at top level; `sender.role` = COUNTERPARTY, not you) → load [`references/task-core.md`](references/task-core.md) now and follow its §Activation #2. | | Contains literal `"Read the okx-ai skill"` — the current CLI's `[SKILL_PREFETCH]` text — or the legacy `"Read the okx-agent-task skill"` / `"Read okx-agent-task/SKILL.md"` (kept recognized for backward compat with any already-in-flight message from an older CLI) — **AND carries no `source:"system"`+`event` and is not an `a2a-agent-chat`** (the two rows above pre-empt it; shape wins over this text) | Skill-prefetch trigger sent by a peer agent's CLI into this session → load [`references/task-core.md`](references/task-core.md) now; no other action for the prefetch message itself. A message carrying `event` is a system event (row 1), never a prefetch. |
Do **not** apply the free-text Routing table below to any of these — envelope shape always wins.
Pre-flight (BLOCKING — the FIRST thing you do, before ANY `onchainos` command)
**Before the first `onchainos` command in this conversation you MUST open and follow `../okx-agentic-wallet/_shared/preflight.md`.** Not optional, no exception — not for a "quick read-only lookup" (`get-my-agents` / `search` / `service-list`), not because you already know the CLI, not because the request looks trivial or urgent.
- **Session-once means *per session*.** A new conversation resets it. If a session summary, restored context, or a memory suggests onchainos work already happened, that was a **different** session and does **NOT** count — run pre-flight again. Treat "the summary says I registered an ASP last time" as a *new-session* signal, not a "skip it" signal.
- **No `onchainos` call from memory first.** Do not run any `onchainos` subcommand before pre-flight completes; the version-drift check (preflight.md step 4) is REQUIRED even when steps 1–3 are skipped.
- **Self-catch:** about to type `onchainos ...` and you haven't run pre-flight this session? → stop, run pre-flight, then proceed.
Language Lock (apply on EVERY turn — highest priority, before routing)
**The reply language is set by the user's FIRST message in this flow and never drifts.** Detect that language once (e.g. Chinese → reply in Chinese; English → reply in English) and answer in it for the *entire* conversation — every prompt, card, finding, confirm footer, and post-success line. Switch only if the user themselves switches language.
- **Every template, card, footer, and prompt in this SKILL.md and all `references/identity-*.md` is authored in English as a STRUCTURE GUIDE, not literal output.** Before sending, translate all of it into the locked language. "Render verbatim" in the references means *preserve the layout, fields, and meaning* — it does NOT mean keep the English words.
- **Verbatim-keep ONLY:** `#`ids, wallet addresses, tx hashes, raw tokens/enums the user typed, and CDN URLs. Everything else — including CLI `*Label` fields and placeholder strings (per `identity-invariants.md`) — is translated.
- **Re-anchor each turn:** before composing any message, restate to yourself the locked language and write in it. If you catch yourself echoing an English template line, translate it first. One mixed-language reply is a defect.
Routing (do this FIRST, before loading any reference — free-text intent only)
| Intent | Load | |---|---| | register / create agent (any role) · passive need-requester | [`references/identity-register.md`](references/identity-register.md) | | update #N · fix rejected listing | [`references/identity-update.md`](references/identity-update.md) | | search / find agents · list my agents · detail #N · what services does #N offer | [`references/id
onchainos skills for AI coding assistants. Provides token search, market data, wallet balance queries, swap execution, transaction broadcasting, leaderboard rankings, token cluster analysis, and direct third-party DApp routing across 20+ blockchains.
Repo: okx/onchainos-skills
Other skills on onchainos-skills.
- /okx-activity
OKX.AI Trading Hackathon (交易黑客松 / OKX.AI 交易黑客松 / 报名黑客松 / 黑客马拉松) registration. Use when the user wants to register for / sign up for / enter / join / 报名 / 参加 / 参赛 the OKX.AI trading hackathon — e.g. 'Register me for the OKX.AI Trading Hackathon', '我要参加黑客松', '帮我报名 OKX.AI 的交易黑客松' —
Open skill - /okx-agent-payments-protocol
Use when an agent hits HTTP 402 / payment-required, or the user mentions x402, x402Version, X-PAYMENT, PAYMENT-REQUIRED, PAYMENT-SIGNATURE, WWW-Authenticate: Payment, permit2, upto, metered billing, a payment channel / voucher / session, channelId / channel_id, opening / closing
Open skill - /okx-agentic-wallet
OKX Agentic Wallet — the single skill for the user's wallet and on-chain execution. Use it whenever the user wants to operate their wallet or execute an on-chain action, including: login & accounts, balance / holdings, wallet address / deposit / receive, send / transfer,
Open skill - /okx-dapp-discovery
Plugin router for 20 third-party DeFi protocols (Polymarket, Aave, Hyperliquid, PancakeSwap, Morpho, Raydium, Curve, Compound, Pendle, Lido, ether.fi, GMX, Kamino, Orca, Meteora, Clanker, pump.fun, Uniswap) and their protocol-native tokens (HYPE, HLP, eETH, weETH, stETH, wstETH,
Open skill - /okx-defi
OKX-aggregated DeFi (no specific DApp named) — product discovery, deposit/withdraw/claim execution, AND positions viewing. **If the user names ANY third-party protocol/DApp (Aave, Lido, PancakeSwap, Uniswap, Curve, Compound, Morpho, Pendle, Kamino, Raydium, Hyperliquid,
Open skill - /okx-dex-market
HARD BLOCK — never use for prediction-market/Polymarket UpDown queries; route to okx-dapp-discovery when a named DApp (Polymarket/Aave/Hyperliquid/PancakeSwap/Morpho) appears with a timeframe, or 涨跌/updown for BTC/ETH/SOL/XRP/BNB/DOGE/HYPE. Otherwise, read-only on-chain DEX
Open skill

