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 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.2.3 && npx -y skills add CasualSecurityInc/xno-skills -g -y --all
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.2.3", "xno-mcp"]
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.2.3 xno-mcp
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.2.3", "xno-mcp"]
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.2.3", "xno-mcp"],
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.2.3", "xno-mcp"]
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.2.3", "xno-mcp"]
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.2.3", "xno-mcp"]
203
+ "args": ["-y", "-p", "xno-skills@4.3.0", "xno-mcp"]
197
204
  }
198
205
  }
199
206
  }
@@ -1,6 +1,6 @@
1
1
  export declare const pkg: {
2
2
  readonly name: "xno-skills";
3
- readonly version: "4.2.3";
3
+ readonly version: "4.3.0";
4
4
  };
5
- export declare const version: "4.2.3";
5
+ export declare const version: "4.3.0";
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -2,7 +2,7 @@
2
2
  // Keep this in sync by running "npm run build" (prebuild hook).
3
3
  export const pkg = {
4
4
  name: "xno-skills",
5
- version: "4.2.3"
5
+ version: "4.3.0"
6
6
  };
7
7
  export const version = pkg.version;
8
8
  //# sourceMappingURL=version.js.map
@@ -1,27 +1,27 @@
1
1
  {
2
2
  "requests": [
3
3
  {
4
- "id": "mpp9b32vmd7o9u",
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-05-28T08:54:16.663Z",
12
- "updatedAt": "2026-05-28T08:54:16.663Z",
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": "mpp9b33oe3rus8",
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-05-28T08:54:16.692Z",
24
- "updatedAt": "2026-05-28T08:54:16.692Z",
23
+ "createdAt": "2026-06-02T14:25:20.111Z",
24
+ "updatedAt": "2026-06-02T14:25:20.111Z",
25
25
  "receivedBlocks": []
26
26
  }
27
27
  ]
@@ -1,6 +1,6 @@
1
1
  export declare const pkg: {
2
2
  readonly name: "xno-skills";
3
- readonly version: "4.2.3";
3
+ readonly version: "4.3.0";
4
4
  };
5
- export declare const version: "4.2.3";
5
+ export declare const version: "4.3.0";
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -2,7 +2,7 @@
2
2
  // Keep this in sync by running "npm run build" (prebuild hook).
3
3
  export const pkg = {
4
4
  name: "xno-skills",
5
- version: "4.2.3"
5
+ version: "4.3.0"
6
6
  };
7
7
  export const version = pkg.version;
8
8
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xno-skills",
3
- "version": "4.2.3",
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",
@@ -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.2.3 -- mcp
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.2.3 <command>
96
- 2. pnpm dlx xno-skills@4.2.3 <command>
97
- 3. npx -y xno-skills@4.2.3 <command>
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.2.3 --help
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.2.3` and `@open-wallet-standard/core`. No other npm packages.
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.2.3 balance --wallet "my-wallet"
165
- bunx -y xno-skills@4.2.3 rpc account-balance <address>
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.2.3 receive --wallet "my-wallet"
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.2.3 send --wallet "my-wallet" --to "nano_..." --amount-xno 0.01
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.2.3 qr nano_1abc...
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.2.3 validate nano_1abc...
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.2.3 convert 1 xno # all units
398
- bunx -y xno-skills@4.2.3 convert 1 knano
399
- bunx -y xno-skills@4.2.3 convert 1000000000000000000000000000000 raw
400
- bunx -y xno-skills@4.2.3 convert 1 xno --json
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.2.3 sign "<message>" --key YOUR_PRIVATE_KEY_HEX
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.2.3 sign "<message>" --key YOUR_PRIVATE_KEY_HEX --json
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.2.3 verify <nano_address> "<message>" <signature-hex>
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.2.3 verify <nano_address> "<message>" <signature-hex> --json
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.2.3 change-rep --wallet "my-wallet" --representative "nano_..."
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)