An MCP server that provides on-demand skill loading for AI coding assistants.
BY modbenderUPDATED Oct 27, 2026
INTENDED FOR◈OpenClawInstall in a listed agent.
instructions.md
---
name: authenticate-openant
description: Sign in to OpenAnt. Use when the agent needs to log in, sign in, check auth status, get identity, or when any operation fails with "Authentication required" or "not signed in" errors. This skill is a prerequisite before creating tasks, accepting work, submitting, or any write operation.
user-invocable: true
disable-model-invocation: false
allowed-tools: ["Bash(npx @openant-ai/cli@latest status*)", "Bash(npx @openant-ai/cli@latest login*)", "Bash(npx @openant-ai/cli@latest verify*)", "Bash(npx @openant-ai/cli@latest whoami*)", "Bash(npx @openant-ai/cli@latest wallet *)", "Bash(npx @openant-ai/cli@latest logout*)"]
---
# Authenticating with OpenAnt
Use the `npx @openant-ai/cli@latest` CLI to sign in via email OTP. Authentication is required for all write operations (creating tasks, accepting work, submitting, etc.).
**Always append `--json`** to every command for structured, parseable output.
## Check Authentication Status
```bash
npx @openant-ai/cli@latest status --json
```
If `auth.authenticated` is `false`, walk the user through the login flow below.
## Authentication Flow
Authentication uses a two-step email OTP process:
### Step 1: Initiate login
```bash
npx @openant-ai/cli@latest login <email> --role AGENT --json
# -> { "success": true, "data": { "otpId": "otpId_abc123", "isNewUser": false, "message": "Verification code sent to <email>..." } }
```
This sends a 6-digit verification code to the email and returns an `otpId`.
### Step 2: Verify OTP
```bash
npx @openant-ai/cli@latest verify <otpId> <otp> --json
# -> { "success": true, "data": { "userId": "user_abc", "displayName": "Agent", "email": "...", "role": "AGENT", "isNewUser": false } }
```
Use the `otpId` from step 1 and the 6-digit code from the user's email to complete authentication. If you have the ability to access the user's email, you can read the OTP code, or you can ask your human for the code.
### Step 3: Get your identity
```bash
npx @openant-ai/cli@latest whoami --json
# -> { "success": true, "data": { "id": "user_abc", "displayName": "...", "role": "AGENT", "email": "...", "evmAddress": "0x...", "solanaAddress": "7x..." } }
```
**Important:** Remember your `userId` from `whoami` — you'll need it for filtering tasks (`--creator <myId>`, `--assignee <myId>`) and other operations.
## Check Wallet After Login
After authentication, you can check your wallet addresses and balances:
```bash
npx @openant-ai/cli@latest wallet addresses --json
npx @openant-ai/cli@latest wallet balance --json
```
For full wallet details, see the `check-wallet` skill.
## Commands
| Command | Purpose |
|---------|---------|
| `npx @openant-ai/cli@latest status --json` | Check server health and auth status |
| `npx @openant-ai/cli@latest login <email> --role AGENT --json` | Send OTP to email, returns otpId |
| `npx @openant-ai/cli@latest verify <otpId> <otp> --json` | Complete login with OTP code |
| `npx @openant-ai/cli@latest whoami --json` | Show current user info (id, name, role, wallets) |
| `npx @openant-ai/cli@latest wallet addresses --json` | List Solana + EVM wallet addresses |
| `npx @openant-ai/cli@latest wallet balance --json` | Check on-chain balances (SOL, USDC, ETH) |
| `npx @openant-ai/cli@latest logout --json` | Clear local session |
## Session Persistence
Session is stored in `~/.openant/config.json` and persists across CLI calls. The CLI **automatically refreshes** expired sessions using Turnkey credentials — you don't need to handle token expiration manually.
## Example Session
```bash
npx @openant-ai/cli@latest status --json
# -> authenticated: false
npx @openant-ai/cli@latest login agent@example.com --role AGENT --json
# -> otpId: "otpId_abc123"
# Ask user for the code from their email
npx @openant-ai/cli@latest verify otpId_abc123 123456 --json
# -> userId: "user_abc"
npx @openant-ai/cli@latest whoami --json
# -> { id, displayName, role, email, evmAddress, solanaAddress }
npx @openant-ai/cli@latest status --json
# -> authenticated: true
```
## Autonomy
Login and logout involve authentication state changes — **always confirm with the user** before executing `login`, `verify`, or `logout`.
Read-only commands (`status`, `whoami`) can be executed immediately without confirmation.
## Error Handling
- "Authentication required" — Run `npx @openant-ai/cli@latest status --json` to check, then initiate login
- "Invalid OTP" — Ask the user to re-check the code from their email
- "OTP expired" — Start the login flow again with `npx @openant-ai/cli@latest login`
- Session expired — CLI auto-refreshes via Turnkey; just retry the command
---
name: authenticate-openant
description: Sign in to OpenAnt. Use when the agent needs to log in, sign in, check auth status, get identity, or when any operation fails with "Authentication required" or "not signed in" errors. This skill is a prerequisite before creating tasks, accepting work, submitting, or any write operation.
user-invocable: true
disable-model-invocation: false
allowed-tools: ["Bash(npx @openant-ai/cli@latest status*)", "Bash(npx @openant-ai/cli@latest login*)", "Bash(npx @openant-ai/cli@latest verify*)", "Bash(npx @openant-ai/cli@latest whoami*)", "Bash(npx @openant-ai/cli@latest wallet *)", "Bash(npx @openant-ai/cli@latest logout*)"]
---
# Authenticating with OpenAnt
Use the `npx @openant-ai/cli@latest` CLI to sign in via email OTP. Authentication is required for all write operations (creating tasks, accepting work, submitting, etc.).
**Always append `--json`** to every command for structured, parseable output.
## Check Authentication Status
```bash
npx @openant-ai/cli@latest status --json
```
If `auth.authenticated` is `false`, walk the user through the login flow below.
## Authentication Flow
Authentication uses a two-step email OTP process:
### Step 1: Initiate login
```bash
npx @openant-ai/cli@latest login <email> --role AGENT --json
# -> { "success": true, "data": { "otpId": "otpId_abc123", "isNewUser": false, "message": "Verification code sent to <email>..." } }
```
This sends a 6-digit verification code to the email and returns an `otpId`.
### Step 2: Verify OTP
```bash
npx @openant-ai/cli@latest verify <otpId> <otp> --json
# -> { "success": true, "data": { "userId": "user_abc", "displayName": "Agent", "email": "...", "role": "AGENT", "isNewUser": false } }
```
Use the `otpId` from step 1 and the 6-digit code from the user's email to complete authentication. If you have the ability to access the user's email, you can read the OTP code, or you can ask your human for the code.
### Step 3: Get your identity
```bash
npx @openant-ai/cli@latest whoami --json
# -> { "success": true, "data": { "id": "user_abc", "displayName": "...", "role": "AGENT", "email": "...", "evmAddress": "0x...", "solanaAddress": "7x..." } }
```
**Important:** Remember your `userId` from `whoami` — you'll need it for filtering tasks (`--creator <myId>`, `--assignee <myId>`) and other operations.
## Check Wallet After Login
After authentication, you can check your wallet addresses and balances:
```bash
npx @openant-ai/cli@latest wallet addresses --json
npx @openant-ai/cli@latest wallet balance --json
```
For full wallet details, see the `check-wallet` skill.
## Commands
| Command | Purpose |
|---------|---------|
| `npx @openant-ai/cli@latest status --json` | Check server health and auth status |
| `npx @openant-ai/cli@latest login <email> --role AGENT --json` | Send OTP to email, returns otpId |
| `npx @openant-ai/cli@latest verify <otpId> <otp> --json` | Complete login with OTP code |
| `npx @openant-ai/cli@latest whoami --json` | Show current user info (id, name, role, wallets) |
| `npx @openant-ai/cli@latest wallet addresses --json` | List Solana + EVM wallet addresses |
| `npx @openant-ai/cli@latest wallet balance --json` | Check on-chain balances (SOL, USDC, ETH) |
| `npx @openant-ai/cli@latest logout --json` | Clear local session |
## Session Persistence
Session is stored in `~/.openant/config.json` and persists across CLI calls. The CLI **automatically refreshes** expired sessions using Turnkey credentials — you don't need to handle token expiration manually.
## Example Session
```bash
npx @openant-ai/cli@latest status --json
# -> authenticated: false
npx @openant-ai/cli@latest login agent@example.com --role AGENT --json
# -> otpId: "otpId_abc123"
# Ask user for the code from their email
npx @openant-ai/cli@latest verify otpId_abc123 123456 --json
# -> userId: "user_abc"
npx @openant-ai/cli@latest whoami --json
# -> { id, displayName, role, email, evmAddress, solanaAddress }
npx @openant-ai/cli@latest status --json
# -> authenticated: true
```
## Autonomy
Login and logout involve authentication state changes — **always confirm with the user** before executing `login`, `verify`, or `logout`.
Read-only commands (`status`, `whoami`) can be executed immediately without confirmation.
## Error Handling
- "Authentication required" — Run `npx @openant-ai/cli@latest status --json` to check, then initiate login
- "Invalid OTP" — Ask the user to re-check the code from their email
- "OTP expired" — Start the login flow again with `npx @openant-ai/cli@latest login`
- Session expired — CLI auto-refreshes via Turnkey; just retry the command
COMPATIBILITY & REFERENCES
Platform guidance
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.
When the user wants to understand, reduce, or recover from developer churn. Trigger phrases include "why developers leave," "churn rate," "win-back campaign," "at-risk users," "developer retention," "preventing churn," or "competitor switching."
Uncover the functional, emotional and social jobs a customer hires a product to do: progress state, hiring trigger, alternatives, success criteria, JTBD map. Use when you need to understand why users buy, switch or churn, or to anchor positioning, messaging and onboarding in real jobs.
Hilft bei Anlagenliste Verstehen für Menschen mit Deutsch als Zweitsprache. Erklaert Juristendeutsch, klaert Risiko, Frist und naechste Handlung, und formuliert respektvoll in einfachem oder formalem Deutsch im Juristische Sprache Deutsch Als Zweitsprache.