cherry-works 0.7.2 → 0.8.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
@@ -125,6 +125,9 @@ Each kind comes up at a different time:
125
125
  A skill or a playbook that is only a step of another can say
126
126
  `disable-user-invocation: true`: it is then not offered as a `/` command, and
127
127
  the agent still opens it when its triggers match or a playbook sends it there.
128
+ One that only you should start can say `disable-model-invocation: true`: it is
129
+ still a `/` command, and the agent never opens it on its own. A primitive
130
+ cannot say both, since then nobody could open it.
128
131
 
129
132
  `cw kinds <kind>` gives the exact fields each kind takes. An id names exactly
130
133
  one primitive across the whole charter, whatever its kind. If two files claim
@@ -160,7 +163,7 @@ agent reads it.
160
163
  | `cw test` | Run every case in `.cw/test/` against the charter |
161
164
  | `cw eval` | Put every case in `.cw/eval/` to the real agent under promptfoo |
162
165
  | `cw suite add \| edit \| remove` | Manage test files |
163
- | `cw vendor add <source> [--ref] \| remove \| list` | Install, update, remove or list vendor sources |
166
+ | `cw vendor add <source> [--ref] [--skill] \| remove \| list` | Install, update, remove or list vendor sources: a charter, or skills from a repository listed on [skills.sh](https://skills.sh) |
164
167
  | `cw portal [--port]` | Open the charter in a browser on this machine |
165
168
  | `cw mcp auth [id] [--status]` | Sign in, as yourself, to every mcp origin the charter reaches, or to one again |
166
169
  | `cw mcp serve` | Serve every mcp origin the charter reaches to your agent, over stdio |
@@ -331,7 +334,7 @@ cw vendor add git@github.com:your-org/charter-baseline.git --ref v1.2.0
331
334
 
332
335
  A vendor source is a git repository set up with `cw init`: author its charter
333
336
  there, test it, and push. Only its `.cw/charter/` folder is installed, under
334
- `.cw/vendor/<name>/`, pinned to the ref you chose, with the source's
337
+ `.cw/vendor/<owner>/<repository>/`, pinned to the ref you chose, with the source's
335
338
  `README.md` beside it, and left unstaged for you to read and commit, whatever
336
339
  else you have in hand. A repository
337
340
  without that folder is refused, and so is one that has vendors of its own:
@@ -339,7 +342,48 @@ vendoring is one level deep. Vendored primitives are read-only. To differ from
339
342
  one, write your own primitive under a new id.
340
343
 
341
344
  Run `cw vendor add` again with a new `--ref` to update a source, and
342
- `cw vendor remove <name>` to take it away. Run `cw build` after either.
345
+ `cw vendor remove <owner>/<repository>` to take it away, the folder as
346
+ `cw vendor list` shows it. Run `cw build` after either. A source installed
347
+ before 0.8.0 sits in `.cw/vendor/<repository>/` and keeps working; remove it and
348
+ add it again to move it.
349
+
350
+ ### Skills from `npx skills` repositories
351
+
352
+ `cw vendor add` also installs skills from a repository made for
353
+ [`npx skills`](https://github.com/vercel-labs/skills), one that holds no
354
+ charter but a `skills/` folder with a folder and its `SKILL.md` for each skill,
355
+ `skills/<name>/` or grouped up to three folders deep, as in
356
+ `skills/<group>/<name>/`:
357
+
358
+ ```bash
359
+ cw vendor add https://github.com/mattpocock/skills --skill grill-me --skill grilling
360
+ cw vendor add https://github.com/mattpocock/skills # every skill it holds
361
+ ```
362
+
363
+ `--skill` names a skill by the `name` its `SKILL.md` declares, and can be
364
+ given more than once; with none, every skill is installed. Each lands in
365
+ `.cw/vendor/<owner>/<repository>/skill/<name>/` as a skill of your charter,
366
+ read-only like any vendored primitive, with every file beside its `SKILL.md`,
367
+ and left unstaged for you to read and commit:
368
+
369
+ | `SKILL.md` | Becomes |
370
+ | --- | --- |
371
+ | `name` | the skill's id, and its one trigger |
372
+ | `description` | its description |
373
+ | `disable-model-invocation: true` | `disable-model-invocation: true` |
374
+ | `user-invocable: false` | `disable-user-invocation: true` |
375
+ | any other header (`license`, `allowed-tools`, `argument-hint`…) | left out; `cw vendor add` names each one it left out |
376
+
377
+ Only `skills/` is looked in: a `SKILL.md` elsewhere, such as the copies a
378
+ repository keeps for its own agent under `.claude/skills/`, is not a skill to
379
+ install, nor is one below another skill's folder, which comes along as one of
380
+ its files. A `SKILL.md` without a
381
+ `name` or a `description`, with a name that is not an id, or with a name another
382
+ one shares, stops the install. A source holding a `.cw/charter/` folder is a
383
+ charter, installed whole: `--skill` is refused for it. A skill named by
384
+ another skill in prose, as `grill-me` names `grilling`, is not installed with
385
+ it: add it with a second `--skill`. Run `cw vendor add` again to update the
386
+ skills you name; the others in the folder stay as they were.
343
387
 
344
388
  ### Recommended charter vendors
345
389
 
package/dist/cw.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // package.json
4
4
  var package_default = {
5
5
  name: "cherry-works",
6
- version: "0.7.2",
6
+ version: "0.8.0",
7
7
  description: "The charter engine: resolves a charter and compiles it into what a coding agent reads.",
8
8
  keywords: [
9
9
  "claude-code",