xno-skills 3.1.2 → 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 +16 -12
- 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 +28 -21
package/README.md
CHANGED
|
@@ -8,14 +8,17 @@ A CLI, MCP server, and AI skills for [Nano](https://nano.org/) (XNO). Built on t
|
|
|
8
8
|
|
|
9
9
|

|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Agent Skills
|
|
12
12
|
|
|
13
|
-
|
|
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:
|
|
14
17
|
|
|
15
18
|
```bash
|
|
16
19
|
npx skills add -g CasualSecurityInc/xno-skills
|
|
17
|
-
# non-interactively:
|
|
18
|
-
|
|
20
|
+
# or non-interactively, i.e. for agent use:
|
|
21
|
+
npx -y skills add -y --all -g CasualSecurityInc/xno-skills
|
|
19
22
|
```
|
|
20
23
|
|
|
21
24
|
> [!IMPORTANT]
|
|
@@ -31,7 +34,7 @@ Available skills:
|
|
|
31
34
|
## CLI
|
|
32
35
|
|
|
33
36
|
```bash
|
|
34
|
-
npm install -g xno-skills@3.1.
|
|
37
|
+
npm install -g xno-skills@3.1.4
|
|
35
38
|
xno-skills --help
|
|
36
39
|
```
|
|
37
40
|
|
|
@@ -74,6 +77,7 @@ xno-skills --help
|
|
|
74
77
|
|
|
75
78
|
| Command | Description |
|
|
76
79
|
|---|---|
|
|
80
|
+
| `about` | Show version and environment info for troubleshooting |
|
|
77
81
|
| `mcp` | Start the MCP server or view configuration instructions |
|
|
78
82
|
|
|
79
83
|
All commands support `-j` / `--json` for machine-readable output.
|
|
@@ -89,7 +93,7 @@ Exposes Nano wallet functions as tools for AI agents (Claude Desktop, Cursor, Co
|
|
|
89
93
|
"mcpServers": {
|
|
90
94
|
"nano": {
|
|
91
95
|
"command": "npx",
|
|
92
|
-
"args": ["-y", "-p", "xno-skills@3.1.
|
|
96
|
+
"args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
|
|
93
97
|
}
|
|
94
98
|
}
|
|
95
99
|
}
|
|
@@ -105,7 +109,7 @@ Exposes Nano wallet functions as tools for AI agents (Claude Desktop, Cursor, Co
|
|
|
105
109
|
codex mcp add nano \
|
|
106
110
|
-c sandbox_mode="danger-full-access" \
|
|
107
111
|
-c 'sandbox_permissions=["network-access"]' \
|
|
108
|
-
-- npx -y -p xno-skills@3.1.
|
|
112
|
+
-- npx -y -p xno-skills@3.1.4 xno-mcp
|
|
109
113
|
```
|
|
110
114
|
</details>
|
|
111
115
|
|
|
@@ -117,7 +121,7 @@ codex mcp add nano \
|
|
|
117
121
|
"mcpServers": {
|
|
118
122
|
"nano": {
|
|
119
123
|
"command": "npx",
|
|
120
|
-
"args": ["-y", "-p", "xno-skills@3.1.
|
|
124
|
+
"args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
|
|
121
125
|
}
|
|
122
126
|
}
|
|
123
127
|
}
|
|
@@ -133,7 +137,7 @@ codex mcp add nano \
|
|
|
133
137
|
"mcp": {
|
|
134
138
|
"nano": {
|
|
135
139
|
"type": "local",
|
|
136
|
-
"command": ["npx", "-y", "-p", "xno-skills@3.1.
|
|
140
|
+
"command": ["npx", "-y", "-p", "xno-skills@3.1.4", "xno-mcp"],
|
|
137
141
|
"enabled": true
|
|
138
142
|
}
|
|
139
143
|
}
|
|
@@ -149,7 +153,7 @@ codex mcp add nano \
|
|
|
149
153
|
"mcpServers": {
|
|
150
154
|
"nano": {
|
|
151
155
|
"command": "npx",
|
|
152
|
-
"args": ["-y", "-p", "xno-skills@3.1.
|
|
156
|
+
"args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
|
|
153
157
|
}
|
|
154
158
|
}
|
|
155
159
|
}
|
|
@@ -164,7 +168,7 @@ codex mcp add nano \
|
|
|
164
168
|
"mcpServers": {
|
|
165
169
|
"nano": {
|
|
166
170
|
"command": "npx",
|
|
167
|
-
"args": ["-y", "-p", "xno-skills@3.1.
|
|
171
|
+
"args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
|
|
168
172
|
}
|
|
169
173
|
}
|
|
170
174
|
}
|
|
@@ -180,7 +184,7 @@ codex mcp add nano \
|
|
|
180
184
|
"nano": {
|
|
181
185
|
"type": "stdio",
|
|
182
186
|
"command": "npx",
|
|
183
|
-
"args": ["-y", "-p", "xno-skills@3.1.
|
|
187
|
+
"args": ["-y", "-p", "xno-skills@3.1.4", "xno-mcp"]
|
|
184
188
|
}
|
|
185
189
|
}
|
|
186
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
|
@@ -46,6 +46,7 @@ triggers:
|
|
|
46
46
|
- how much nano
|
|
47
47
|
complements:
|
|
48
48
|
- ows # Open Wallet Standard — wallet lifecycle (create, import, rename, delete)
|
|
49
|
+
requires_network: true
|
|
49
50
|
---
|
|
50
51
|
|
|
51
52
|
# Nano (XNO)
|
|
@@ -70,21 +71,27 @@ This skill applies **exclusively to the Nano cryptocurrency protocol** (ticker:
|
|
|
70
71
|
|
|
71
72
|
When the environment provides `xno-mcp` tools (`wallet.list`, `wallet.send`, `wallet.receive`, `wallet.balance`, `util.convert`, `util.qr`, `util.validate`, `rpc.account_balance`, `payment.create`, etc.) — **always use them first**. They handle signing, PoW, and broadcast automatically via OWS.
|
|
72
73
|
|
|
74
|
+
If the client supports MCP, set it up as a "stdio" type MCP server:
|
|
75
|
+
|
|
76
|
+
npx -y -p xno-skills@3.1.4 -- mcp
|
|
77
|
+
|
|
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
|
+
|
|
73
80
|
### 2. Fall back to CLI only when MCP is unavailable
|
|
74
81
|
|
|
75
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:
|
|
76
83
|
|
|
77
84
|
```
|
|
78
|
-
1. bunx -y xno-skills@3.1.
|
|
79
|
-
2. pnpm dlx xno-skills@3.1.
|
|
80
|
-
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>
|
|
81
88
|
```
|
|
82
89
|
|
|
83
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.
|
|
84
91
|
|
|
85
92
|
Before guessing a subcommand, run `--help`:
|
|
86
93
|
```bash
|
|
87
|
-
bunx -y xno-skills@3.1.
|
|
94
|
+
bunx -y xno-skills@3.1.4 --help
|
|
88
95
|
```
|
|
89
96
|
|
|
90
97
|
### 3. Wallet lifecycle → `ows` skill only
|
|
@@ -108,7 +115,7 @@ For wallet **create, import, rename, or delete**: delegate to the `ows` skill. D
|
|
|
108
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.
|
|
109
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.
|
|
110
117
|
- **No mnemonic exports**: Never call `ows wallet export` or suggest exporting to a third-party wallet unless the user explicitly commands it.
|
|
111
|
-
- **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.
|
|
112
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.
|
|
113
120
|
|
|
114
121
|
---
|
|
@@ -139,8 +146,8 @@ To **create** a new wallet, delegate to the `ows` skill. Then return here for al
|
|
|
139
146
|
|
|
140
147
|
**Via CLI (required flags only):**
|
|
141
148
|
```bash
|
|
142
|
-
bunx -y xno-skills@3.1.
|
|
143
|
-
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>
|
|
144
151
|
```
|
|
145
152
|
|
|
146
153
|
Full options: [balance](references/balance.md), [rpc_account-balance](references/rpc_account-balance.md)
|
|
@@ -170,7 +177,7 @@ A Nano transfer shows as **pending** until the recipient publishes a receive blo
|
|
|
170
177
|
|
|
171
178
|
**Via CLI (required flags only):**
|
|
172
179
|
```bash
|
|
173
|
-
bunx -y xno-skills@3.1.
|
|
180
|
+
bunx -y xno-skills@3.1.4 receive --wallet "my-wallet"
|
|
174
181
|
```
|
|
175
182
|
|
|
176
183
|
Full options: [receive](references/receive.md)
|
|
@@ -202,7 +209,7 @@ The account must be opened (have a receive block) and have sufficient balance.
|
|
|
202
209
|
|
|
203
210
|
**Via CLI (required flags only):**
|
|
204
211
|
```bash
|
|
205
|
-
bunx -y xno-skills@3.1.
|
|
212
|
+
bunx -y xno-skills@3.1.4 send --wallet "my-wallet" --to "nano_..." --amount-xno 0.01
|
|
206
213
|
```
|
|
207
214
|
|
|
208
215
|
Full options: [send](references/send.md)
|
|
@@ -314,7 +321,7 @@ Generates a terminal-friendly ASCII QR code for a Nano address, optionally with
|
|
|
314
321
|
|
|
315
322
|
**Via CLI (required args only):**
|
|
316
323
|
```bash
|
|
317
|
-
bunx -y xno-skills@3.1.
|
|
324
|
+
bunx -y xno-skills@3.1.4 qr nano_1abc...
|
|
318
325
|
```
|
|
319
326
|
|
|
320
327
|
Full options: [qr](references/qr.md)
|
|
@@ -341,7 +348,7 @@ All validation is **offline** — no network required.
|
|
|
341
348
|
|
|
342
349
|
**Via CLI:**
|
|
343
350
|
```bash
|
|
344
|
-
bunx -y xno-skills@3.1.
|
|
351
|
+
bunx -y xno-skills@3.1.4 validate nano_1abc...
|
|
345
352
|
```
|
|
346
353
|
|
|
347
354
|
Full options: [validate](references/validate.md)
|
|
@@ -368,10 +375,10 @@ XNO uses **30 decimal places**. Floating-point arithmetic is unsafe. Always use
|
|
|
368
375
|
|
|
369
376
|
**Via CLI:**
|
|
370
377
|
```bash
|
|
371
|
-
bunx -y xno-skills@3.1.
|
|
372
|
-
bunx -y xno-skills@3.1.
|
|
373
|
-
bunx -y xno-skills@3.1.
|
|
374
|
-
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
|
|
375
382
|
```
|
|
376
383
|
|
|
377
384
|
Full options: [convert](references/convert.md)
|
|
@@ -397,20 +404,20 @@ Present the user with this command to run locally:
|
|
|
397
404
|
|
|
398
405
|
```bash
|
|
399
406
|
# Sign — run this yourself, replacing the placeholder with your actual key
|
|
400
|
-
bunx -y xno-skills@3.1.
|
|
407
|
+
bunx -y xno-skills@3.1.4 sign "<message>" --key YOUR_PRIVATE_KEY_HEX
|
|
401
408
|
|
|
402
409
|
# Sign with JSON output
|
|
403
|
-
bunx -y xno-skills@3.1.
|
|
410
|
+
bunx -y xno-skills@3.1.4 sign "<message>" --key YOUR_PRIVATE_KEY_HEX --json
|
|
404
411
|
```
|
|
405
412
|
|
|
406
413
|
For verify, the agent *can* run this directly (no secret material involved):
|
|
407
414
|
|
|
408
415
|
```bash
|
|
409
416
|
# Verify
|
|
410
|
-
bunx -y xno-skills@3.1.
|
|
417
|
+
bunx -y xno-skills@3.1.4 verify <nano_address> "<message>" <signature-hex>
|
|
411
418
|
|
|
412
419
|
# Verify with JSON output
|
|
413
|
-
bunx -y xno-skills@3.1.
|
|
420
|
+
bunx -y xno-skills@3.1.4 verify <nano_address> "<message>" <signature-hex> --json
|
|
414
421
|
```
|
|
415
422
|
|
|
416
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.
|
|
@@ -486,7 +493,7 @@ Never use `curl` to probe this.
|
|
|
486
493
|
{ "name": "wallet.change_rep", "arguments": { "wallet": "my-wallet", "representative": "nano_..." } }
|
|
487
494
|
```
|
|
488
495
|
```bash
|
|
489
|
-
bunx -y xno-skills@3.1.
|
|
496
|
+
bunx -y xno-skills@3.1.4 change-rep --wallet "my-wallet" --representative "nano_..."
|
|
490
497
|
```
|
|
491
498
|
|
|
492
499
|
Full options: [change-rep](references/change-rep.md)
|
|
@@ -622,7 +629,7 @@ Public nodes that support `work_generate` (not guaranteed — depends on node op
|
|
|
622
629
|
|
|
623
630
|
To probe whether an RPC endpoint supports remote `work_generate`:
|
|
624
631
|
```bash
|
|
625
|
-
bunx -y xno-skills@3.1.
|
|
632
|
+
bunx -y xno-skills@3.1.4 rpc probe-caps <url>
|
|
626
633
|
```
|
|
627
634
|
|
|
628
635
|
Reset to local-only after resolving:
|