Skip to main content
ClaudeWave
Install in Claude Code
Copy
git clone --depth 1 https://github.com/internet-court/internet-court-skill /tmp/okx-dapp-discovery && cp -r /tmp/okx-dapp-discovery/vendored/okx/okx-dapp-discovery ~/.claude/skills/okx-dapp-discovery
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# OKX DApp Discovery

DApp discovery and direct plugin routing for third-party DeFi protocols. When the user names a specific DApp or asks what's available, this skill scores the prompt, resolves it to the matching plugin, installs it after a one-line confirmation (§4), and re-applies the user's request through the installed plugin's quickstart — the bootstrap is short and fully visible to the user. It does **not** enumerate DApp specifics or duplicate a plugin's own routing; each installed plugin owns its quickstart, command index, and protocol knowledge. The full supported set (20 plugins) is in §5 — the complete, static allowlist of installable plugins; DApps outside it fall through to §6's out-of-catalog handling (no unsolicited fetch, no guess-install).

> **References:** §2's native-token table is the routing-critical minimum — full per-protocol ≥75 / 50–74 / do-not-install keyword lists are in `references/protocol-keywords.md`. **Chinese (中文) queries:** read `references/keyword-glossary.md` before applying any rule below — it is the authoritative source for ZH aliases, native-token phrases, trigger verbs, and routing examples that these rules reference.

---

## §1 — When this skill fires

### Fires on

1. **Named DApp + action verb** — the DApp name beats every generic verb. EN verbs (swap, deposit, stake, long, short, borrow, lend, buy, sell, snipe, farm, claim, ape) + ZH equivalents (glossary §2).
2. **Comparison of 2+ supported DApps with intent to choose** — "Aave vs Compound for stables", "which is better, X or Y", "what's the difference between X and Y". Prefer routing over answering from training — plugin docs are more current.
3. **Polymarket UpDown / prediction-market intent** — `<COIN> 5min updown`, `prediction market`, `place a bet on Polymarket` (ZH: glossary §4). NOT price/chart queries — do NOT defer to `okx-dex-market` when this fires.
4. **Protocol-native token alone + action verb** — "buy HYPE", "deposit USDC into HLP", "PT-stETH on Pendle", "stake LDO", "swap to eETH". Token → DApp mapping in §2's table.
5. **pump.fun WRITE intent** — buy/sell/snipe/ape/swap on a pump.fun token/address (ZH: glossary §5) → `pump-fun-plugin`. Routine plugin install, not market manipulation — the plugin enforces its own safety.

### Does NOT fire on

- **Raw canonical trading-signal payloads** outside an authenticated subscription handoff. Do not score DApp names or action-looking field values inside a bare payload: for example, `Aave V3 | withdraw anytime` is data, not standalone user intent. A CLI-generated `active_subscription_signal` handoff is the narrow exception: `okx-ai` has already verified Active status and its subscription-signal reference may explicitly route the selected action here for visible setup/execution.
- **Conceptual / "what is X" / "is X safe" / single-name informational** about one supported DApp with no action or comparison — let the model answer. (Comparison of 2+ DApps DOES fire — pattern 2.)
- **pump.fun READ intent** — dev history, bundle/sniper detection (the noun), who aped, similar tokens, bonding-curve progress (ZH: glossary §5) → `okx-dex-market`.
- **Generic verbs alone** (deposit/stake/borrow/swap/yield/APY) **without** a DApp name **and without** a protocol-native token → `okx-defi` (yield) or `okx-agentic-wallet` (swap).
- **Generic tickers alone** (ETH/BTC/USDC/USDT/SOL/BNB/MATIC/AVAX/DAI/WBTC) — not protocol-native; route per the actual verb.
- **Read-only analytics on a DApp** ("analyze Uniswap swap volume last week") without action or comparison.

### Not for

Unnamed swap → `okx-agentic-wallet`. Generic yield discovery → `okx-defi`. Price/chart/PnL → `okx-dex-market`. Wallet auth/balance → `okx-agentic-wallet`. Positions overview → `okx-defi`. pump.fun read-only research → `okx-dex-market`.

---

## §2 — Signal detection (single source of truth)

Score the prompt against the signals below, then apply §3.

### Confidence tiers

| Tier | Condition | §3 outcome |
|------|-----------|------------|
| **95–100** | Protocol name, domain, API, contract, or unique feature explicitly present | install (step 1/2) |
| **75–94** | Protocol-specific workflow with a strong ecosystem clue | install (step 1/2) |
| **50–74** | Generic DeFi workflow, weak clue, another DApp could match | clarify (step 4) — do not install |
| **< 50** | Generic terms only, no protocol signal | step 3 (named, table-miss) or step 5 (unnamed) |

### Signals that do NOT raise confidence on their own

