skillcask 0.10.0 → 0.10.2
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 +78 -6
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -33,6 +33,29 @@ powershell -ExecutionPolicy Bypass -c "irm https://github.com/puniserv/skillcask
|
|
|
33
33
|
The two installer scripts download the binary for your platform from the latest release and put
|
|
34
34
|
it in `~/.cargo/bin` (`%USERPROFILE%\.cargo\bin` on Windows).
|
|
35
35
|
|
|
36
|
+
**Desktop app (macOS 14+ only for now)**
|
|
37
|
+
|
|
38
|
+
```sh
|
|
39
|
+
brew install puniserv/tap/skillcask puniserv/tap/skillcask-app
|
|
40
|
+
skillcask app # or open Skillcask from Applications
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Install with the full names: Homebrew loads a third-party tap's cask only when it is named in full
|
|
44
|
+
(or listed by `brew trust`); after that, `brew upgrade` takes the short name.
|
|
45
|
+
|
|
46
|
+
Without Homebrew:
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/puniserv/skillcask/releases/latest/download/skillcask-app-installer.sh | sh
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The installer downloads `Skillcask-X.Y.Z-macos-universal.zip` (signed and notarized, with its own
|
|
53
|
+
CLI inside) from the latest release, checks its sha256 and Gatekeeper's verdict, and moves the app
|
|
54
|
+
to `/Applications`; an earlier copy goes to the Trash. It leaves a Homebrew install alone.
|
|
55
|
+
`SKILLCASK_VERSION=X.Y.Z` picks a release, `SKILLCASK_APP_DIR` another folder.
|
|
56
|
+
|
|
57
|
+
Linux and Windows have the terminal UI, `skillcask ui`. More in [macOS app](#macos-app).
|
|
58
|
+
|
|
36
59
|
**npm, bun**
|
|
37
60
|
|
|
38
61
|
```sh
|
|
@@ -81,6 +104,24 @@ x64), checks its sha256 and its build provenance attestation, puts `skillcask` o
|
|
|
81
104
|
it with `args`. It runs no other action. Used at a tag (`@vX.Y.Z`) it takes the version from the
|
|
82
105
|
tag.
|
|
83
106
|
|
|
107
|
+
### Update
|
|
108
|
+
|
|
109
|
+
`skillcask self-update` reruns the release's installer when `skillcask-installer.sh` installed
|
|
110
|
+
this binary (Linux, macOS); for any other install it prints the one command to run and exits 1.
|
|
111
|
+
`SKILLCASK_SELF_UPDATE=0` makes it print the installer command too. By hand:
|
|
112
|
+
|
|
113
|
+
```sh
|
|
114
|
+
brew update && brew upgrade skillcask skillcask-app # Homebrew (skillcask alone without the app)
|
|
115
|
+
npm install -g skillcask@latest # npm (bun: bun add -g skillcask@latest)
|
|
116
|
+
cargo install --locked skillcask # Cargo
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
The installer scripts (`skillcask-installer.sh`, `skillcask-installer.ps1`,
|
|
120
|
+
`skillcask-app-installer.sh`) install the latest release when run again; the app's installer moves
|
|
121
|
+
the earlier copy to the Trash. The app's own CLI updates with the app; Homebrew updates the app and
|
|
122
|
+
the CLI on your `PATH` separately, which is why `brew upgrade` names both. For the GitHub Action,
|
|
123
|
+
bump the pinned commit and `version`. `skillcask --version` prints what you have.
|
|
124
|
+
|
|
84
125
|
## Use
|
|
85
126
|
|
|
86
127
|
```sh
|
|
@@ -298,18 +339,24 @@ Every command except `publish`, `validate` and `projects` takes `-g, --global`.
|
|
|
298
339
|
| `validate [paths…]` | Check `SKILL.md` files against the Agent Skills spec, see below. |
|
|
299
340
|
| `projects [dirs…]` | Directories that hold `skills.toml` under the given ones (default: the current one), up to 6 levels down; hidden directories, `node_modules`, `vendor`, `target` and `Library` are skipped. |
|
|
300
341
|
| `ui` | A terminal UI over the commands above: skills with their state and updates, `info`, SKILL.md and `audit` per skill, add, adopt (also offered when an add hits a skill skillcask does not manage), update (diff first), remove, doctor, a filter of the list, search of the registries (and skills.sh, asked once), the repositories in use (`R`, `S` turns skills.sh on or off) and a projects picker; `g` switches between the project and `--global`. |
|
|
342
|
+
| `app` | Opens the macOS app (see [macOS app](#macos-app)); exits 1 when it is not installed, and on Linux and Windows. |
|
|
343
|
+
| `self-check [--json]` | Whether a newer skillcask is released, from the `skillcask-app` cask file of the tap; one anonymous request, only when run; writes nothing. |
|
|
344
|
+
| `self-update [--dry-run]` | Update skillcask: reruns the release's installer for an installer-script install (Linux, macOS), else prints the Homebrew, npm, cargo or app command and exits 1. `--dry-run` prints what would run. |
|
|
301
345
|
| `<other>` | Runs `skillcask-<other>` from `PATH`, like git and cargo plugins. |
|
|
302
346
|
|
|
303
|
-
`status`, `outdated`, `info`, `search`, `doctor`, `audit`, `projects
|
|
304
|
-
|
|
305
|
-
|
|
347
|
+
`status`, `outdated`, `info`, `search`, `doctor`, `audit`, `projects`, `config` and
|
|
348
|
+
`self-check` take `--json`: one JSON document on one line of stdout, with the same exit code;
|
|
349
|
+
warnings and errors stay on stderr. Package text in it is escaped as in the terminal
|
|
350
|
+
(`<U+202E>`). `status --json` has `repositories`
|
|
306
351
|
(`[{"name", "type", "url", "allowed"}]`) and `skills-sh`; `search --json` results carry `source` (the repository
|
|
307
352
|
name, or `skills.sh`) and `installs`, and the document has `"skills-sh": true|false|null` (`null`:
|
|
308
|
-
never decided).
|
|
353
|
+
never decided). `self-check --json` is `{"version", "latest", "newer"}` (`latest` is `null` when
|
|
354
|
+
the cask holds no readable version). For example `skillcask outdated --json | jq
|
|
309
355
|
'.packages[] | select(.within != .locked)'`.
|
|
310
356
|
|
|
311
357
|
Exit codes: 0 ok, 1 manifest/lock/status problems, 2 authentication, 3 network, 4 hash mismatch,
|
|
312
|
-
5 IO or archive error.
|
|
358
|
+
5 IO or archive error. `self-update` exits 1 when it updated nothing and printed the command to run;
|
|
359
|
+
when it runs the installer, the installer's exit code is its own.
|
|
313
360
|
|
|
314
361
|
Output is coloured in a terminal (`NO_COLOR` turns it off, `CLICOLOR_FORCE` on) and errors name
|
|
315
362
|
the next step on a `hint:` line. For coding agents, `--agent` or `SKILLCASK_AGENT=1` prints terse,
|
|
@@ -448,6 +495,15 @@ too young falls back to an older commit when the server supports partial fetches
|
|
|
448
495
|
and paths that collide by case or Unicode form fail a skill that contains them, and are
|
|
449
496
|
skipped outside the selected skills.
|
|
450
497
|
- No package code runs, ever. No telemetry.
|
|
498
|
+
- `self-check` and the app's "Check for Updates…" send nothing but the request for the tap's cask
|
|
499
|
+
file, which carries the skillcask version in its User-Agent (`skillcask/<version>`): no token,
|
|
500
|
+
account, project or skill data; GitHub sees your IP address. The app checks
|
|
501
|
+
daily only after you say yes. `SKILLCASK_SELF_CHECK_URL` points it at a mirror (HTTPS only).
|
|
502
|
+
- `self-update` sends the same request, then, for an installer-script install only, downloads that
|
|
503
|
+
release's `skillcask-installer.sh` the same way (`SKILLCASK_SELF_UPDATE_URL` replaces the
|
|
504
|
+
download base) and runs it with `/bin/sh`, without your `SKILLCASK_*`, `INSTALLER_*` and
|
|
505
|
+
`CARGO_DIST_*` variables. The script checks the archive's sha256 with `sha256sum`, so
|
|
506
|
+
`self-update` refuses to run it when `sha256sum` is not on `PATH`.
|
|
451
507
|
- `add` and `update` (and `install` when it resolves) warn about characters a reviewer cannot
|
|
452
508
|
see in the text files of new content: bidi controls (`U+202A`-`U+202E`, `U+2066`-`U+2069`,
|
|
453
509
|
`U+200E`, `U+200F`, `U+061C`), zero-width characters (`U+200B`-`U+200D`, `U+2060`, `U+FEFF`) and
|
|
@@ -553,7 +609,23 @@ file through the GitLab raw files API
|
|
|
553
609
|
project folder, see each skill's state, updates and audit findings, read its SKILL.md and diffs,
|
|
554
610
|
and run `add` (also `--adopt`), `update`, `remove`, `install` and `doctor --fix`; its Settings
|
|
555
611
|
change every key `skillcask -g config` lists. It has no package logic of its own: it runs the
|
|
556
|
-
`skillcask` binary and reads its `--json` output.
|
|
612
|
+
`skillcask` binary, 0.9.4 or newer, and reads its `--json` output.
|
|
613
|
+
|
|
614
|
+
Install it with Homebrew, then open it from Applications or with `skillcask app`. The cask depends
|
|
615
|
+
on the formula; name both, since Homebrew loads from a third-party tap only what it was asked for
|
|
616
|
+
or what `brew trust` lists:
|
|
617
|
+
|
|
618
|
+
```sh
|
|
619
|
+
brew install puniserv/tap/skillcask puniserv/tap/skillcask-app
|
|
620
|
+
```
|
|
621
|
+
|
|
622
|
+
Every release also has `Skillcask-X.Y.Z-macos-universal.zip`, signed with a Developer ID and
|
|
623
|
+
notarized (D50): unzip it into `/Applications`.
|
|
624
|
+
|
|
625
|
+
The app tells you about a newer release but installs nothing ([Update](#update)). Its app menu
|
|
626
|
+
has Check for Updates…, which runs `skillcask self-check`; it checks daily only after you say yes
|
|
627
|
+
once (it asks in the sidebar; Settings › Updates switches it). A newer version gets a card and a
|
|
628
|
+
sheet with the Homebrew command to copy, or the release page for a download (D51).
|
|
557
629
|
|
|
558
630
|
`macos/bundle.sh` builds a universal `Skillcask.app` that carries its own CLI at
|
|
559
631
|
`Contents/Helpers/skillcask`. Run outside a bundle (`swift run` from `macos/`), the app uses the
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"hasInstallScript": true,
|
|
20
20
|
"license": "MIT OR Apache-2.0",
|
|
21
21
|
"name": "skillcask",
|
|
22
|
-
"version": "0.10.
|
|
22
|
+
"version": "0.10.2"
|
|
23
23
|
},
|
|
24
24
|
"node_modules/detect-libc": {
|
|
25
25
|
"engines": {
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
"requires": true,
|
|
51
|
-
"version": "0.10.
|
|
51
|
+
"version": "0.10.2"
|
|
52
52
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"artifactDownloadUrls": [
|
|
3
|
-
"https://github.com/puniserv/skillcask/releases/download/v0.10.
|
|
3
|
+
"https://github.com/puniserv/skillcask/releases/download/v0.10.2"
|
|
4
4
|
],
|
|
5
5
|
"bin": {
|
|
6
6
|
"skillcask": "run-skillcask.js"
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"zipExt": ".tar.xz"
|
|
105
105
|
}
|
|
106
106
|
},
|
|
107
|
-
"version": "0.10.
|
|
107
|
+
"version": "0.10.2",
|
|
108
108
|
"volta": {
|
|
109
109
|
"node": "18.14.1",
|
|
110
110
|
"npm": "9.5.0"
|