Loading...
Loading...
Routes to: Polymarket, Aave V3, Hyperliquid, PancakeSwap V3 AMM, Morpho V1 Optimizer. Use when user names a third-party DeFi DApp/protocol as the destination, or asks 'what dapps are available'. The skill applies a confidence framework to detect the matching protocol, installs the corresponding DApp plugin on demand (via `npx skills add okx/plugin-store --skill <plugin-name> --yes --global`), then routes the user's original prompt directly into that plugin's quickstart. Trigger keywords — DApp discovery: 'what dapps are available', 'any good dapps', 'show me dapps', 'recommend dapps', 'which protocols can I use', 'what protocols do you support', 'list installed dapps', 'show installed dapps', 'what DeFi tools are available', 'what plugins do you have', '有什么好的dapp', '推荐一些dapp', '有什么好的协议', '有什么DeFi协议', '推荐DeFi项目', '有什么链上应用', '支持哪些协议', '支持哪些DeFi协议', '装了哪些Plugin', '已安装的dapp'. Specific protocols (Polymarket): 'Polymarket', 'poly market', 'prediction market', 'YES shares', 'NO shares', 'outcome token', 'btc 5m', 'btc 五分钟', 'BTC 5分钟涨跌', '预测市场', '事件市场', '买涨跌', '5分钟涨跌', '五分钟涨跌'. Specific protocols (Aave V3): 'Aave', 'Aave V3', 'aToken', 'health factor', 'eMode', 'Efficiency Mode', 'Isolation Mode', 'GHO', 'Aave flash loan', 'liquidationCall'. Specific protocols (Hyperliquid): 'Hyperliquid', 'HyperLiquid', 'HyperCore', 'HyperEVM', 'HYPE', 'HLP', 'Hyperliquidity Provider', 'HIP-3'. Specific protocols (PancakeSwap): 'PancakeSwap', 'Pancake', 'PCS', 'CAKE', 'Syrup Pool', 'IFO', 'BNB Chain AMM', 'V3 LP NFT', '薄饼', 'veCAKE'. Specific protocols (Morpho V1 Optimizer): 'Morpho', 'Merkl reward'. Plugin management: 'install a plugin', 'uninstall a plugin', 'show installed plugins', '安装Plugin', '卸载Plugin'. Do NOT use for: generic yield/lending/staking verbs without a named DApp (route to okx-defi-invest); DEX swaps without a named DApp (okx-dex-swap); token prices/charts (okx-dex-market); wallet balances (okx-wallet-portfolio); viewing positions (okx-defi-portfolio).
npx skill4agent add okx/onchainos-skills okx-dapp-discoverypolymarket-pluginhyperliquid-pluginaave-v3-pluginpancakeswap-v3-pluginmorpho-plugin| Tier | Condition | Action |
|---|---|---|
| 95–100 | Protocol name, domain, API name, contract name, or unique feature is explicitly present | Route immediately — install if absent, then read the plugin's SKILL.md and forward the original prompt |
| 75–94 | Protocol-specific workflow with a strong ecosystem clue | Same as above |
| 50–74 | Generic DeFi workflow with a weak clue; another DApp could plausibly match | Ask one focused clarifying question — do not install |
| < 50 | Generic terms only, no protocol signal | Do not install — show the user the available DApps and ask which one matches their intent |
polymarket-pluginaave-v3-pluginhyperliquid-pluginpancakeswap-v3-pluginmorpho-pluginMetaMorphomorpho-pluginskillsnpx skills# Cache the listing in a variable — no temp file required, portable across
# macOS / Linux / Windows-Git-Bash / sandboxed environments without /tmp.
SKILLS_LIST=$(npx skills list 2>/dev/null)
HL_INSTALLED=false; PM_INSTALLED=false; AAVE_INSTALLED=false; PCS_INSTALLED=false; MORPHO_INSTALLED=false
echo "$SKILLS_LIST" | grep -qE '(^|\s|/)hyperliquid-plugin(\s|$)' && HL_INSTALLED=true
echo "$SKILLS_LIST" | grep -qE '(^|\s|/)polymarket-plugin(\s|$)' && PM_INSTALLED=true
echo "$SKILLS_LIST" | grep -qE '(^|\s|/)aave-v3-plugin(\s|$)' && AAVE_INSTALLED=true
echo "$SKILLS_LIST" | grep -qE '(^|\s|/)pancakeswap-v3-plugin(\s|$)' && PCS_INSTALLED=true
echo "$SKILLS_LIST" | grep -qE '(^|\s|/)morpho-plugin(\s|$)' && MORPHO_INSTALLED=trueKnown limitations:
- The Read step further below uses
paths, which is Claude-Code-specific. Codex / OpenCode / OpenClaw / Cursor users may need to substitute their agent's skills directory. Tracked as a follow-up against the$HOME/.claude/skills/CLI to add askillssubcommand for cross-agent path resolution.skills info <skill>- The
redirect on2>/dev/nullsilences stderr (intentional — avoids noise on agents wherenpx skills listisn't available). Ifnpxitself is broken or missing, the listing returns empty and every DApp will be treated as "not installed". The subsequent install path (npx) is idempotent and surfaces the underlying error to the user via the Failure-mode note in Step 2 — do not retry the listing in a loop.npx skills add … --yes --global
User-facing language — IMPORTANT. The confidence tiers and scores in Step 1 and the rules below are internal decision logic. Do NOT mention scores, tiers, "confidence", or this routing framework to the user in your response. Use natural conversational language for any visible commentary. Examples:
- ✅ "I can set up Polymarket for that — installing now."
- ✅ "Sounds like Aave V3 is the right fit. Let me load it up."
- ✅ "That looks like a Hyperliquid use case — getting the plugin ready."
- ✅ "Were you thinking Aave or Morpho for this? They both fit." (for clarify-tier cases)
- ❌ "I scored your message at confidence 95 for Polymarket, so I'm installing the plugin."
- ❌ "Polymarket matches at tier 1 (95-100), routing directly."
- ❌ "The confidence framework picked PancakeSwap."
Rule 1's "do not show an install banner or onboarding table" extends to the scoring vocabulary itself — the user only sees the outcome (a suggestion, an install, a clarifying question, or a discovery table), not the mechanism.
Read file: $HOME/.claude/skills/<plugin-name>/SKILL.md(Path is Claude Code-specific — see Known Limitations in Step 1. On Codex / OpenCode / OpenClaw / Cursor, substitute the equivalent skills directory for your agent.)
npx skills add okx/plugin-store --skill <plugin-name> --yes --globalRead file: $HOME/.claude/skills/<plugin-name>/SKILL.md(Path is Claude Code-specific — see Known Limitations in Step 1. On Codex / OpenCode / OpenClaw / Cursor, substitute the equivalent skills directory for your agent.)
npx skills add okx/plugin-store --skill plugin-store --yes --globalRead file: $HOME/.claude/skills/plugin-store/SKILL.md(Path is Claude Code-specific — see Known Limitations in Step 1.)
plugin-store listThe following third-party DApps are currently routable directly — let me know which one you'd like to use:
DApp What it's for Polymarket Prediction markets — bet YES/NO on event outcomes (e.g. BTC 5min markets) Aave V3 On-chain lending and borrowing with health-factor-based liquidation Hyperliquid Perpetual futures DEX with on-chain order book PancakeSwap BNB Chain AMM (V2 + V3 CLMM) and yield products Morpho V1 Optimizer Aave/Compound interest-rate optimizer If your intent is more general — finding the best yield, rebalancing, or claiming rewards across protocols —(OKX-aggregated DeFi) is a better fit.okx-defi-investIf you want to use a different DApp not listed above (e.g., Uniswap, Curve, GMX, etc.), name it explicitly and I'll search the broader plugin registry via plugin-store.
Session activation: A newly installed plugin's instructions are active immediately via theabove. Its own proactive keyword triggers register on next session start — so for reliable independent routing in future sessions, the user can restart Claude Code once after install. No restart needed for the current session.Read
Idempotent install:is safe to re-run; it's a no-op if the plugin is already installed. Step 1's presence check exists to avoid an unnecessary network call, not for safety.npx skills add ... --yes --global
Failure mode: Iffails (network error, registry unreachable), tell the user: "I couldn't installnpx skills add— check your network connection or run<plugin-name>manually. Then ask me again about the DApp and I'll route through it automatically."npx skills add okx/plugin-store --skill <plugin-name> --yes --global
| User Intent | Action |
|---|---|
| User names a specific supported DApp (Polymarket, Aave, Hyperliquid, PancakeSwap, Morpho) → score ≥ 75 | Apply Rules 1–2 |
| User mentions a DApp ambiguously (perps, lending, swap on BNB) → score 50–74 | Apply Rule 4 — clarify |
| "What dapps are available?" / "Show me supported DApps" / "有什么dapp" | Apply Rule 5 — show the supported-DApp table |
| Generic yield/APY/lending without a named protocol | Defer to |
| User mentions a DApp not in the supported set | Tell the user this skill currently routes to the 5 listed DApps; suggest checking the OKX plugin marketplace for additional plugins, or using |