@pascalcouturier/skill-builder-mcp 2.5.0 → 3.1.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/CHANGELOG.md CHANGED
@@ -2,13 +2,67 @@
2
2
 
3
3
  Every release of `@pascalcouturier/skill-builder-mcp`. Versions follow
4
4
  [semantic versioning](https://semver.org); the major version matches the newest protocol the
5
- connector speaks. Skill Builder still speaks protocol 1, so `1.x` connectors keep working
6
- (tools only); slash commands need `2.x`.
5
+ connector speaks. Skill Builder speaks only protocol 3, so `1.x` and `2.x` connectors can no
6
+ longer connect: replace the install line with the `@3` one.
7
7
 
8
- The install line names the major version (`@2`), so restarting your AI tool or its MCP server
8
+ The install line names the major version (`@3`), so restarting your AI tool or its MCP server
9
9
  fetches the newest release of that major (see **Updating** in the
10
10
  [README](./README.md#updating)).
11
11
 
12
+ ## 3.1.0
13
+
14
+ Same protocol and tools; the install line stays `@3`, so restarting your AI tool picks it up.
15
+ The tool definitions it offers before Skill Builder connects now match the app's:
16
+
17
+ - `validate` takes `documentId` (check one skill or agent) and `since` (the revision of your
18
+ last result: only what changed comes back), for loops that check after every round.
19
+ - `add_document` adds a whole workflow when `templateId` is a workflow id from
20
+ `list_templates`.
21
+ - `get_standards` has the topic `improve`, the `/improve-until` routine, for AI tools that do
22
+ not show slash commands.
23
+ - `apply_fix` accepts `set-loop-limit`, the fix for a loop with no limit.
24
+ - **A refresh keeps the pairing.** After you pair, the connector hands Skill Builder a
25
+ one-use resume secret (kept in memory only). If you refresh the page within two minutes, Skill
26
+ Builder proves it holds the secret and the AI tool stays connected, with no new code. Closing
27
+ the tab, a new window or tab, restoring tabs after a browser restart, or restarting the AI
28
+ tool still asks for a new code. Older tabs and connectors are unaffected: the messages are
29
+ only used between 3.1.0 and an app that knows them. Disconnecting or denying in Skill Builder,
30
+ or turning Connect AI off, closes with code 4000 and the connector forgets the secret at once.
31
+
32
+ ## 3.0.0
33
+
34
+ Fewer, grouped tools, so AI tools read about a third less with every request and choose tools
35
+ more reliably. Every feature stays. **Replace your install line with the `@3` one** (Skill
36
+ Builder → Settings → Connect AI): `2.x` connectors can no longer connect, and Skill Builder
37
+ tells you when it finds one.
38
+
39
+ - **41 tools instead of 67.** Related actions share one tool, with an `action` (or `kind`):
40
+ - `block_action`: `move`, `duplicate`, `remove`, `convert`, `break_down`, `extract`
41
+ (was `move_block`, `duplicate_block`, `remove_block`, `convert_block`,
42
+ `break_down_block`, `extract_block_to_file`).
43
+ - `file_action`: `add`, `write`, `move`, `rename` (was `add_file`, `write_code_file`,
44
+ `move_file`, `rename_file`).
45
+ - `delete`: `session`, `document`, `file`, `block_type`, `library_item` (was
46
+ `delete_session`, `remove_document`, `remove_file`, `delete_block_type`,
47
+ `remove_library_item`). It still asks the person first.
48
+ - `duplicate`: `session`, `document` (was `duplicate_session`, `duplicate_document`).
49
+ - `link`: `connect`, `disconnect`.
50
+ - `versions`: `list`, `diff` (was `list_versions`, `diff_versions`).
51
+ - `library_item`: `add`, `update`, `restore_version`, `copy_builtin`, `set_hidden` (was
52
+ `add_library_item`, `update_library_item`, `restore_library_version`,
53
+ `copy_builtin_to_library`, `set_library_hidden`).
54
+ - `repository_import`: `start`, `add_files`, `finish` (was `start_repository_import`,
55
+ `add_repository_files`, `finish_repository_import`).
56
+ - `download`: `project` (the zip or the report), `backup` (was `download_export`,
57
+ `download_backup`).
58
+ - `get_session` with `canvas: true` replaces `get_canvas`; `get_document` with `fileId`
59
+ replaces `read_file`; `validate` with `files` replaces `check_files`; `add_document` with
60
+ `fromLibrary` replaces `add_from_library`.
61
+ - **Leaner definitions:** the input schemas AI tools read leave out length limits (Skill Builder
62
+ still enforces them), and shared notes are said once in the server instructions.
63
+ - **Compact results:** tool results are sent without indentation.
64
+ - **Protocol 3:** the tool list no longer repeats each title in its annotations.
65
+
12
66
  ## 2.5.0
13
67
 
14
68
  Measure and improve a project, and a faster security scan.
package/README.md CHANGED
@@ -72,10 +72,10 @@ shows the same steps with copy buttons and one-click install links for VS Code a
72
72
  Every tool runs the same command, which names the major version:
73
73
 
74
74
  ```bash
75
- npx -y @pascalcouturier/skill-builder-mcp@2
75
+ npx -y @pascalcouturier/skill-builder-mcp@3
76
76
  ```
77
77
 
78
- `@2` means "the newest 2.x release". `npx` looks it up each time your AI tool starts the
78
+ `@3` means "the newest 3.x release". `npx` looks it up each time your AI tool starts the
79
79
  connector, so you get fixes and new features after a restart without editing anything. A
80
80
  release that changes how the app and the connector talk to each other needs a new major
81
81
  (`@3`) and never arrives on its own.
@@ -90,7 +90,7 @@ User Configuration** and add:
90
90
  "skill-builder": {
91
91
  "type": "stdio",
92
92
  "command": "npx",
93
- "args": ["-y", "@pascalcouturier/skill-builder-mcp@2"]
93
+ "args": ["-y", "@pascalcouturier/skill-builder-mcp@3"]
94
94
  }
95
95
  }
96
96
  }
@@ -102,7 +102,7 @@ Then switch Copilot Chat to **Agent** mode and tick the **skill-builder** tools
102
102
  **Claude Code** (CLI and the VS Code extension), once in a terminal:
103
103
 
104
104
  ```bash
105
- claude mcp add --scope user skill-builder -- npx -y @pascalcouturier/skill-builder-mcp@2
105
+ claude mcp add --scope user skill-builder -- npx -y @pascalcouturier/skill-builder-mcp@3
106
106
  ```
107
107
 
108
108
  **OpenAI Codex** (CLI and the VS Code extension), in `~/.codex/config.toml`
@@ -111,7 +111,7 @@ claude mcp add --scope user skill-builder -- npx -y @pascalcouturier/skill-build
111
111
  ```toml
112
112
  [mcp_servers.skill-builder]
113
113
  command = "npx"
114
- args = ["-y", "@pascalcouturier/skill-builder-mcp@2"]
114
+ args = ["-y", "@pascalcouturier/skill-builder-mcp@3"]
115
115
  ```
116
116
 
117
117
  **Cursor** (`~/.cursor/mcp.json`), **Claude Desktop** (**Settings → Developer → Edit
@@ -122,14 +122,14 @@ Config**, then restart it) and most other clients (Windsurf, Cline, Zed…):
122
122
  "mcpServers": {
123
123
  "skill-builder": {
124
124
  "command": "npx",
125
- "args": ["-y", "@pascalcouturier/skill-builder-mcp@2"]
125
+ "args": ["-y", "@pascalcouturier/skill-builder-mcp@3"]
126
126
  }
127
127
  }
128
128
  }
