xno-skills 4.2.3 → 4.3.0
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 +15 -8
- 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 +21 -21
package/README.md
CHANGED
|
@@ -21,6 +21,13 @@ npx skills add CasualSecurityInc/xno-skills -g
|
|
|
21
21
|
npx -y skills add CasualSecurityInc/xno-skills -g -y --all
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
+
### Claude Code
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
/plugin marketplace add CasualSecurityInc/xno-skills
|
|
28
|
+
/plugin install xno-skills@casual-security-inc
|
|
29
|
+
```
|
|
30
|
+
|
|
24
31
|
> [!IMPORTANT]
|
|
25
32
|
> If you installed skills from this repository before May 4, 2026, you have 11 individual `nano-*` skills that have been consolidated into a single `nano` skill. Remove the old ones first:
|
|
26
33
|
> ```bash
|
|
@@ -43,7 +50,7 @@ xno-skills --help
|
|
|
43
50
|
|
|
44
51
|
To pin to the current stable release instead:
|
|
45
52
|
```bash
|
|
46
|
-
npm install -g xno-skills@4.
|
|
53
|
+
npm install -g xno-skills@4.3.0 && npx -y skills add CasualSecurityInc/xno-skills -g -y --all
|
|
47
54
|
```
|
|
48
55
|
|
|
49
56
|
|
|
@@ -102,7 +109,7 @@ Exposes Nano wallet functions as tools for AI agents (Claude Desktop, Cursor, Co
|
|
|
102
109
|
"mcpServers": {
|
|
103
110
|
"nano": {
|
|
104
111
|
"command": "npx",
|
|
105
|
-
"args": ["-y", "-p", "xno-skills@4.
|
|
112
|
+
"args": ["-y", "-p", "xno-skills@4.3.0", "xno-mcp"]
|
|
106
113
|
}
|
|
107
114
|
}
|
|
108
115
|
}
|
|
@@ -118,7 +125,7 @@ Exposes Nano wallet functions as tools for AI agents (Claude Desktop, Cursor, Co
|
|
|
118
125
|
codex mcp add nano \
|
|
119
126
|
-c sandbox_mode="danger-full-access" \
|
|
120
127
|
-c 'sandbox_permissions=["network-access"]' \
|
|
121
|
-
-- npx -y -p xno-skills@4.
|
|
128
|
+
-- npx -y -p xno-skills@4.3.0 xno-mcp
|
|
122
129
|
```
|
|
123
130
|
</details>
|
|
124
131
|
|
|
@@ -130,7 +137,7 @@ codex mcp add nano \
|
|
|
130
137
|
"mcpServers": {
|
|
131
138
|
"nano": {
|
|
132
139
|
"command": "npx",
|
|
133
|
-
"args": ["-y", "-p", "xno-skills@4.
|
|
140
|
+
"args": ["-y", "-p", "xno-skills@4.3.0", "xno-mcp"]
|
|
134
141
|
}
|
|
135
142
|
}
|
|
136
143
|
}
|
|
@@ -146,7 +153,7 @@ codex mcp add nano \
|
|
|
146
153
|
"mcp": {
|
|
147
154
|
"nano": {
|
|
148
155
|
"type": "local",
|
|
149
|
-
"command": ["npx", "-y", "-p", "xno-skills@4.
|
|
156
|
+
"command": ["npx", "-y", "-p", "xno-skills@4.3.0", "xno-mcp"],
|
|
150
157
|
"enabled": true
|
|
151
158
|
}
|
|
152
159
|
}
|
|
@@ -162,7 +169,7 @@ codex mcp add nano \
|
|
|
162
169
|
"mcpServers": {
|
|
163
170
|
"nano": {
|
|
164
171
|
"command": "npx",
|
|
165
|
-
"args": ["-y", "-p", "xno-skills@4.
|
|
172
|
+
"args": ["-y", "-p", "xno-skills@4.3.0", "xno-mcp"]
|
|
166
173
|
}
|
|
167
174
|
}
|
|
168
175
|
}
|
|
@@ -177,7 +184,7 @@ codex mcp add nano \
|
|
|
177
184
|
"mcpServers": {
|
|
178
185
|
"nano": {
|
|
179
186
|
"command": "npx",
|
|
180
|
-
"args": ["-y", "-p", "xno-skills@4.
|
|
187
|
+
"args": ["-y", "-p", "xno-skills@4.3.0", "xno-mcp"]
|
|
181
188
|
}
|
|
182
189
|
}
|
|
183
190
|
}
|
|
@@ -193,7 +200,7 @@ codex mcp add nano \
|
|
|
193
200
|
"nano": {
|
|
194
201
|
"type": "stdio",
|
|
195
202
|
"command": "npx",
|
|
196
|
-
"args": ["-y", "-p", "xno-skills@4.
|
|
203
|
+
"args": ["-y", "-p", "xno-skills@4.3.0", "xno-mcp"]
|
|
197
204
|
}
|
|
198
205
|
}
|
|
199
206
|
}
|
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": "mpwqc34ow8ggcw",
|
|
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-
|
|
12
|
-
"updatedAt": "2026-
|
|
11
|
+
"createdAt": "2026-06-02T14:25:20.089Z",
|
|
12
|
+
"updatedAt": "2026-06-02T14:25:20.089Z",
|
|
13
13
|
"receivedBlocks": []
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
|
-
"id": "
|
|
16
|
+
"id": "mpwqc35bd3kvbn",
|
|
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-
|
|
24
|
-
"updatedAt": "2026-
|
|
23
|
+
"createdAt": "2026-06-02T14:25:20.111Z",
|
|
24
|
+
"updatedAt": "2026-06-02T14:25:20.111Z",
|
|
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": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
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",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
],
|
|
25
25
|
"scripts": {
|
|
26
26
|
"preversion": "npm test",
|
|
27
|
-
"version": "node scripts/update-version.js && node scripts/generate-server-card.js && node scripts/generate-cli-refs.js && git add src/version.ts skills/nano/SKILL.md README.md mcpb/server-card.json skills/nano/references/",
|
|
27
|
+
"version": "node scripts/update-version.js && node scripts/generate-server-card.js && node scripts/generate-cli-refs.js && git add src/version.ts skills/nano/SKILL.md README.md mcpb/server-card.json .claude-plugin/marketplace.json skills/nano/references/",
|
|
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
|
@@ -83,7 +83,7 @@ When the environment provides `xno-mcp` tools (`wallet_list`, `wallet_send`, `wa
|
|
|
83
83
|
|
|
84
84
|
If the client supports MCP, set it up as a "stdio" type MCP server:
|
|
85
85
|
|
|
86
|
-
npx -y -p xno-skills@4.
|
|
86
|
+
npx -y -p xno-skills@4.3.0 -- mcp
|
|
87
87
|
|
|
88
88
|
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.
|
|
89
89
|
|
|
@@ -92,16 +92,16 @@ MCP is the primary execution path because tools, schemas, and results are struct
|
|
|
92
92
|
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:
|
|
93
93
|
|
|
94
94
|
```
|
|
95
|
-
1. bunx -y xno-skills@4.
|
|
96
|
-
2. pnpm dlx xno-skills@4.
|
|
97
|
-
3. npx -y xno-skills@4.
|
|
95
|
+
1. bunx -y xno-skills@4.3.0 <command>
|
|
96
|
+
2. pnpm dlx xno-skills@4.3.0 <command>
|
|
97
|
+
3. npx -y xno-skills@4.3.0 <command>
|
|
98
98
|
```
|
|
99
99
|
|
|
100
100
|
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.
|
|
101
101
|
|
|
102
102
|
Before guessing a subcommand, run `--help`:
|
|
103
103
|
```bash
|
|
104
|
-
bunx -y xno-skills@4.
|
|
104
|
+
bunx -y xno-skills@4.3.0 --help
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
### 3. Wallet lifecycle → `ows` skill only
|
|
@@ -130,7 +130,7 @@ When the user asks for an account, block, transaction, or explorer link, always
|
|
|
130
130
|
- **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.
|
|
131
131
|
- **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.
|
|
132
132
|
- **No mnemonic exports**: Never call `ows wallet export` or suggest exporting to a third-party wallet unless the user explicitly commands it.
|
|
133
|
-
- **Supply chain**: Only use `xno-skills@4.
|
|
133
|
+
- **Supply chain**: Only use `xno-skills@4.3.0` and `@open-wallet-standard/core`. No other npm packages.
|
|
134
134
|
- **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.
|
|
135
135
|
|
|
136
136
|
---
|
|
@@ -161,8 +161,8 @@ To **create** a new wallet, delegate to the `ows` skill. Then return here for al
|
|
|
161
161
|
|
|
162
162
|
**Via CLI (required flags only):**
|
|
163
163
|
```bash
|
|
164
|
-
bunx -y xno-skills@4.
|
|
165
|
-
bunx -y xno-skills@4.
|
|
164
|
+
bunx -y xno-skills@4.3.0 balance --wallet "my-wallet"
|
|
165
|
+
bunx -y xno-skills@4.3.0 rpc account-balance <address>
|
|
166
166
|
```
|
|
167
167
|
|
|
168
168
|
Full options: [balance](references/balance.md), [rpc_account-balance](references/rpc_account-balance.md)
|
|
@@ -192,7 +192,7 @@ A Nano transfer shows as **pending** until the recipient publishes a receive blo
|
|
|
192
192
|
|
|
193
193
|
**Via CLI (required flags only):**
|
|
194
194
|
```bash
|
|
195
|
-
bunx -y xno-skills@4.
|
|
195
|
+
bunx -y xno-skills@4.3.0 receive --wallet "my-wallet"
|
|
196
196
|
```
|
|
197
197
|
|
|
198
198
|
Full options: [receive](references/receive.md)
|
|
@@ -224,7 +224,7 @@ The account must be opened (have a receive block) and have sufficient balance.
|
|
|
224
224
|
|
|
225
225
|
**Via CLI (required flags only):**
|
|
226
226
|
```bash
|
|
227
|
-
bunx -y xno-skills@4.
|
|
227
|
+
bunx -y xno-skills@4.3.0 send --wallet "my-wallet" --to "nano_..." --amount-xno 0.01
|
|
228
228
|
```
|
|
229
229
|
|
|
230
230
|
Full options: [send](references/send.md)
|
|
@@ -340,7 +340,7 @@ Generates a terminal-friendly ASCII QR code for a Nano address, optionally with
|
|
|
340
340
|
|
|
341
341
|
**Via CLI (required args only):**
|
|
342
342
|
```bash
|
|
343
|
-
bunx -y xno-skills@4.
|
|
343
|
+
bunx -y xno-skills@4.3.0 qr nano_1abc...
|
|
344
344
|
```
|
|
345
345
|
|
|
346
346
|
Full options: [qr](references/qr.md)
|
|
@@ -367,7 +367,7 @@ All validation is **offline** — no network required.
|
|
|
367
367
|
|
|
368
368
|
**Via CLI:**
|
|
369
369
|
```bash
|
|
370
|
-
bunx -y xno-skills@4.
|
|
370
|
+
bunx -y xno-skills@4.3.0 validate nano_1abc...
|
|
371
371
|
```
|
|
372
372
|
|
|
373
373
|
Full options: [validate](references/validate.md)
|
|
@@ -394,10 +394,10 @@ XNO uses **30 decimal places**. Floating-point arithmetic is unsafe. Always use
|
|
|
394
394
|
|
|
395
395
|
**Via CLI:**
|
|
396
396
|
```bash
|
|
397
|
-
bunx -y xno-skills@4.
|
|
398
|
-
bunx -y xno-skills@4.
|
|
399
|
-
bunx -y xno-skills@4.
|
|
400
|
-
bunx -y xno-skills@4.
|
|
397
|
+
bunx -y xno-skills@4.3.0 convert 1 xno # all units
|
|
398
|
+
bunx -y xno-skills@4.3.0 convert 1 knano
|
|
399
|
+
bunx -y xno-skills@4.3.0 convert 1000000000000000000000000000000 raw
|
|
400
|
+
bunx -y xno-skills@4.3.0 convert 1 xno --json
|
|
401
401
|
```
|
|
402
402
|
|
|
403
403
|
Full options: [convert](references/convert.md)
|
|
@@ -423,20 +423,20 @@ Present the user with this command to run locally:
|
|
|
423
423
|
|
|
424
424
|
```bash
|
|
425
425
|
# Sign — run this yourself, replacing the placeholder with your actual key
|
|
426
|
-
bunx -y xno-skills@4.
|
|
426
|
+
bunx -y xno-skills@4.3.0 sign "<message>" --key YOUR_PRIVATE_KEY_HEX
|
|
427
427
|
|
|
428
428
|
# Sign with JSON output
|
|
429
|
-
bunx -y xno-skills@4.
|
|
429
|
+
bunx -y xno-skills@4.3.0 sign "<message>" --key YOUR_PRIVATE_KEY_HEX --json
|
|
430
430
|
```
|
|
431
431
|
|
|
432
432
|
For verify, the agent *can* run this directly (no secret material involved):
|
|
433
433
|
|
|
434
434
|
```bash
|
|
435
435
|
# Verify
|
|
436
|
-
bunx -y xno-skills@4.
|
|
436
|
+
bunx -y xno-skills@4.3.0 verify <nano_address> "<message>" <signature-hex>
|
|
437
437
|
|
|
438
438
|
# Verify with JSON output
|
|
439
|
-
bunx -y xno-skills@4.
|
|
439
|
+
bunx -y xno-skills@4.3.0 verify <nano_address> "<message>" <signature-hex> --json
|
|
440
440
|
```
|
|
441
441
|
|
|
442
442
|
**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.
|
|
@@ -511,7 +511,7 @@ PoW input:
|
|
|
511
511
|
{ "name": "wallet_change_rep", "arguments": { "wallet": "my-wallet", "representative": "nano_..." } }
|
|
512
512
|
```
|
|
513
513
|
```bash
|
|
514
|
-
bunx -y xno-skills@4.
|
|
514
|
+
bunx -y xno-skills@4.3.0 change-rep --wallet "my-wallet" --representative "nano_..."
|
|
515
515
|
```
|
|
516
516
|
|
|
517
517
|
Full options: [change-rep](references/change-rep.md)
|