xno-skills 3.1.3 → 3.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,7 +3,6 @@
3
3
  [![npm version](https://img.shields.io/npm/v/xno-skills.svg)](https://www.npmjs.com/package/xno-skills)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/)
6
- [![smithery badge](https://smithery.ai/badge/casualsecurityinc/xno-skills)](https://smithery.ai/servers/casualsecurityinc/xno-skills)
7
6
 
8
7
  A CLI, MCP server, and AI skills for [Nano](https://nano.org/) (XNO). Built on top of [Open Wallet Standard (OWS)](https://github.com/open-wallet-standard/core) for secure key custody.
9
8
 
@@ -11,7 +10,10 @@ A CLI, MCP server, and AI skills for [Nano](https://nano.org/) (XNO). Built on t
11
10
 
12
11
  ## Agent Skills
13
12
 
14
- Built-in skill for Personal AI Agents (OpenClaw etc.) and humans running AI coding assistants (Claude Code, Cursor, etc.) alike:
13
+ [![smithery badge](https://smithery.ai/badge/casualsecurityinc/xno-skills)](https://smithery.ai/servers/casualsecurityinc/xno-skills)
14
+ [![skills.sh](https://skills.sh/b/casualsecurityinc/xno-skills)](https://skills.sh/casualsecurityinc/xno-skills)
15
+
16
+ Built-in skill for Personal AI Agents (OpenClaw etc.) and humans with AI Coding Assistants (Claude Code, Cursor, etc.) alike:
15
17
 
16
18
  ```bash
17
19
  npx skills add -g CasualSecurityInc/xno-skills
@@ -32,7 +34,7 @@ Available skills:
32
34
  ## CLI
33
35
 
34
36
  ```bash
35
- npm install -g xno-skills@3.1.3
37
+ npm install -g xno-skills@3.1.4
36
38
  xno-skills --help
37
39
  ```
38
40
 
@@ -91,7 +93,7 @@ Exposes Nano wallet functions as tools for AI agents (Claude Desktop, Cursor, Co
91
93
  "mcpServers": {
92
94
  "nano": {
93
95
  "command": "npx",
94
- "args": ["-y", "-p", "xno-skills@3.1.3", "xno-mcp"]
96
+ "args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
95
97
  }
96
98
  }
97
99
  }
@@ -107,7 +109,7 @@ Exposes Nano wallet functions as tools for AI agents (Claude Desktop, Cursor, Co
107
109
  codex mcp add nano \
108
110
  -c sandbox_mode="danger-full-access" \
109
111
  -c 'sandbox_permissions=["network-access"]' \
110
- -- npx -y -p xno-skills@3.1.3 xno-mcp
112
+ -- npx -y -p xno-skills@3.1.4 xno-mcp
111
113
  ```
112
114
  </details>
113
115
 
@@ -119,7 +121,7 @@ codex mcp add nano \
119
121
  "mcpServers": {
120
122
  "nano": {
121
123
  "command": "npx",
122
- "args": ["-y", "-p", "xno-skills@3.1.3", "xno-mcp"]
124
+ "args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
123
125
  }
124
126
  }
125
127
  }
@@ -135,7 +137,7 @@ codex mcp add nano \
135
137
  "mcp": {
136
138
  "nano": {
137
139
  "type": "local",
138
- "command": ["npx", "-y", "-p", "xno-skills@3.1.3", "xno-mcp"],
140
+ "command": ["npx", "-y", "-p", "xno-skills@3.1.4", "xno-mcp"],
139
141
  "enabled": true
140
142
  }
141
143
  }
@@ -151,7 +153,7 @@ codex mcp add nano \
151
153
  "mcpServers": {
152
154
  "nano": {
153
155
  "command": "npx",
154
- "args": ["-y", "-p", "xno-skills@3.1.3", "xno-mcp"]
156
+ "args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
155
157
  }
156
158
  }
157
159
  }
@@ -166,7 +168,7 @@ codex mcp add nano \
166
168
  "mcpServers": {
167
169
  "nano": {
168
170
  "command": "npx",
169
- "args": ["-y", "-p", "xno-skills@3.1.3", "xno-mcp"]
171
+ "args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
170
172
  }
171
173
  }
172
174
  }
@@ -182,7 +184,7 @@ codex mcp add nano \
182
184
  "nano": {
183
185
  "type": "stdio",
184
186
  "command": "npx",
185
- "args": ["-y", "-p", "xno-skills@3.1.3", "xno-mcp"]
187
+ "args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
186
188
  }
187
189
  }
188
190
  }
@@ -1,6 +1,6 @@
1
1
  export declare const pkg: {
2
2
  readonly name: "xno-skills";
3
- readonly version: "3.1.3";
3
+ readonly version: "3.1.4";
4
4
  };
5
- export declare const version: "3.1.3";
5
+ export declare const version: "3.1.4";
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -2,7 +2,7 @@
2
2
  // Keep this in sync by running "npm run build" (prebuild hook).
3
3
  export const pkg = {
4
4
  name: "xno-skills",
5
- version: "3.1.3"
5
+ version: "3.1.4"
6
6
  };
7
7
  export const version = pkg.version;
8
8
  //# sourceMappingURL=version.js.map
@@ -1,27 +1,27 @@
1
1
  {
2
2
  "requests": [
3
3
  {
4
- "id": "mozz60g7gcuhr4",
4
+ "id": "mp0pmsvbtkgp98",
5
5
  "owsWalletId": "A",
6
6
  "accountIndex": 0,
7
7
  "address": "nano_3i1aq1cchnmbn9x5rsbap8b15akfh7wj7pwskuzi7ahz8oq6cobd99d4r3b7",
8
8
  "amountRaw": "10000000000000000000000000000",
9
9
  "reason": "explicit wallet test",
10
10
  "status": "pending",
11
- "createdAt": "2026-05-10T16:16:09.415Z",
12
- "updatedAt": "2026-05-10T16:16:09.415Z",
11
+ "createdAt": "2026-05-11T04:37:02.759Z",
12
+ "updatedAt": "2026-05-11T04:37:02.759Z",
13
13
  "receivedBlocks": []
14
14
  },
15
15
  {
16
- "id": "mozz60gz5hqxw4",
16
+ "id": "mp0pmsw9617obu",
17
17
  "owsWalletId": "A",
18
18
  "accountIndex": 0,
19
19
  "address": "nano_3i1aq1cchnmbn9x5rsbap8b15akfh7wj7pwskuzi7ahz8oq6cobd99d4r3b7",
20
20
  "amountRaw": "500000000000000000000000000000",
21
21
  "reason": "status check test",
22
22
  "status": "pending",
23
- "createdAt": "2026-05-10T16:16:09.443Z",
24
- "updatedAt": "2026-05-10T16:16:09.443Z",
23
+ "createdAt": "2026-05-11T04:37:02.793Z",
24
+ "updatedAt": "2026-05-11T04:37:02.793Z",
25
25
  "receivedBlocks": []
26
26
  }
27
27
  ]
@@ -1,6 +1,6 @@
1
1
  export declare const pkg: {
2
2
  readonly name: "xno-skills";
3
- readonly version: "3.1.3";
3
+ readonly version: "3.1.4";
4
4
  };
5
- export declare const version: "3.1.3";
5
+ export declare const version: "3.1.4";
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -2,7 +2,7 @@
2
2
  // Keep this in sync by running "npm run build" (prebuild hook).
3
3
  export const pkg = {
4
4
  name: "xno-skills",
5
- version: "3.1.3"
5
+ version: "3.1.4"
6
6
  };
7
7
  export const version = pkg.version;
8
8
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "xno-skills",
3
- "version": "3.1.3",
4
- "description": "XNO CLI - Interact with Nano (XNO)",
3
+ "version": "3.1.4",
4
+ "description": "The Nano (XNO) toolkit for AI agents and developers. Send, receive, check balances, and manage payment requests without ever handling private keys.",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
7
7
  "module": "./dist/esm/index.js",
@@ -73,7 +73,7 @@ When the environment provides `xno-mcp` tools (`wallet.list`, `wallet.send`, `wa
73
73
 
74
74
  If the client supports MCP, set it up as a "stdio" type MCP server:
75
75
 
76
- npx -y -p xno-skills@3.1.3 -- mcp
76
+ npx -y -p xno-skills@3.1.4 -- mcp
77
77
 
78
78
  MCP is the primary execution path because tools, schemas, and results are structured for the client. Use the included CLI script (`xno-skills`) only as a fallback when MCP is unavailable or the client cannot attach MCP servers. MCP and the CLI target EXACTLY the same underlying code paths — two access paths, not two different products.
79
79
 
@@ -82,16 +82,16 @@ MCP is the primary execution path because tools, schemas, and results are struct
82
82
  If `xno-mcp` tools are not available, or the user explicitly asks for CLI usage, fall back to the `xno-skills` CLI in this priority order:
83
83
 
84
84
  ```
85
- 1. bunx -y xno-skills@3.1.3 <command>
86
- 2. pnpm dlx xno-skills@3.1.3 <command>
87
- 3. npx -y xno-skills@3.1.3 <command>
85
+ 1. bunx -y xno-skills@3.1.4 <command>
86
+ 2. pnpm dlx xno-skills@3.1.4 <command>
87
+ 3. npx -y xno-skills@3.1.4 <command>
88
88
  ```
89
89
 
90
90
  Do **not** assume `xno-skills` is installed globally. Always use one of the above forms with `@latest` to get critical bugfixes and to prevent interactive prompts from freezing.
91
91
 
92
92
  Before guessing a subcommand, run `--help`:
93
93
  ```bash
94
- bunx -y xno-skills@3.1.3 --help
94
+ bunx -y xno-skills@3.1.4 --help
95
95
  ```
96
96
 
97
97
  ### 3. Wallet lifecycle → `ows` skill only
@@ -115,7 +115,7 @@ For wallet **create, import, rename, or delete**: delegate to the `ows` skill. D
115
115
  - **Proactivity on pending funds**: If you see pending funds during any balance check, call `wallet.receive` immediately. Do not wait for the user to ask.
116
116
  - **Persistence on "Account not found"**: This is normal for a brand-new, unopened account. Continue — `wallet.receive` will automatically build an open block (sets `previous` to zeros), sign it via OWS, generate PoW, and broadcast. Never conclude you are unauthorized or that OWS cannot sign Nano blocks.
117
117
  - **No mnemonic exports**: Never call `ows wallet export` or suggest exporting to a third-party wallet unless the user explicitly commands it.
118
- - **Supply chain**: Only use `xno-skills@3.1.3` and `@open-wallet-standard/core`. No other npm packages.
118
+ - **Supply chain**: Only use `xno-skills@3.1.4` and `@open-wallet-standard/core`. No other npm packages.
119
119
  - **Stop-loss**: If you have made 5 tool calls without completing the operation, stop and report what you tried, what failed, and ask for guidance. Hard limits: max 3 retries of the same failing tool; max 2 `config.set` RPC endpoint switches.
120
120
 
121
121
  ---
@@ -146,8 +146,8 @@ To **create** a new wallet, delegate to the `ows` skill. Then return here for al
146
146
 
147
147
  **Via CLI (required flags only):**
148
148
  ```bash
149
- bunx -y xno-skills@3.1.3 balance --wallet "my-wallet"
150
- bunx -y xno-skills@3.1.3 rpc account-balance <address>
149
+ bunx -y xno-skills@3.1.4 balance --wallet "my-wallet"
150
+ bunx -y xno-skills@3.1.4 rpc account-balance <address>
151
151
  ```
152
152
 
153
153
  Full options: [balance](references/balance.md), [rpc_account-balance](references/rpc_account-balance.md)
@@ -177,7 +177,7 @@ A Nano transfer shows as **pending** until the recipient publishes a receive blo
177
177
 
178
178
  **Via CLI (required flags only):**
179
179
  ```bash
180
- bunx -y xno-skills@3.1.3 receive --wallet "my-wallet"
180
+ bunx -y xno-skills@3.1.4 receive --wallet "my-wallet"
181
181
  ```
182
182
 
183
183
  Full options: [receive](references/receive.md)
@@ -209,7 +209,7 @@ The account must be opened (have a receive block) and have sufficient balance.
209
209
 
210
210
  **Via CLI (required flags only):**
211
211
  ```bash
212
- bunx -y xno-skills@3.1.3 send --wallet "my-wallet" --to "nano_..." --amount-xno 0.01
212
+ bunx -y xno-skills@3.1.4 send --wallet "my-wallet" --to "nano_..." --amount-xno 0.01
213
213
  ```
214
214
 
215
215
  Full options: [send](references/send.md)
@@ -321,7 +321,7 @@ Generates a terminal-friendly ASCII QR code for a Nano address, optionally with
321
321
 
322
322
  **Via CLI (required args only):**
323
323
  ```bash
324
- bunx -y xno-skills@3.1.3 qr nano_1abc...
324
+ bunx -y xno-skills@3.1.4 qr nano_1abc...
325
325
  ```
326
326
 
327
327
  Full options: [qr](references/qr.md)
@@ -348,7 +348,7 @@ All validation is **offline** — no network required.
348
348
 
349
349
  **Via CLI:**
350
350
  ```bash
351
- bunx -y xno-skills@3.1.3 validate nano_1abc...
351
+ bunx -y xno-skills@3.1.4 validate nano_1abc...
352
352
  ```
353
353
 
354
354
  Full options: [validate](references/validate.md)
@@ -375,10 +375,10 @@ XNO uses **30 decimal places**. Floating-point arithmetic is unsafe. Always use
375
375
 
376
376
  **Via CLI:**
377
377
  ```bash
378
- bunx -y xno-skills@3.1.3 convert 1 xno # all units
379
- bunx -y xno-skills@3.1.3 convert 1 knano
380
- bunx -y xno-skills@3.1.3 convert 1000000000000000000000000000000 raw
381
- bunx -y xno-skills@3.1.3 convert 1 xno --json
378
+ bunx -y xno-skills@3.1.4 convert 1 xno # all units
379
+ bunx -y xno-skills@3.1.4 convert 1 knano
380
+ bunx -y xno-skills@3.1.4 convert 1000000000000000000000000000000 raw
381
+ bunx -y xno-skills@3.1.4 convert 1 xno --json
382
382
  ```
383
383
 
384
384
  Full options: [convert](references/convert.md)
@@ -404,20 +404,20 @@ Present the user with this command to run locally:
404
404
 
405
405
  ```bash
406
406
  # Sign — run this yourself, replacing the placeholder with your actual key
407
- bunx -y xno-skills@3.1.3 sign "<message>" --key YOUR_PRIVATE_KEY_HEX
407
+ bunx -y xno-skills@3.1.4 sign "<message>" --key YOUR_PRIVATE_KEY_HEX
408
408
 
409
409
  # Sign with JSON output
410
- bunx -y xno-skills@3.1.3 sign "<message>" --key YOUR_PRIVATE_KEY_HEX --json
410
+ bunx -y xno-skills@3.1.4 sign "<message>" --key YOUR_PRIVATE_KEY_HEX --json
411
411
  ```
412
412
 
413
413
  For verify, the agent *can* run this directly (no secret material involved):
414
414
 
415
415
  ```bash
416
416
  # Verify
417
- bunx -y xno-skills@3.1.3 verify <nano_address> "<message>" <signature-hex>
417
+ bunx -y xno-skills@3.1.4 verify <nano_address> "<message>" <signature-hex>
418
418
 
419
419
  # Verify with JSON output
420
- bunx -y xno-skills@3.1.3 verify <nano_address> "<message>" <signature-hex> --json
420
+ bunx -y xno-skills@3.1.4 verify <nano_address> "<message>" <signature-hex> --json
421
421
  ```
422
422
 
423
423
  **NOMS standard (ORIS-001)**: Signatures are computed over a binary payload with a magic header, ensuring a valid signature cannot be misinterpreted as a Nano transaction block.
@@ -493,7 +493,7 @@ Never use `curl` to probe this.
493
493
  { "name": "wallet.change_rep", "arguments": { "wallet": "my-wallet", "representative": "nano_..." } }
494
494
  ```
495
495
  ```bash
496
- bunx -y xno-skills@3.1.3 change-rep --wallet "my-wallet" --representative "nano_..."
496
+ bunx -y xno-skills@3.1.4 change-rep --wallet "my-wallet" --representative "nano_..."
497
497
  ```
498
498
 
499
499
  Full options: [change-rep](references/change-rep.md)
@@ -629,7 +629,7 @@ Public nodes that support `work_generate` (not guaranteed — depends on node op
629
629
 
630
630
  To probe whether an RPC endpoint supports remote `work_generate`:
631
631
  ```bash
632
- bunx -y xno-skills@3.1.3 rpc probe-caps <url>
632
+ bunx -y xno-skills@3.1.4 rpc probe-caps <url>
633
633
  ```
634
634
 
635
635
  Reset to local-only after resolving: