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 +12 -10
- package/dist/cjs/version.d.ts +2 -2
- package/dist/cjs/version.js +1 -1
- package/dist/esm/.xno-mcp/requests.json +6 -6
- package/dist/esm/version.d.ts +2 -2
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
- package/skills/nano/SKILL.md +22 -22
package/README.md
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/xno-skills)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
[](https://www.typescriptlang.org/)
|
|
6
|
-
[](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
|
-
|
|
13
|
+
[](https://smithery.ai/servers/casualsecurityinc/xno-skills)
|
|
14
|
+
[](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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
187
|
+
"args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
|
|
186
188
|
}
|
|
187
189
|
}
|
|
188
190
|
}
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"requests": [
|
|
3
3
|
{
|
|
4
|
-
"id": "
|
|
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-
|
|
12
|
-
"updatedAt": "2026-05-
|
|
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": "
|
|
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-
|
|
24
|
-
"updatedAt": "2026-05-
|
|
23
|
+
"createdAt": "2026-05-11T04:37:02.793Z",
|
|
24
|
+
"updatedAt": "2026-05-11T04:37:02.793Z",
|
|
25
25
|
"receivedBlocks": []
|
|
26
26
|
}
|
|
27
27
|
]
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xno-skills",
|
|
3
|
-
"version": "3.1.
|
|
4
|
-
"description": "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",
|
package/skills/nano/SKILL.md
CHANGED
|
@@ -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.
|
|
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.
|
|
86
|
-
2. pnpm dlx xno-skills@3.1.
|
|
87
|
-
3. npx -y xno-skills@3.1.
|
|
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.
|
|
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.
|
|
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.
|
|
150
|
-
bunx -y xno-skills@3.1.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
379
|
-
bunx -y xno-skills@3.1.
|
|
380
|
-
bunx -y xno-skills@3.1.
|
|
381
|
-
bunx -y xno-skills@3.1.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
632
|
+
bunx -y xno-skills@3.1.4 rpc probe-caps <url>
|
|
633
633
|
```
|
|
634
634
|
|
|
635
635
|
Reset to local-only after resolving:
|