129
129
  ```
130
130
 
131
131
  On **Windows**, if the tool can not start `npx`, use `"command": "cmd"` and
132
- `"args": ["/c", "npx", "-y", "@pascalcouturier/skill-builder-mcp@2"]`.
132
+ `"args": ["/c", "npx", "-y", "@pascalcouturier/skill-builder-mcp@3"]`.
133
133
 
134
134
  ### 2. Turn on Connect AI in Skill Builder
135
135
 
@@ -155,7 +155,10 @@ The code is made by the connector and shown only in your AI tool; it never trave
155
155
  connection. Both sides prove they know it, so no other program on your computer can pose as
156
156
  Skill Builder or as the connector. Three wrong codes close the connection; ten in one run
157
157
  turn pairing off until you restart the AI tool. You pair again after restarting the AI tool
158
- or reloading Skill Builder; the code is new every time and you never need to keep it.
158
+ or in a new Skill Builder window; the code is new every time and you never need to keep it.
159
+ Refreshing the page keeps the pairing (within two minutes, and until the AI tool restarts): the
160
+ connector gives Skill Builder a one-use secret that it keeps as a key no script can read, and
161
+ Skill Builder proves it holds it, so there is no new code.
159
162
 
160
163
  ## What you can ask
161
164
 
@@ -177,7 +180,7 @@ or reloading Skill Builder; the code is new every time and you never need to kee
177
180
  The connector offers MCP prompts, which AI tools show as slash commands:
178
181
 
179
182
  - **`review-skill`** (always): the AI checks a skill or agent with Skill Builder's rules
180
- (`check_files` for files in your repository, `validate` in Skill Builder), fixes the
183
+ (`validate` with `files` for files in your repository, `validate` alone in Skill Builder), fixes the
181
184
  problems, improves it following best practice and summarises what it changed.
182
185
  - **`init-agents-md`** (when Skill Builder is connected): like `/init`, the AI reads your
183
186
  repository (commands, structure, conventions, installed skills and agents) and creates or
@@ -210,75 +213,49 @@ The AI can do what you can do in the app, except anything to do with the cloud (
210
213
  sync, the AI check, the community library). Tools marked **asks** wait for your confirmation
211
214
  in Skill Builder.
212
215
 
213
- | Tool | What it does | Asks |
214
- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
215
- | `get_status` | What is open: project, skill or agent, file, unsaved changes | |
216
- | `list_sessions` | Search, filter, sort and page projects | |
217
- | `get_session` | A project's skills and agents, files and links | |
218
- | `get_document` | A skill or agent with every block (uids, types, values) | |
219
- | `read_file` | The markdown a file produces, or a script's text | |
220
- | `list_block_types` | Block types and their fields | |
221
- | `list_templates` | Templates for new skills, agents and rules, with best practice for writing them | |
222
- | `list_library` | Built-in skills and your library items | |
223
- | `get_library_item` | One library item with its files, scan result and versions | |
224
- | `validate` | The checks (errors, warnings, info), with one-click fixes | |
225
- | `check_files` | Check skill or agent files you send (spec, security, syntax); stores nothing | |
226
- | `analyze_project` | The project report's analysis: findings with evidence, context cost per AI tool (tokens as estimates), competition, portability, tests | |
227
- | `compare_analysis` | Before and after a baseline from `analyze_project`, computed by Skill Builder | |
228
- | `get_standards` | Best practice per topic and per AI tool, with sources and dates | |
229
- | `use_skill` | Use a skill, agent, rule or instructions the person shared: main file, then files on demand | first use |
230
- | `preview_export` | The files the zip would contain (ready for a project, or plain folders) | |
231
- | `list_versions` | Saved versions | |
232
- | `diff_versions` | Line changes between versions or against the working copy | |
233
- | `get_canvas` | The canvas graph | |
234
- | `create_session` | New project | |
235
- | `open_session` | Show a project, skill or agent, or file in the app | |
236
- | `update_session` | Rename, change author or description | |
237
- | `duplicate_session` | Copy a project | |
238
- | `delete_session` | Delete a project and its versions | asks |
239
- | `add_document` | Add a skill or agent, optionally from a template | |
240
- | `update_document` | Set name, description, licence, allowed tools, model… | |
241
- | `duplicate_document` | Copy a skill or agent | |
242
- | `remove_document` | Delete a skill or agent | asks |
243
- | `write_project_instructions` | Create or update AGENTS.md and CLAUDE.md from your repository (`/init-agents-md`) | |
244
- | `start_repository_import` | Start importing your repository's AI files into a new project (`/import-project`) | |
245
- | `add_repository_files` | Send the repository's files, up to 50 per call | |
246
- | `finish_repository_import` | Scan, build and save the new project; return the summary | |
247
- | `add_block` | Add a block with values at a position | |
248
- | `update_block` | Change block values, collapse or expand | |
249
- | `move_block` | Up, down, or to another file | |
250
- | `duplicate_block` | Copy a block | |
251
- | `remove_block` | Remove a block | |
252
- | `convert_block` | Turn a block into Custom markdown | |
253
- | `break_down_block` | Split Custom markdown into built-in blocks | |
254
- | `extract_block_to_file` | Move a long block into a new reference file | |
255
- | `add_file` | Add a reference, script or asset, optionally in a folder | |
256
- | `write_code_file` | Write a script or data file (scanned, never run) | |
257
- | `add_files` | Add several supporting files by path (scanned like uploads) | |
258
- | `move_file` | Move a file to another folder of its skill (`scripts/test`) | |
259
- | `rename_file` | Rename a reference | |
260
- | `remove_file` | Delete a file | asks |
261
- | `connect` | Link an agent to a skill, or point a reference or Resource link block | |
262
- | `disconnect` | Remove such a link | |
263
- | `add_from_library` | Add a library skill or agent to the project | |
264
- | `update_evaluation` | Save tests for a skill or agent, or the results of running them (`/evaluate-skill`) | |
265
- | `apply_fix` | Apply a fix from `validate` | |
266
- | `save_version` | Save a version (bump suggested from the changes) | |
267
- | `restore_version` | Replace the working copy with a version | asks |
268
- | `download_export` | Download the zip in the browser, for the AI tools you choose, or the project report | |
269
- | `download_backup` | Download a backup in the browser | |
270
- | `tidy_canvas` | Tidy the canvas layout | |
271
- | `undo_ai_changes` | Same as **Undo AI changes** | if you edited |
272
- | `save_block_type` | Create or edit a custom block type | |
273
- | `delete_block_type` | Delete a custom block type | asks |
274
- | `add_library_item` | Add your own skill or agent to the library from markdown | if warnings |
275
- | `update_library_item` | Edit a library item (saved as a new version) | |
276
- | `restore_library_version` | Bring back an older version of a library item | |
277
- | `copy_builtin_to_library` | Make an editable copy of a built-in skill | |
278
- | `set_library_hidden` | Hide or show a built-in skill | |
279
- | `remove_library_item` | Delete a library item | asks |
280
- | `import_from_github` | List and import skills and agents from a public GitHub repo | if warnings |
281
- | `set_preferences` | Default author, Blocks or Canvas view, block matching on import | |
216
+ | Tool | What it does | Asks |
217
+ | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
218
+ | `get_status` | What is open: project, skill or agent, file, unsaved changes | |
219
+ | `list_sessions` | Search, filter, sort and page projects | |
220
+ | `get_session` | A project's skills and agents, files and links; with `canvas`, the canvas graph | |
221
+ | `get_document` | A skill or agent with every block (uids, types, values); with `fileId`, the markdown a file produces or a script's text | |
222
+ | `list_block_types` | Block types and their fields | |
223
+ | `list_templates` | Templates for new skills, agents and rules, with best practice for writing them | |
224
+ | `list_library` | Built-in skills, agents and rules, and your library items | |
225
+ | `get_library_item` | One library item with its files, scan result and versions | |
226
+ | `validate` | The checks, with one-click fixes, each with why it matters and its source; with `files`, checks skill or agent files from your repository (nothing is stored); `documentId` checks one item and `since` returns only what changed since your last result | |
227
+ | `analyze_project` | The project report's analysis: scorecard, findings with evidence, context cost per AI tool, competition, portability, tests; returns a baseline id | |
228
+ | `compare_analysis` | Before and after a baseline, computed by Skill Builder (characters, findings, tests) | |
229
+ | `get_standards` | Best practice per topic and per AI tool, with sources and the date each was checked; topic `improve` is the `/improve-until` routine | |
230
+ | `use_skill` | Use a skill, agent, rule or instructions you shared: main file, then files on demand | first use |
231
+ | `preview_export` | The files the zip would contain (ready for a project, or plain folders) | |
232
+ | `versions` | Saved versions (`list`), or line changes between versions or against the working copy (`diff`) | |
233
+ | `create_session` | New project | |
234
+ | `open_session` | Show a project, skill or agent, or file in the app | |
235
+ | `update_session` | Rename, change author or description, star | |
236
+ | `duplicate` | Copy a project (`session`) or a skill or agent (`document`) | |
237
+ | `delete` | Delete a project and its versions, a skill or agent, a file, a custom block type or a library item | asks |
238
+ | `add_document` | Add a skill, agent or tool file, optionally from a template or a whole workflow (a workflow id from `list_templates`), or a copy of a library item (`fromLibrary`) | |
239
+ | `update_document` | Set name, description, licence, allowed tools, model… | |
240
+ | `write_project_instructions` | Create or update AGENTS.md and CLAUDE.md from your repository (`/init-agents-md`) | |
241
+ | `repository_import` | Import your repository's AI files into a new project: `start`, `add_files` (up to 50 per call), `finish` (`/import-project`) | |
242
+ | `add_block` | Add a block with values at a position | |
243
+ | `update_block` | Change block values, collapse or expand | |
244
+ | `block_action` | `move` (up, down or to another file), `duplicate`, `remove`, `convert` to Custom markdown, `break_down` into built-in blocks, `extract` to a new reference file | |
245
+ | `add_files` | Add several supporting files by path (scanned like uploads) | |
246
+ | `file_action` | `add` a reference, script or asset, `write` a script or data file (scanned, never run), `move` it to another folder (`scripts/test`), `rename` a reference | |
247
+ | `link` | `connect` an agent to a skill, or point a reference or Resource link block; `disconnect` removes the link | |
248
+ | `update_evaluation` | Save tests for a skill or agent, or the results of running them (`/evaluate-skill`) | |
249
+ | `apply_fix` | Apply a fix from `validate`, such as adding or limiting a Completion goal | |
250
+ | `save_version` | Save a version, only when you ask (bump suggested from the changes) | asks |
251
+ | `restore_version` | Replace the working copy with a version | asks |
252
+ | `download` | Download the zip (refused if the scan finds a secret) or the project report as HTML or Markdown (`project`), or a backup (`backup`) | asks |
253
+ | `tidy_canvas` | Tidy the canvas layout | |
254
+ | `undo_ai_changes` | Same as **Undo AI changes** | if you edited |
255
+ | `save_block_type` | Create or edit a custom block type | |
256
+ | `library_item` | Your library: `add` a skill, agent or rule from markdown, `update` it (a new version), `restore_version`, `copy_builtin` (an editable copy of a built-in skill), `set_hidden` | if warnings |
257
+ | `import_from_github` | List and import skills and agents from a public GitHub repo | if warnings |
258
+ | `set_preferences` | Default author, Blocks or Canvas view, block matching on import | |
282
259
 
283
260
  Edits carry the project's revision. If you changed the project since the AI last read it,
284
261
  the edit is refused and the AI reads it again, so it never overwrites your work by accident.
@@ -375,7 +352,7 @@ runtime code generation.
375
352
  - **Inputs are checked** against schemas, and text the AI writes goes through Skill
376
353
  Builder's security scanner (prompt-injection phrases, hidden characters, secrets,
377
354
  download-and-run commands). Scripts are stored as text and never run.
378
- - **Major version, not `latest`:** the install line is `@2`, so you get new 2.x releases but
355
+ - **Major version, not `latest`:** the install line is `@3`, so you get new 3.x releases but
379
356
  never a breaking major unasked. Published npm versions can never be changed or replaced, and
380
357
  only the approved GitHub Actions workflow can publish. To review every release first, put
381
358
  an exact version after the `@` instead; Skill Builder still tells you when it is out of
@@ -404,7 +381,7 @@ Details, the threat model, how to check a release yourself and how to report a p
404
381
  | _"AI tools are connected in another tab"_ | Click **Use this tab** in Skill Builder, or close the other tab or window. |
405
382
  | _"…connector x.y.z is out of date…"_ in the app | See [Updating](#updating). |
406
383
  | _"Not saved: the security check refused it"_ | The text contains something the scanner does not allow (for example an API key or a `curl … \| sh` command). Remove it and try again. |
407
- | Company network blocks `npx` | Ask for `registry.npmjs.org` to be allowed, or install once with `npm install -g @pascalcouturier/skill-builder-mcp@2` and use `skill-builder-mcp` as the command (run it again to update; a global install does not update itself). |
384
+ | Company network blocks `npx` | Ask for `registry.npmjs.org` to be allowed, or install once with `npm install -g @pascalcouturier/skill-builder-mcp@3` and use `skill-builder-mcp` as the command (run it again to update; a global install does not update itself). |
408
385
  | Safari | Not supported: Safari blocks websites from connecting to programs on your computer. Use Chrome, Edge or Firefox. |
409
386
 
410
387
  The connector logs connection events (never your content) to your AI tool's MCP log (VS
@@ -412,8 +389,8 @@ Code: **MCP: List Servers → skill-builder → Show Output**).
412
389
 
413
390
  ## Updating
414
391
 
415
- The install line names the major version (`@2`), so the connector updates itself: each time
416
- your AI tool starts it, `npx` fetches the newest 2.x release. You only have to restart.
392
+ The install line names the major version (`@3`), so the connector updates itself: each time
393
+ your AI tool starts it, `npx` fetches the newest 3.x release. You only have to restart.
417
394
 
418
395
  Skill Builder tells you when a connected tool's connector is older than the one it was built
419
396
  for: a notice when the tool connects, an amber dot on the **AI** menu in the header, and a
@@ -425,12 +402,14 @@ note under the tool in **Settings → Connect AI**. What to do:
425
402
  the window or quit the tool) or `npx` served a cached copy: delete the `_npx` folder inside
426
403
  your npm cache (`npm config get cache` prints where it is).
427
404
  - **"Replace its install line…"**: the tool has a line from an earlier major (for example
428
- `@1`), which a restart keeps running. Copy the current line from **Settings → Connect AI →
405
+ `@2`), which a restart keeps running. Copy the current line from **Settings → Connect AI →
429
406
  Set up an AI tool** (Claude Code: `claude mcp remove skill-builder`, then the new
430
407
  `claude mcp add` line).
431
408
 
432
409
  Read what changed in [CHANGELOG.md](./CHANGELOG.md). An older connector that still speaks a
433
- protocol the app supports keeps working; it only misses what is new.
410
+ protocol the app supports keeps working; it only misses what is new. A `2.x` connector can not
411
+ connect to the current Skill Builder (3.0 grouped the tools): Skill Builder says so, and the
412
+ fix is to replace the install line with the `@3` one.
434
413
 
435
414
  ## Removing it
436
415
 
@@ -458,7 +437,8 @@ Nothing else is installed, and the connector leaves no files behind.
458
437
  - **ChatGPT** (web and desktop) only supports remote MCP servers, so it can not use this
459
438
  connector.
460
439
  - **Safari** is not supported.
461
- - **Pair on each start:** pairing is not remembered between restarts or reloads.
440
+ - **Pair on each start:** pairing is not remembered after the AI tool restarts, or in a new
441
+ window or tab. A refresh keeps it.
462
442
  - **Cloud features** (sign-in, sync, the AI check, the community library) are not available
463
443
  to AI tools.
464
444
 
package/SECURITY.md CHANGED
@@ -23,7 +23,11 @@ it does and does not do, how that is enforced, and how to check it yourself.
23
23
  - **No code from outside.** It never evaluates code it receives, and it does not generate
24
24
  code at runtime (`eval` and `new Function` are never called).
25
25
  - **No telemetry, no analytics, no accounts, no cloud.**
26
- - **No secrets stored.** Keys are made fresh for each connection and kept in memory only.
26
+ - **No secrets stored.** Keys are made fresh for each connection and kept in memory only. The
27
+ one exception is the resume secret that lets a refreshed Skill Builder tab reconnect without a
28
+ new code: it is random, used once, kept in the connector's memory only (never written
29
+ anywhere), accepted for two minutes after the tab left, and gone when the connector exits or when you
30
+ disconnect or turn Connect AI off in Skill Builder.
27
31
 
28
32
  These are checked by an automated test (`src/sandbox.test.ts`) that runs the exact file
29
33
  published to npm under Node's permission model (`--permission`, with read access to the
@@ -54,7 +58,8 @@ name, program start, file write or runtime code generation.
54
58
  `use_skill`): only items marked **Available to AI tools** in the project open in the tab, only
55
59
  after the person allows the first use in each connection, scanned each time (blocked content
56
60
  is never sent), script code only when allowed per item, and framed as guidance that never
57
- overrides the person.
61
+ overrides the person. An approval holds only for the text that was shown: a changed item asks
62
+ again.
58
63
 
59
64
  ## Secrets
60
65
 
@@ -65,8 +70,9 @@ name, program start, file write or runtime code generation.
65
70
  records every file and variable it touches; another checks the file loads nothing beyond
66
71
  networking, crypto and streams.
67
72
  - **Skill Builder refuses secrets in what the AI writes:** credentials by format (AWS, GitHub,
68
- Anthropic, OpenAI, Stripe, Google, npm, Slack tokens, JWTs, private keys), `.env`-style lines
69
- with a random-looking value, passwords in connection strings, and files named like secrets
73
+ Anthropic, OpenAI, Stripe, Google, GitLab, npm, Slack tokens, JWTs, private keys), `Bearer`
74
+ tokens, `.env`-style lines with a random-looking value (also when the value is on the next
75
+ line), passwords in connection strings, and files named like secrets
70
76
  (`.env`, `*.pem`, `id_rsa`, `credentials.json`). Placeholders such as `YOUR_API_KEY` are fine.
71
77
  The AI is told never to look for, repeat or store a secret.
72
78
  - **Your AI tool is what reads your project**, and only its own settings can limit that. For
@@ -122,9 +128,9 @@ commands, edit files). Treat any tool's output as untrusted, including this one'
122
128
 
123
129
  ```bash
