xno-skills 3.1.2 → 3.1.3
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 +14 -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 +1 -1
- package/skills/nano/SKILL.md +28 -21
package/README.md
CHANGED
|
@@ -3,19 +3,20 @@
|
|
|
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)
|
|
6
7
|
|
|
7
8
|
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.
|
|
8
9
|
|
|
9
10
|

|
|
10
11
|
|
|
11
|
-
##
|
|
12
|
+
## Agent Skills
|
|
12
13
|
|
|
13
|
-
Built-in
|
|
14
|
+
Built-in skill for Personal AI Agents (OpenClaw etc.) and humans running AI coding assistants (Claude Code, Cursor, etc.) alike:
|
|
14
15
|
|
|
15
16
|
```bash
|
|
16
17
|
npx skills add -g CasualSecurityInc/xno-skills
|
|
17
|
-
# non-interactively:
|
|
18
|
-
|
|
18
|
+
# or non-interactively, i.e. for agent use:
|
|
19
|
+
npx -y skills add -y --all -g CasualSecurityInc/xno-skills
|
|
19
20
|
```
|
|
20
21
|
|
|
21
22
|
> [!IMPORTANT]
|
|
@@ -31,7 +32,7 @@ Available skills:
|
|
|
31
32
|
## CLI
|
|
32
33
|
|
|
33
34
|
```bash
|
|
34
|
-
npm install -g xno-skills@3.1.
|
|
35
|
+
npm install -g xno-skills@3.1.3
|
|
35
36
|
xno-skills --help
|
|
36
37
|
```
|
|
37
38
|
|
|
@@ -74,6 +75,7 @@ xno-skills --help
|
|
|
74
75
|
|
|
75
76
|
| Command | Description |
|
|
76
77
|
|---|---|
|
|
78
|
+
| `about` | Show version and environment info for troubleshooting |
|
|
77
79
|
| `mcp` | Start the MCP server or view configuration instructions |
|
|
78
80
|
|
|
79
81
|
All commands support `-j` / `--json` for machine-readable output.
|
|
@@ -89,7 +91,7 @@ Exposes Nano wallet functions as tools for AI agents (Claude Desktop, Cursor, Co
|
|
|
89
91
|
"mcpServers": {
|
|
90
92
|
"nano": {
|
|
91
93
|
"command": "npx",
|
|
92
|
-
"args": ["-y", "-p", "xno-skills@3.1.
|
|
94
|
+
"args": ["-y", "-p", "xno-skills@3.1.3", "xno-mcp"]
|
|
93
95
|
}
|
|
94
96
|
}
|
|
95
97
|
}
|
|
@@ -105,7 +107,7 @@ Exposes Nano wallet functions as tools for AI agents (Claude Desktop, Cursor, Co
|
|
|
105
107
|
codex mcp add nano \
|
|
106
108
|
-c sandbox_mode="danger-full-access" \
|
|
107
109
|
-c 'sandbox_permissions=["network-access"]' \
|
|
108
|
-
-- npx -y -p xno-skills@3.1.
|
|
110
|
+
-- npx -y -p xno-skills@3.1.3 xno-mcp
|
|
109
111
|
```
|
|
110
112
|
</details>
|
|
111
113
|
|
|
@@ -117,7 +119,7 @@ codex mcp add nano \
|
|
|
117
119
|
"mcpServers": {
|
|
118
120
|
"nano": {
|
|
119
121
|
"command": "npx",
|
|
120
|
-
"args": ["-y", "-p", "xno-skills@3.1.
|
|
122
|
+
"args": ["-y", "-p", "xno-skills@3.1.3", "xno-mcp"]
|
|
121
123
|
}
|
|
122
124
|
}
|
|
123
125
|
}
|
|
@@ -133,7 +135,7 @@ codex mcp add nano \
|
|
|
133
135
|
"mcp": {
|
|
134
136
|
"nano": {
|
|
135
137
|
"type": "local",
|
|
136
|
-
"command": ["npx", "-y", "-p", "xno-skills@3.1.
|
|
138
|
+
"command": ["npx", "-y", "-p", "xno-skills@3.1.3", "xno-mcp"],
|
|
137
139
|
"enabled": true
|
|
138
140
|
}
|
|
139
141
|
}
|
|
@@ -149,7 +151,7 @@ codex mcp add nano \
|
|
|
149
151
|
"mcpServers": {
|
|
150
152
|
"nano": {
|
|
151
153
|
"command": "npx",
|
|
152
|
-
"args": ["-y", "-p", "xno-skills@3.1.
|
|
154
|
+
"args": ["-y", "-p", "xno-skills@3.1.3", "xno-mcp"]
|
|
153
155
|
}
|
|
154
156
|
}
|
|
155
157
|
}
|
|
@@ -164,7 +166,7 @@ codex mcp add nano \
|
|
|
164
166
|
"mcpServers": {
|
|
165
167
|
"nano": {
|
|
166
168
|
"command": "npx",
|
|
167
|
-
"args": ["-y", "-p", "xno-skills@3.1.
|
|
169
|
+
"args": ["-y", "-p", "xno-skills@3.1.3", "xno-mcp"]
|
|
168
170
|
}
|
|
169
171
|
}
|
|
170
172
|
}
|
|
@@ -180,7 +182,7 @@ codex mcp add nano \
|
|
|
180
182
|
"nano": {
|
|
181
183
|
"type": "stdio",
|
|
182
184
|
"command": "npx",
|
|
183
|
-
"args": ["-y", "-p", "xno-skills@3.1.
|
|
185
|
+
"args": ["-y", "-p", "xno-skills@3.1.3", "xno-mcp"]
|
|
184
186
|
}
|
|
185
187
|
}
|
|
186
188
|
}
|
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": "mozz60g7gcuhr4",
|
|
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-10T16:16:09.415Z",
|
|
12
|
+
"updatedAt": "2026-05-10T16:16:09.415Z",
|
|
13
13
|
"receivedBlocks": []
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
|
-
"id": "
|
|
16
|
+
"id": "mozz60gz5hqxw4",
|
|
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-10T16:16:09.443Z",
|
|
24
|
+
"updatedAt": "2026-05-10T16:16:09.443Z",
|
|
25
25
|
"receivedBlocks": []
|
|
26
26
|
}
|
|
27
27
|
]
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED
package/package.json
CHANGED
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.3 -- 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.3 <command>
|
|
86
|
+
2. pnpm dlx xno-skills@3.1.3 <command>
|
|
87
|
+
3. npx -y xno-skills@3.1.3 <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.3 --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.3` 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.3 balance --wallet "my-wallet"
|
|
150
|
+
bunx -y xno-skills@3.1.3 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.3 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.3 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.3 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.3 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.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
|
|
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.3 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.3 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.3 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.3 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.3 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.3 rpc probe-caps <url>
|
|
626
633
|
```
|
|
627
634
|
|
|
628
635
|
Reset to local-only after resolving:
|