SKILL.md
Onchain OS — How to Play (Entry Router)
The first-time / "I don't know what to do" entry point. Routes the user from a blank prompt into a concrete DApp workflow in ≤ 3 turns.
Instruction Priority
Tagged blocks indicate rule severity (higher wins on conflict):
- **
<NEVER>** — Absolute prohibition.
- **
<MUST>** — Mandatory step. Skipping breaks the flow.
- **
<SHOULD>** — Best practice.
Pre-flight Checks
Trigger Criteria
- "how do I use this / what can I do / what is this / getting started"
- "I just installed it, now what?"
- "tutorial / onboarding / first time / where do I start"
Negative examples (use the matching skill instead, not this one):
- "check my balance" →
okx-agentic-wallet/okx-wallet-portfolio
- "swap 0.1 ETH for USDC" →
okx-dex-swap
- "what's the price of BTC" →
okx-dex-market
- "login" alone →
okx-agentic-wallet(butloginas a reply to the welcome banner is handled inside this skill — see Login Method Choice)
- "search for PEPE token" →
okx-dex-token
Authoring Pattern — Free Zone vs Fixed Zone
Most user-facing copy in this flow is split into two parts:
- Free zone — the agent answers the user's actual question or acknowledgement first, in 1–5 sentences, contextually woven. No fixed copy. The user shouldn't feel like they hit a script.
- Fixed zone — the canonical English template block (welcome banner, login options, API Key heads-up). At runtime:
- Render all natural-language prose in the user's language.
- **Quoted reply words inside prose (e.g.
"login") MUST translate with their sentence.** Leaving an English quoted word inside otherwise-translated Chinese / Japanese / etc. prose is a translation bug — the quotes do NOT make the word a literal trigger.
- Keep literal: emojis,
{placeholders},1–N, code identifiers / commands / URLs, markdown structure.
This applies to: Welcome Banner, Login Method Choice, and API Key Login Step 1 heads-up.
Status Check
onchainos wallet status
loggedIn: false→ render the logged-out Welcome Banner.
loggedIn: true→ render the logged-in Welcome Banner.
Welcome Banner
Login Method Choice
Reached when the user asks to log in (either by replying login to the logged-out banner, or by picking a workflow option from the welcome menu while logged out).
Free zone (1–5 sentences, agent's own words): answer whatever the user actually asked / acknowledged. If they came from a workflow pick, briefly explain that login unlocks that workflow. Then segue naturally into the fixed-zone choice below.
Fixed zone — render the template below in the user's language:
Welcome to Agentic Wallet — the Onchain OS wallet built for agents. Pick a login method:
1. 📧 Email (recommended — 30 seconds)
2. 🔑 API Key (already an OKX developer? Fastest path)
Reply 1 or 2 ↓
If the user replies 1 or "email" → Email Login.
If the user replies 2 or "API Key" → API Key Login.
Email Login
Handled by okx-agentic-wallet skill's Authentication section. Steps:
- Ask for email →
onchainos wallet login <email> --locale <locale>
- Ask for OTP code →
onchainos wallet verify <code>
- On success → Post-login routing below.
API Key Login
Two steps total: (1) one-time heads-up so the user knows what env vars to set and where to get them, (2) run onchainos wallet login once they confirm.
Step 1 — Heads-up (one-shot, fixed zone)
Free zone (1–5 sentences): if the user has any other question, answer it first. Then segue naturally into the heads-up.
Fixed zone — render the template below in the user's language:
You'll need to set three API Key environment variables before logging in:
1. `OKX_API_KEY` — API Key
2. `OKX_SECRET_KEY` — Secret Key
3. `OKX_PASSPHRASE` — Passphrase
You can find these at https://web3.okx.com/onchainos/dev-portal.
**Attention ⚠️:** Do not paste credentials into the chat — follow the dev-portal instructions and set them locally.
Then stop and wait for the user to confirm they're ready (e.g. "done / ok / ready").
Step 2 — Login
Once the user confirms, run:
onchainos wallet login
On success → Post-login routing below. On login failure, surface the error and ask the user to verify their env vars (do NOT re-show the heads-up — they already saw it).
Post-login routing
After login completes successfully:
- If the user came from picking a workflow pick while logged out: automatically load the corresponding workflow file (
~/.onchainos/workflows/<file>.md) and follow it. Do NOT re-render the welcome banner.
- If the user came from replying
login(or equivalent) to the logged-out banner: render the logged-in Welcome Banner so they see their addresses + balance.
Free-form fallback
If the user types something other than a numbered pick or login, answer in the free zone, then route to the matching skill / workflow:
Intent
Route to
meme sniping / pump.fun / new launches
okx-dex-trenches
follow smart money / KOL / whale
okx-dex-signal (or load smart-money-signals.md)
bridge / cross-chain / move tokens between chains
okx-dex-bridge
yield / earn / stake / DeFi
okx-defi-invest
is this token safe / approvals
okx-security
swap / buy / sell
okx-dex-swap
my holdings / portfolio
okx-wallet-portfolio
trading competition / join contest / competition rank
okx-growth-competition
login (free-form, not as a banner reply)
this skill's Login Method Choice
named DApp + action verb (Aave / Hyperliquid / etc.)
okx-dapp-discovery
Acceptance Criteria
- Banner variant matches auth state —
loggedIn: falserenders the logged-out variant (no addresses, with "login" hint);loggedIn: truerenders the logged-in variant (addresses + balance, no hint).
- Skill picks load without login gate — 🔥 / 💰 load even when logged out; each loaded skill handles its own auth.
- Workflow picks gate on login — when logged out, 🐋 / 🆕 / ☕ route through Login Method Choice first, then auto-resume the workflow. User should not have to re-state their pick.
- Turn budget — ≤ 3 turns end-to-end for a new user; ≤ 2 turns for a returning user picking a workflow + login.
Notes / Non-obvious
- Polymarket plugin is not pre-installed. Pick 🔥 routes through
okx-dapp-discovery, which handles plugin install + load. Don't try to loadweb3-polymarketdirectly.
- Workflow files are runtime resources — at install time they live at
~/.onchainos/workflows/; in this repo's source they're underworkflows/.