124
130
  # What it contains, and its checksum
125
- npm pack @pascalcouturier/skill-builder-mcp@2.5.0
126
- tar -tzf pascalcouturier-skill-builder-mcp-2.5.0.tgz
127
- npm view @pascalcouturier/skill-builder-mcp@2.5.0 dist.integrity
131
+ npm pack @pascalcouturier/skill-builder-mcp@3.1.0
132
+ tar -tzf pascalcouturier-skill-builder-mcp-3.1.0.tgz
133
+ npm view @pascalcouturier/skill-builder-mcp@3.1.0 dist.integrity
128
134
 
129
135
  # That the registry signed it (in a project that installs it)
130
136
  npm audit signatures
@@ -138,15 +144,15 @@ On Node.js 25 and later the permission model also covers the network. `--help` n
138
144
  but to run the connector itself this way add `--allow-net`: it only listens on 127.0.0.1,
139
145
  and the sandbox test still checks that it never connects anywhere.
140
146
 
141
- Install instructions name the major version (`@2`), not `@latest` and not an exact release.
142
- `npx` resolves it each time your AI tool starts the connector, so you get new 2.x releases after
147
+ Install instructions name the major version (`@3`), not `@latest` and not an exact release.
148
+ `npx` resolves it each time your AI tool starts the connector, so you get new 3.x releases after
143
149
  a restart, while a release that breaks the protocol needs a new major and never arrives on its
144
150
  own. Published npm versions can never be changed or replaced, and releases are published only by
145
151
  the approved GitHub Actions workflow (no npm token exists).
146
152
 
147
153
  This means a release reaches you without you reviewing it first. If you want to review each one
148
154
  (for example in a company), put an exact version after the `@` in your AI tool's settings, such as
149
- `@2.5.0`, and update it yourself; Skill Builder still shows when your connector is out of date.
155
+ `@3.1.0`, and update it yourself; Skill Builder still shows when your connector is out of date.
150
156
  Use the commands above to look at any release before you run it.
151
157
 
152
158
  ## Reporting a problem