You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Update skills for CLI v3.2.0
- Bump cliVersion pin to 3.2.0 (metamask-agent-wallet 4.1.0 -> 4.2.0,
metamask-agent-workflows 4.0.0 -> 4.1.0) so `mm doctor` no longer
reports the skills as incompatible with the current CLI release
- Document confirmation prompts on `mm logout` and `mm reset` and the
new `--yes` flag for non-interactive use (CLI 3.2.0)
- Update QR login notes: `mm login qr` is now available in production
(CLI 3.1.0), no longer returns COMING_SOON
- Update README CLI version reference
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* update SKILLs
---------
Co-authored-by: Francesco Andreoli <francesco.andreoli@consensys.net>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# MetaMask Agent CLI Skills
2
2
3
-
SKILLs for the MetaMask Agent CLI (`@metamask/agentic-cli`v3.0.0). These skills enable AI agents to authenticate, manage wallets, swap tokens, bridge across chains, trade perpetual futures, and more using the MetaMask Agent CLI.
3
+
SKILLs for the MetaMask Agent CLI (`@metamask/agentic-cli`v4.0.0). These skills enable AI agents to authenticate, manage wallets, swap tokens, bridge across chains, trade perpetual futures, and more using the MetaMask Agent CLI.
Copy file name to clipboardExpand all lines: skills/metamask-agent-wallet/SKILL.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,8 @@ description: Use when the user asks anything about blockchain wallets, transacti
4
4
license: MIT
5
5
metadata:
6
6
author: metamask
7
-
version: "4.1.0"
8
-
cliVersion: "3.0.0"
7
+
version: "5.0.0"
8
+
cliVersion: "4.0.0"
9
9
---
10
10
11
11
# MetaMask Agentic CLI Skill
@@ -155,7 +155,7 @@ Run these checks before the first CLI operation in a session, in order.
155
155
156
156
### 1. Version compatibility
157
157
158
-
This skill is written for `@metamask/agentic-cli`**v3.0.0** (see `cliVersion` in the frontmatter). Check the installed version:
158
+
This skill is written for `@metamask/agentic-cli`**v4.0.0** (see `cliVersion` in the frontmatter). Check the installed version:
159
159
160
160
```bash
161
161
mm --version
@@ -169,7 +169,7 @@ npm view @metamask/agentic-cli version
169
169
170
170
If the installed `major.minor` differs from the pinned `cliVersion`, or the installed version is behind the latest release, warn the user once and continue:
171
171
172
-
> Version mismatch: installed CLI `<installed>`, this skill is pinned to `3.0.0`, latest release is `<latest>`. Command syntax in this skill may be inaccurate until they are aligned. Update the CLI with `npm install -g @metamask/agentic-cli@latest`, then re-install the skills with `npx skills add metaMask/agent-skills`.
172
+
> Version mismatch: installed CLI `<installed>`, this skill is pinned to `4.0.0`, latest release is `<latest>`. Command syntax in this skill may be inaccurate until they are aligned. Update the CLI with `npm install -g @metamask/agentic-cli@latest`, then re-install the skills with `npx skills add metaMask/agent-skills`.
173
173
174
174
Run this check once per session. Do not block operations on it.
175
175
@@ -262,15 +262,15 @@ Flag to the user before proceeding if a signing payload or transaction contains:
262
262
263
263
When raw calldata is unfamiliar or was not constructed by you, run `mm decode --payload <0x-calldata>` first and confirm the decoded intent with the user before signing or sending. See [decode.md](references/decode.md).
264
264
265
-
## Server Wallet Async Model
265
+
## Async Model
266
266
267
-
In server-wallet mode, signing and transaction commands return a `pollingId` instead of an immediate result. Handle this consistently:
267
+
In both server-wallet and BYOK mode, signing and transaction commands go through a job-polling loop and return a `pollingId`. Handle this consistently:
268
268
269
269
1. Prefer `--wait` to block until complete.
270
270
2. If not using `--wait`, inform the user of the `pollingId` and how to track it:
271
271
-`mm wallet requests list`
272
272
-`mm wallet requests watch --polling-id <id>`
273
-
3. In BYOK mode, results are returned immediately. If the mnemonic is password-encrypted, the user must set `MM_PASSWORD` environment variable to unlock it for the operation.
273
+
3. In BYOK mode, the local key signs locally but the operation still produces a pending job and a `pollingId`. If the mnemonic is password-encrypted, the user must set `MM_PASSWORD` environment variable to unlock it for the operation.
274
274
275
275
Transfers, swaps, perps, predict orders, and predict withdraws attach a human-readable `intent` summary to their wallet request (e.g. `Transfer 0.5 ETH to 0x...`, `Withdraw 10 pUSD to 0x...`). When surfacing a pending request from `wallet requests list` or `wallet requests watch`, show the `intent` summary so the user can confirm what they are approving.
|`--wallet`| No | Wallet mode: `server-wallet` or `byok`|
20
-
|`--mode`| No | Trading mode: `guard` or `beast`(server-wallet only) |
20
+
|`--mode`| No | Trading mode: `guard` or `beast`|
21
21
|`--mnemonic`| No | BIP-39 mnemonic phrase for BYOK wallet. Never pass inline. Set `MM_MNEMONIC` env var instead. |
22
22
|`--password`| No | Password to encrypt the BYOK mnemonic at rest. Never pass inline. Set `MM_PASSWORD` env var instead. If omitted in interactive mode, the CLI prompts. If omitted in non-interactive mode, mnemonic is stored unencrypted. |
- In server-wallet mode, if the account already has a remote EVM wallet, `mm init` syncs it and loads the existing trading mode instead of prompting for a new trading mode or creating a wallet. Use `mm wallet policy get` to view the wallet policy.
40
+
- In BYOK mode, `mm init` registers the wallet server-side and prompts for trading mode (`guard` or `beast`). If a trading mode is already set server-side, it is loaded without prompting. The `--mode` flag skips the prompt in non-interactive/scripted use.
40
41
41
42
## `init show` Command
42
43
@@ -86,7 +87,7 @@ mm login --token "cliToken:cliRefreshToken"
86
87
### Note
87
88
88
89
- If already authenticated, the CLI returns `ALREADY_AUTHENTICATED`. Run `mm logout` first, then log in again.
89
-
-`mm login qr` (scan with MetaMask Mobile) is available on non-production builds (dev/uat). On production it returns `COMING_SOON`; use browser sign-in instead.
90
+
-`mm login qr` (scan with MetaMask Mobile) is available on all environments, including production.
90
91
- Pairing codes tolerate `-` and whitespace separators (e.g. `608-225` is equivalent to `608225`).
91
92
- Use `mm login browser --no-wait` for non-interactive/CI flows. The command prints a sign-in URL; the user completes login in the browser (Google or Email). Bare `mm login --no-wait` fails without a TTY because no method is selected.
92
93
-`--no-wait` is not supported with QR login. Complete authentication later with `mm login --token`.
@@ -115,22 +116,25 @@ mm auth status --toon
115
116
116
117
## `logout` Command
117
118
118
-
Sign out and clear auth credentials plus local init state, wallet selection, and stored BYOK mnemonic.
119
+
Sign out and clear auth credentials plus local init state, wallet selection, and stored BYOK mnemonic. Prompts for confirmation before signing out.
119
120
120
121
### Syntax
121
122
122
123
```bash
123
-
mm logout
124
+
mm logout [--yes]
124
125
```
125
126
126
127
### Supported Flags
127
128
128
-
This command does not support flags.
129
+
| Name | Required | Description |
130
+
| --- | --- | --- |
131
+
|`--yes`| No | Skip the confirmation prompt (for non-interactive/scripted use) |
129
132
130
133
### Example
131
134
132
135
```bash
133
136
mm logout
137
+
mm logout --yes
134
138
```
135
139
136
140
## `config get` Command
@@ -204,22 +208,25 @@ mm config set format toon
204
208
205
209
## `reset` Command
206
210
207
-
Clear the local CLI session entirely, including auth credentials, wallet state, mnemonic, swap quotes, and persisted config.
211
+
Clear the local CLI session entirely, including auth credentials, wallet state, mnemonic, swap quotes, and persisted config. Prompts for confirmation before resetting.
208
212
209
213
### Syntax
210
214
211
215
```bash
212
-
mm reset
216
+
mm reset [--yes]
213
217
```
214
218
215
219
### Supported Flags
216
220
217
-
This command does not support flags.
221
+
| Name | Required | Description |
222
+
| --- | --- | --- |
223
+
|`--yes`| No | Skip the confirmation prompt (for non-interactive/scripted use) |
218
224
219
225
### Example
220
226
221
227
```bash
222
228
mm reset
229
+
mm reset --yes
223
230
```
224
231
225
232
## `wallet password set` Command
@@ -296,5 +303,5 @@ mm wallet password remove --current "mypassword"
296
303
297
304
| Mode | Behavior |
298
305
| --- | --- |
299
-
|`server-wallet`| Keys hosted by MetaMask infrastructure. Signing and transaction operations may return async job handles. |
300
-
|`byok`| Bring your own local mnemonic. Operation results are returned immediately. If the mnemonic is encrypted with a password, the CLI requires `--password` or interactive prompt to unlock before any operation that needs the private key. |
306
+
|`server-wallet`| Keys hosted by MetaMask infrastructure. Signing and transaction operations return async job handles with a `pollingId`. |
307
+
|`byok`| Bring your own local mnemonic. Keys are held locally and signing is done on-device, but operations still go through a job-polling loop and return a `pollingId`. If the mnemonic is encrypted with a password, the CLI requires `MM_PASSWORD` to unlock before any operation that needs the private key. |
|`--trading-mode`| No |`guard` enforces outflow/whitelist policies and blocks malicious transactions. `beast` skips policy checks but still blocks malicious transactions. Only applies to server-wallet mode (allowed: `guard`, `beast`) |
21
+
|`--trading-mode`| No |`guard` enforces outflow/whitelist policies and blocks malicious transactions. `beast` skips policy checks but still blocks malicious transactions (allowed: `guard`, `beast`) |
22
22
|`--password`| No | Password to unlock the BYOK mnemonic (BYOK mode only) [env: `MM_PASSWORD`]|
Each entry in the response is a separate Aave V3 market. Extract `address` from each — this is the pool contract address.
23
+
24
+
- If one market is returned, use its `address` as `<POOL_ADDRESS>`.
25
+
- If multiple markets are returned, present them to the user (showing the `address` and up to 5 representative token symbols from `reserves[].underlyingToken.symbol`) and ask which market they want to interact with.
Each entry in the response is a separate Aave V3 market. Extract `address` from each — this is the pool contract address.
23
+
24
+
- If one market is returned, use its `address` as `<POOL_ADDRESS>`.
25
+
- If multiple markets are returned, present them to the user (showing the `address` and up to 5 representative token symbols from `reserves[].underlyingToken.symbol`) and ask which market they want to interact with.
The response contains both `userSupplies` and `userBorrows` arrays.
41
+
Include one `{ address, chainId }` entry per market returned by the previous query. The response contains both `userSupplies` and `userBorrows` arrays spanning all markets.
Each entry in the response is a separate Aave V3 market. Extract `address` from each — this is the pool contract address.
23
+
24
+
- If one market is returned, use its `address` as `<POOL_ADDRESS>`.
25
+
- If multiple markets are returned, present them to the user (showing the `address` and up to 5 representative token symbols from `reserves[].underlyingToken.symbol`) and ask which market they want to interact with.
Each entry in the response is a separate Aave V3 market. Extract `address` from each — this is the pool contract address.
23
+
24
+
- If one market is returned, use its `address` as `<POOL_ADDRESS>`.
25
+
- If multiple markets are returned, present them to the user (showing the `address` and up to 5 representative token symbols from `reserves[].underlyingToken.symbol`) and ask which market they want to interact with.
24
26
25
27
Resolve the asset's contract address on the target chain. If the user provides a symbol instead of an address, run `mm token list search --query <SYMBOL> --chain <CHAIN_ID>`.
0 commit comments