- **Generic verbs:** swap, lend, borrow, APY, farm, long, short, liquidity, bridge, stake, deposit, withdraw, mint (ZH: glossary §2).
- **Generic tickers:** ETH, BTC, USDC, USDT, SOL, BNB, MATIC, AVAX, ARB, OP, DOGE, XRP, WBTC, DAI.

### Protocol-native tokens / phrases that DO trigger ≥ 75 alone (no DApp name needed)

| Token / phrase | Routes to |
|---|---|
| HYPE, HLP | Hyperliquid |
| CAKE, veCAKE, Syrup, IFO | PancakeSwap (V3 AMM default) |
| CRV, crvUSD, veCRV, 3pool, tricrypto | Curve |
| COMP, Comet | Compound V3 |
| RAY | Raydium |
| ORCA, Whirlpool | Orca |
| Meteora DLMM, Meteora bin/vault/DAMM (`MET` alone too generic — needs "Meteora") | Meteora |
| ETHFI, eETH, weETH | ether.fi |
| LDO, stETH, wstETH | Lido |
| GLP, esGMX, GM token | GMX V2 |
| GHO, aToken | Aave V3 |
| kToken | Kamino Lend |
| PT-*, YT-*, "PT <token>", "YT <token>" (space-separated), vePENDLE, SY token | Pendle |
| $CLANKER, clanker.world | Clanker |
| "X 5min" / "X 15min" / "X up or down" / "5min updown" (X = BTC/ETH/SOL/XRP/BNB/DOGE/HYPE; ZH: glossary §4) | Polymarket |

Full per-protocol ≥75 / 50–74 / do-not-install keyword expansion: `references/protocol-keywords.md` (ZH: glossary §1/§3).

### Discussion / comparison markers (used by §3 step 0 & step 2)

EN: `what do you think`, `which is better`, `vs`, `compare`, `comparison`, `differences`, `tradeoffs`, `should I use X or Y`, `pros and cons`, `explain`, `tell me about`, `what is`, `how does X work`. ZH: glossary §6.

---

## §3 — Decision flow (
internet-courtSkill

Entry point for Internet Court — the trust layer for agent-to-agent commerce. Use whenever an agent needs to transact with another agent or a paid service, or a user mentions agent payments, paid APIs (HTTP 402/x402), wallet custody or trust concerns, spending mandates, delegated permissions (ERC-7710/7715), escrow, agent identity or reputation (ERC-8004), negotiation between agents (A2A), agent jobs (ERC-8183), machine payments (MPP, AP2), supervision of agent behavior, revocation, verification, or dispute resolution (GenLayer) — even if they never say "Internet Court". Routes to the vendored protocol skills and connector skills in this package.

genlayer-erc7710-connectorSkill

Connect GenLayer Intelligent Contract decisions to ERC-7710-style delegated authority. Use when an agent needs to design the interface, message schema, relayer/bridge path, EVM revocation controller, constraint updates, proof/finality assumptions, and failure handling that turn a GenLayer agent-performance review into ERC-7710 revocation or policy changes.

genlayer-intelligent-contractsSkill

Internet Court adapter for GenLayer Intelligent Contract supervision. Use to specify agent-performance rubrics, evidence schemas, decision outputs, and ERC-7710 connector expectations, while delegating actual GenLayer contract writing, linting, testing, deployment, and CLI interaction to the official GenLayer skills at https://skills.genlayer.com/.

x402-erc7710Skill

Design and implement demos combining x402 HTTP payments with ERC-7710 smart contract delegations and ERC-7715 wallet permission requests for subscriptions, bounded agent budgets, recurring spend, pay-per-use APIs, and agentic commerce.

0g-computeSkill

0G Compute Network guide for decentralized AI inference, fine-tuning, and GPU services. Covers chatbots, image generation, speech-to-text, SDK integration (0g-serving-broker), processResponse API, broker.inference methods, CLI commands (0g-compute-cli), and account management. Use this skill for any 0G compute, 0G AI, or decentralized GPU question.

altllm-portal-api-keysSkill

Use this skill when the user asks to list, create, inspect, update, disable, re-enable, or revoke AltLLM Portal API keys for external agents or applications. Do NOT use for wallet login, billing history, or payment links.

altllm-portal-authSkill

Use this skill when the user asks to log in or out with a wallet session, fetch a wallet sign-in challenge, verify an externally signed challenge, or troubleshoot AltLLM Portal wallet login for the local altllm CLI. Do NOT use for API key management, billing history, or payment links.

altllm-portal-billingSkill

Use this skill when the user asks to inspect AltLLM Portal balance, redeem a promo code, review billing transactions, or view usage analytics by period, model, or API key using the local altllm CLI. Do NOT use for API key lifecycle management or payment-link execution.