xno-skills 2.8.2 → 2.8.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/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 +34 -26
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": "mos80fny4dkmp9",
|
|
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-05T06:01:36.334Z",
|
|
12
|
+
"updatedAt": "2026-05-05T06:01:36.334Z",
|
|
13
13
|
"receivedBlocks": []
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
|
-
"id": "
|
|
16
|
+
"id": "mos80fp0pbv4dm",
|
|
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-05T06:01:36.372Z",
|
|
24
|
+
"updatedAt": "2026-05-05T06:01:36.372Z",
|
|
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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xno-skills",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.4",
|
|
4
4
|
"description": "XNO CLI - Interact with Nano (XNO)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
],
|
|
25
25
|
"scripts": {
|
|
26
26
|
"preversion": "npm test",
|
|
27
|
-
"version": "node scripts/update-version.js && git add src/version.ts",
|
|
27
|
+
"version": "node scripts/update-version.js && git add src/version.ts skills/nano/SKILL.md",
|
|
28
28
|
"postversion": "node -e \"const v=require('./package.json').version; console.log('Created tag v'+v+'. Next: git push --follow-tags (GitHub Actions will publish to npm + create the GitHub Release).');\"",
|
|
29
29
|
"prebuild": "node scripts/update-version.js",
|
|
30
30
|
"prebuild:esm": "node scripts/update-version.js",
|
package/skills/nano/SKILL.md
CHANGED
|
@@ -75,16 +75,16 @@ When the environment provides `xno-mcp` tools (`wallets`, `send`, `receive`, `ba
|
|
|
75
75
|
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
76
|
|
|
77
77
|
```
|
|
78
|
-
1. bunx -y xno-skills@
|
|
79
|
-
2. pnpm dlx xno-skills@
|
|
80
|
-
3. npx -y xno-skills@
|
|
78
|
+
1. bunx -y xno-skills@2.8.4 <command>
|
|
79
|
+
2. pnpm dlx xno-skills@2.8.4 <command>
|
|
80
|
+
3. npx -y xno-skills@2.8.4 <command>
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
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
84
|
|
|
85
85
|
Before guessing a subcommand, run `--help`:
|
|
86
86
|
```bash
|
|
87
|
-
bunx -y xno-skills@
|
|
87
|
+
bunx -y xno-skills@2.8.4 --help
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
### 3. Wallet lifecycle → `ows` skill only
|
|
@@ -108,7 +108,7 @@ For wallet **create, import, rename, or delete**: delegate to the `ows` skill. D
|
|
|
108
108
|
- **Proactivity on pending funds**: If you see pending funds during any balance check, call `receive` immediately. Do not wait for the user to ask.
|
|
109
109
|
- **Persistence on "Account not found"**: This is normal for a brand-new, unopened account. Continue — `receive` will build the open block automatically. Never conclude you are unauthorized or that OWS cannot sign Nano blocks.
|
|
110
110
|
- **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@
|
|
111
|
+
- **Supply chain**: Only use `xno-skills@2.8.4` and `@open-wallet-standard/core`. No other npm packages.
|
|
112
112
|
- **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
113
|
|
|
114
114
|
---
|
|
@@ -139,8 +139,8 @@ To **create** a new wallet, delegate to the `ows` skill. Then return here for al
|
|
|
139
139
|
|
|
140
140
|
**Via CLI:**
|
|
141
141
|
```bash
|
|
142
|
-
bunx -y xno-skills@
|
|
143
|
-
bunx -y xno-skills@
|
|
142
|
+
bunx -y xno-skills@2.8.4 balance --wallet "my-wallet"
|
|
143
|
+
bunx -y xno-skills@2.8.4 rpc account-balance <address> --json
|
|
144
144
|
```
|
|
145
145
|
|
|
146
146
|
**Public zero-config RPC nodes** (used automatically by xno-skills defaults):
|
|
@@ -168,7 +168,7 @@ A Nano transfer shows as **pending** until the recipient publishes a receive blo
|
|
|
168
168
|
|
|
169
169
|
**Via CLI:**
|
|
170
170
|
```bash
|
|
171
|
-
bunx -y xno-skills@
|
|
171
|
+
bunx -y xno-skills@2.8.4 receive --wallet "my-wallet"
|
|
172
172
|
```
|
|
173
173
|
|
|
174
174
|
**Unopened account — explicit representative:**
|
|
@@ -198,7 +198,7 @@ The account must be opened (have a receive block) and have sufficient balance.
|
|
|
198
198
|
|
|
199
199
|
**Via CLI:**
|
|
200
200
|
```bash
|
|
201
|
-
bunx -y xno-skills@
|
|
201
|
+
bunx -y xno-skills@2.8.4 send --wallet "my-wallet" --destination "nano_..." --amount-xno 0.01
|
|
202
202
|
```
|
|
203
203
|
|
|
204
204
|
**Validate the destination address first** (see Address Validation section).
|
|
@@ -305,13 +305,13 @@ Generates a terminal-friendly ASCII QR code for a Nano address, optionally with
|
|
|
305
305
|
**Via CLI:**
|
|
306
306
|
```bash
|
|
307
307
|
# Address only
|
|
308
|
-
bunx -y xno-skills@
|
|
308
|
+
bunx -y xno-skills@2.8.4 qr nano_1abc...
|
|
309
309
|
|
|
310
310
|
# With amount
|
|
311
|
-
bunx -y xno-skills@
|
|
311
|
+
bunx -y xno-skills@2.8.4 qr nano_1abc... --amount-xno 1.5
|
|
312
312
|
|
|
313
313
|
# JSON output (recommended for agents — avoids stdout truncation)
|
|
314
|
-
bunx -y xno-skills@
|
|
314
|
+
bunx -y xno-skills@2.8.4 qr nano_1abc... --amount-xno 1.5 --json
|
|
315
315
|
```
|
|
316
316
|
|
|
317
317
|
> **CRITICAL — stdout truncation**: Agents often have stdout truncated (e.g. `<truncated 14 lines>`). To display a full QR code:
|
|
@@ -342,7 +342,7 @@ All validation is **offline** — no network required.
|
|
|
342
342
|
|
|
343
343
|
**Via CLI:**
|
|
344
344
|
```bash
|
|
345
|
-
bunx -y xno-skills@
|
|
345
|
+
bunx -y xno-skills@2.8.4 validate nano_1abc...
|
|
346
346
|
```
|
|
347
347
|
|
|
348
348
|
**Always validate before sending XNO to an untrusted address.**
|
|
@@ -367,10 +367,10 @@ XNO uses **30 decimal places**. Floating-point arithmetic is unsafe. Always use
|
|
|
367
367
|
|
|
368
368
|
**Via CLI:**
|
|
369
369
|
```bash
|
|
370
|
-
bunx -y xno-skills@
|
|
371
|
-
bunx -y xno-skills@
|
|
372
|
-
bunx -y xno-skills@
|
|
373
|
-
bunx -y xno-skills@
|
|
370
|
+
bunx -y xno-skills@2.8.4 convert 1 xno # all units
|
|
371
|
+
bunx -y xno-skills@2.8.4 convert 1 knano
|
|
372
|
+
bunx -y xno-skills@2.8.4 convert 1000000000000000000000000000000 raw
|
|
373
|
+
bunx -y xno-skills@2.8.4 convert 1 xno --json
|
|
374
374
|
```
|
|
375
375
|
|
|
376
376
|
---
|
|
@@ -386,27 +386,35 @@ The `sign_message` and `verify_message` MCP tools require OWS upstream support t
|
|
|
386
386
|
|
|
387
387
|
### Low-level CLI signing (raw private key)
|
|
388
388
|
|
|
389
|
-
|
|
389
|
+
Signing with a raw hex private key works via CLI today, but **the agent must never handle the key value**. A raw private key passed through an LLM context is exposed to logs, memory, and any downstream system — treat it like a password.
|
|
390
|
+
|
|
391
|
+
**Agent's role**: construct the command with a placeholder and ask the user to run it themselves in their own terminal.
|
|
392
|
+
|
|
393
|
+
Present the user with this command to run locally:
|
|
390
394
|
|
|
391
395
|
```bash
|
|
392
|
-
# Sign
|
|
393
|
-
bunx -y xno-skills@
|
|
396
|
+
# Sign — run this yourself, replacing the placeholder with your actual key
|
|
397
|
+
bunx -y xno-skills@2.8.4 sign "<message>" --key YOUR_PRIVATE_KEY_HEX
|
|
394
398
|
|
|
395
399
|
# Sign with JSON output
|
|
396
|
-
bunx -y xno-skills@
|
|
400
|
+
bunx -y xno-skills@2.8.4 sign "<message>" --key YOUR_PRIVATE_KEY_HEX --json
|
|
401
|
+
```
|
|
397
402
|
|
|
403
|
+
For verify, the agent *can* run this directly (no secret material involved):
|
|
404
|
+
|
|
405
|
+
```bash
|
|
398
406
|
# Verify
|
|
399
|
-
bunx -y xno-skills@
|
|
407
|
+
bunx -y xno-skills@2.8.4 verify <nano_address> "<message>" <signature-hex>
|
|
400
408
|
|
|
401
409
|
# Verify with JSON output
|
|
402
|
-
bunx -y xno-skills@
|
|
410
|
+
bunx -y xno-skills@2.8.4 verify <nano_address> "<message>" <signature-hex> --json
|
|
403
411
|
```
|
|
404
412
|
|
|
405
413
|
**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.
|
|
406
414
|
|
|
407
415
|
**Note**: `verify` accepts both `nano_`/`xrb_` addresses and raw 32-byte hex public keys.
|
|
408
416
|
|
|
409
|
-
> Do not prompt the user to export their mnemonic to get a private key.
|
|
417
|
+
> Do not prompt the user to export their mnemonic to get a private key. Never accept, repeat, or emit a private key value — only use the placeholder pattern above.
|
|
410
418
|
|
|
411
419
|
---
|
|
412
420
|
|
|
@@ -460,7 +468,7 @@ PoW input:
|
|
|
460
468
|
|
|
461
469
|
To probe whether an RPC endpoint supports remote `work_generate`:
|
|
462
470
|
```bash
|
|
463
|
-
bunx -y xno-skills@
|
|
471
|
+
bunx -y xno-skills@2.8.4 rpc probe-caps <url>
|
|
464
472
|
```
|
|
465
473
|
Never use `curl` to probe this.
|
|
466
474
|
|
|
@@ -476,7 +484,7 @@ Never use `curl` to probe this.
|
|
|
476
484
|
{ "name": "change_rep", "arguments": { "wallet": "my-wallet", "representative": "nano_..." } }
|
|
477
485
|
```
|
|
478
486
|
```bash
|
|
479
|
-
bunx -y xno-skills@
|
|
487
|
+
bunx -y xno-skills@2.8.4 change-rep --wallet "my-wallet" --representative "nano_..."
|
|
480
488
|
```
|
|
481
489
|
|
|
482
490
|
### Data Representations
|