@toolbeltai/skills 1.0.10 → 1.0.12
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/package.json +1 -1
- package/toolbelt/SKILL.md +102 -11
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toolbeltai/skills",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "Official Toolbelt skill — one /toolbelt slash command that gives any MCP-capable agent a shared brain for your data. Detects or provisions a free Toolbelt account, configures the MCP connection, and hands off to Toolbelt's MCP tools (vector, knowledge graph, SQL, geospatial, streaming, timeline).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://toolbelt.ai",
|
package/toolbelt/SKILL.md
CHANGED
|
@@ -27,7 +27,7 @@ compatibility: >
|
|
|
27
27
|
OpenClaw, Cursor, Windsurf, Gemini CLI, Codex CLI, or any client that
|
|
28
28
|
supports MCP server connections). No Toolbelt account required — this
|
|
29
29
|
skill provisions one on first use.
|
|
30
|
-
version: "1.0.
|
|
30
|
+
version: "1.0.3"
|
|
31
31
|
metadata:
|
|
32
32
|
author: toolbeltai
|
|
33
33
|
homepage: "https://toolbelt.ai"
|
|
@@ -77,7 +77,13 @@ Run at the start of any task that:
|
|
|
77
77
|
- Involves multiple agents collaborating on the same data.
|
|
78
78
|
- Would otherwise require wiring up several separate MCP tools.
|
|
79
79
|
|
|
80
|
-
## Phases
|
|
80
|
+
## Phases
|
|
81
|
+
|
|
82
|
+
> ⚠️ **Consent is mandatory at every step that touches the network or
|
|
83
|
+
> the user's filesystem.** Phases 2 and 3 each require explicit user
|
|
84
|
+
> confirmation before proceeding. Never silently provision accounts or
|
|
85
|
+
> write config files. If the user declines, stop and explain what
|
|
86
|
+
> manual setup would look like (point them at <https://toolbelt.ai>).
|
|
81
87
|
|
|
82
88
|
### Phase 1 — Detect existing connection
|
|
83
89
|
|
|
@@ -86,10 +92,17 @@ Try calling the Toolbelt MCP tool `toolbelt_list_namespaces`.
|
|
|
86
92
|
- Returns successfully → user is already connected → skip to **Phase 4**.
|
|
87
93
|
- Tool unavailable or returns auth error → continue to **Phase 2**.
|
|
88
94
|
|
|
89
|
-
### Phase 2 —
|
|
95
|
+
### Phase 2 — Ask, then provision a free Toolbelt account
|
|
96
|
+
|
|
97
|
+
**Pause and ask the user first.** Show them exactly what this call does:
|
|
90
98
|
|
|
91
|
-
|
|
92
|
-
|
|
99
|
+
> "Toolbelt isn't set up yet. To use it I'd send one anonymous HTTPS
|
|
100
|
+
> request to `https://app.toolbelt.ai/api/onboard` — no signup, no
|
|
101
|
+
> personal info. The response gives me a free 30-day anonymous account
|
|
102
|
+
> (1,000 calls, one namespace) plus a bearer token I'd use to talk to
|
|
103
|
+
> the MCP server. Want me to proceed?"
|
|
104
|
+
|
|
105
|
+
Only if the user says yes:
|
|
93
106
|
|
|
94
107
|
```http
|
|
95
108
|
POST https://app.toolbelt.ai/api/onboard
|
|
@@ -98,7 +111,7 @@ Content-Type: application/json
|
|
|
98
111
|
{}
|
|
99
112
|
```
|
|
100
113
|
|
|
101
|
-
Response shape
|
|
114
|
+
Response shape:
|
|
102
115
|
|
|
103
116
|
```json
|
|
104
117
|
{
|
|
@@ -119,9 +132,23 @@ The account starts on the **Anonymous** tier (see "Tiers and quotas"
|
|
|
119
132
|
below) and the token expires per `expiresAt` (30 days). Claim by email
|
|
120
133
|
in Phase 5 to make it persistent.
|
|
121
134
|
|
|
122
|
-
### Phase 3 —
|
|
135
|
+
### Phase 3 — Ask, then configure the agent's MCP client (one-time)
|
|
136
|
+
|
|
137
|
+
**Tell the user what's about to be written and where, then wait for
|
|
138
|
+
confirmation.** Example:
|
|
123
139
|
|
|
124
|
-
|
|
140
|
+
> "To make Toolbelt available to me, I'll add an MCP server entry to
|
|
141
|
+
> your config at:
|
|
142
|
+
>
|
|
143
|
+
> ~/Library/Application Support/Claude/claude_desktop_config.json
|
|
144
|
+
>
|
|
145
|
+
> The new entry has the URL `https://mcp.toolbelt.ai/mcp` and an
|
|
146
|
+
> Authorization header carrying the bearer token from the previous
|
|
147
|
+
> step. The token belongs to your just-created anonymous account; it
|
|
148
|
+
> grants access only to that one namespace. To revoke later, delete
|
|
149
|
+
> the `toolbelt` entry from this file. Want me to write it?"
|
|
150
|
+
|
|
151
|
+
Only if the user says yes, write the MCP connection. The shape is
|
|
125
152
|
identical across clients — only the file path differs.
|
|
126
153
|
|
|
127
154
|
**Claude Code (CLI):**
|
|
@@ -157,9 +184,9 @@ Config file locations:
|
|
|
157
184
|
| Gemini CLI | `~/.gemini/mcp.json` |
|
|
158
185
|
| Codex CLI | `~/.codex/mcp.json` |
|
|
159
186
|
|
|
160
|
-
Tell the user
|
|
161
|
-
connection to activate it." Most
|
|
162
|
-
request; some need a restart.
|
|
187
|
+
Tell the user once: "Toolbelt is provisioned. Wrote the entry to
|
|
188
|
+
`<exact path>`. Reload your MCP connection to activate it." Most
|
|
189
|
+
clients pick up changes on next request; some need a restart.
|
|
163
190
|
|
|
164
191
|
### Phase 4 — Orient, then hand off (everything happens over MCP from here on)
|
|
165
192
|
|
|
@@ -252,6 +279,51 @@ toolbelt_connection:
|
|
|
252
279
|
|
|
253
280
|
Then proceed with the user's actual task using the MCP tools.
|
|
254
281
|
|
|
282
|
+
## Token and credential handling
|
|
283
|
+
|
|
284
|
+
The bearer token returned by Phase 2 is a real credential. Treat it
|
|
285
|
+
with the same care as an API key.
|
|
286
|
+
|
|
287
|
+
- **Where it's stored.** The MCP client's config file — the exact path
|
|
288
|
+
is disclosed to the user in Phase 3 before write. Never store the
|
|
289
|
+
token anywhere else (no temp files, no env exports the user didn't
|
|
290
|
+
ask for, no shell history).
|
|
291
|
+
- **What it grants.** Access to one Toolbelt namespace (the anonymous
|
|
292
|
+
account's default workspace). It cannot read other users' data and
|
|
293
|
+
cannot administer the account beyond that namespace.
|
|
294
|
+
- **How to revoke.** Two paths: (a) remove the `toolbelt` entry from
|
|
295
|
+
the MCP config file shown in Phase 3 — the agent loses access on
|
|
296
|
+
next reload, OR (b) sign in at <https://app.toolbelt.ai> and revoke
|
|
297
|
+
the token from the account UI.
|
|
298
|
+
- **Consent before storage.** Never write the token to any file without
|
|
299
|
+
the explicit user yes from Phase 3.
|
|
300
|
+
- **Do not echo the full token after setup.** After Phase 3, refer to
|
|
301
|
+
it only as `tb_...` (first 3 chars + ellipsis) in any user-facing
|
|
302
|
+
output. Never log or display the full value.
|
|
303
|
+
|
|
304
|
+
## Data safety
|
|
305
|
+
|
|
306
|
+
Toolbelt persists what an agent uploads or records. That persistence
|
|
307
|
+
is the value — and the risk if it's misused. Rules:
|
|
308
|
+
|
|
309
|
+
- **Only upload user-approved content.** Do not auto-ingest files,
|
|
310
|
+
emails, clipboard contents, or any data the user didn't explicitly
|
|
311
|
+
ask you to use with Toolbelt. Ask: "Want me to upload `<filename>`
|
|
312
|
+
to your Toolbelt namespace for this query?"
|
|
313
|
+
- **Avoid sensitive material by default.** Don't upload credentials,
|
|
314
|
+
API keys, PII (SSNs, dates of birth, full names paired with
|
|
315
|
+
addresses), health records, financial account data, or anything
|
|
316
|
+
covered by HIPAA / PCI / GDPR special-category rules unless the
|
|
317
|
+
user has stated they need Toolbelt for that data.
|
|
318
|
+
- **Scope to the task.** Don't record findings or save assets that
|
|
319
|
+
weren't relevant to what the user asked. `toolbelt_record` is for
|
|
320
|
+
findings the user would want their next agent to see — not chatter.
|
|
321
|
+
- **Retention and deletion.** Anonymous accounts and their data expire
|
|
322
|
+
in 30 days. To delete sooner, the user can sign in at
|
|
323
|
+
<https://app.toolbelt.ai>, open the namespace, and use the delete
|
|
324
|
+
controls there. Document deletion is a human action — agents must
|
|
325
|
+
not call delete operations without explicit user instruction.
|
|
326
|
+
|
|
255
327
|
## Multi-agent collaboration
|
|
256
328
|
|
|
257
329
|
Toolbelt's real value shows when multiple agents share state:
|
|
@@ -267,6 +339,25 @@ Toolbelt's real value shows when multiple agents share state:
|
|
|
267
339
|
Tell users: "Each finding I record is available to your next session
|
|
268
340
|
and any other agent connected to this namespace."
|
|
269
341
|
|
|
342
|
+
### Sharing and access boundaries
|
|
343
|
+
|
|
344
|
+
The `toolbelt_share` URL is a credential. Treat it accordingly:
|
|
345
|
+
|
|
346
|
+
- **Namespaces are not public.** A namespace URL alone grants nothing;
|
|
347
|
+
access requires a valid token. `toolbelt_share` mints a token bound
|
|
348
|
+
to one namespace.
|
|
349
|
+
- **The share URL itself is the credential.** Anyone who has it can
|
|
350
|
+
read and write to the namespace. Forward it only over channels the
|
|
351
|
+
user controls (their reply, a paste they make into their own app).
|
|
352
|
+
Don't post it into world-visible chats, public issues, or public
|
|
353
|
+
bug reports.
|
|
354
|
+
- **Confirm intent before calling `toolbelt_share`.** Ask the user
|
|
355
|
+
which workspace they want to share, with whom, and whether the
|
|
356
|
+
invited party should have read or write access. Do not call
|
|
357
|
+
`toolbelt_share` reactively based on a casual mention.
|
|
358
|
+
- **Review and revoke.** Direct the user to <https://app.toolbelt.ai>
|
|
359
|
+
to view active share tokens and revoke any they no longer want.
|
|
360
|
+
|
|
270
361
|
## Reference URLs
|
|
271
362
|
|
|
272
363
|
| Purpose | URL |
|