@jarel/myskills 0.1.0-beta.6 → 0.1.0-beta.8
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 +125 -11
- package/dist/index.js +33027 -29378
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -33,11 +33,16 @@ CLI tokens should be stored in the platform secret store where possible.
|
|
|
33
33
|
|
|
34
34
|
## Current Slice
|
|
35
35
|
|
|
36
|
-
This document describes the beta.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
This document describes the verified beta.7 CLI. Its GitHub prerelease is
|
|
37
|
+
published, and its dedicated API/CLI acceptance passed. It remains compatible
|
|
38
|
+
with existing hosted registry workflows. Beta.7 is deployed to hosted
|
|
39
|
+
production from the verified candidate and adds local authoring and deterministic
|
|
40
|
+
package creation. Native MCP Skills delivery is documented separately in the MCP
|
|
41
|
+
guide. The beta.2 visibility compatibility shims remain available for existing
|
|
42
|
+
clients. Source versions and npm publication are separate from hosted
|
|
43
|
+
deployment; see [Beta.7 release, publication, and staging evidence](../../docs/BETA7_RELEASE_DELIVERY.md)
|
|
44
|
+
for current status. The API and web expose their deployed version and commit
|
|
45
|
+
at `/version.json`.
|
|
41
46
|
|
|
42
47
|
### Beta.3 breaking security changes
|
|
43
48
|
|
|
@@ -69,8 +74,10 @@ Implemented commands:
|
|
|
69
74
|
```text
|
|
70
75
|
myskills version
|
|
71
76
|
myskills --version
|
|
77
|
+
myskills init <name> [--output <dir>] [--title <text>] [--summary <text>] [--license <text>] [--json]
|
|
72
78
|
myskills validate --path <file-directory-or-zip>
|
|
73
79
|
myskills scan --path <file-directory-or-zip>
|
|
80
|
+
myskills package --path <directory> --output <file.zip> [--json]
|
|
74
81
|
myskills search [query] [--api-url <url>]
|
|
75
82
|
myskills info <skill-slug> [--api-url <url>]
|
|
76
83
|
myskills login [--api-url <url>] [--method <password|api-key>] [--email <email>]
|
|
@@ -125,6 +132,43 @@ myskills token list
|
|
|
125
132
|
myskills token revoke <token-id>
|
|
126
133
|
```
|
|
127
134
|
|
|
135
|
+
`myskills init <name>` creates a minimal private Codex package in a new
|
|
136
|
+
directory. The default output is `./<name>`; use `--output` to select another
|
|
137
|
+
destination under an existing parent directory. The command writes `skill.json` and `SKILL.md` with
|
|
138
|
+
version `0.1.0`, `UNLICENSED`, and the `codex-skill` platform target. It does
|
|
139
|
+
not authenticate, call the network, or overwrite an existing file, directory,
|
|
140
|
+
or symlink. Edit the generated `SKILL.md`, then run `myskills validate --path`
|
|
141
|
+
and `myskills scan --path` before any separate authenticated submission.
|
|
142
|
+
|
|
143
|
+
`myskills package --path ./my-skill --output ./my-skill.zip` creates a
|
|
144
|
+
deterministic ZIP from one checked snapshot of a local package directory.
|
|
145
|
+
It validates the root manifest, portable paths, and bounded UTF-8 text, then
|
|
146
|
+
blocks credential and other blocking scan findings before creating output.
|
|
147
|
+
Warnings remain visible for review. The output reports the archive SHA-256,
|
|
148
|
+
byte size, and a separate `myskills submit --path ...` command. `--json` returns
|
|
149
|
+
the manifest, scan findings, output path, checksum, size, and next command.
|
|
150
|
+
Packaging does not contact the registry or bypass submission and review.
|
|
151
|
+
|
|
152
|
+
The output must end in `.zip` and have an existing parent directory outside
|
|
153
|
+
the source tree. Existing files, directories, symlinks, and symlink ancestors
|
|
154
|
+
are refused. All regular source files are included; there is no ignore file.
|
|
155
|
+
Keep credentials and unrelated files outside the source directory. The package
|
|
156
|
+
limits are 500 files, 1 MiB of text, 1,000 filesystem entries, and a 10 MiB
|
|
157
|
+
archive. Binary files,
|
|
158
|
+
symlinks, and special files are rejected. Text bytes, including BOMs and line
|
|
159
|
+
endings, are preserved. Entries use ordinal UTF-8 path order, fixed timestamps
|
|
160
|
+
and permissions, and uncompressed ZIP storage, so source mtimes and locale do
|
|
161
|
+
not change the archive checksum. Empty directories and executable bits are not
|
|
162
|
+
preserved. The archive checksum identifies the ZIP bytes, not the registry's
|
|
163
|
+
package-content digest.
|
|
164
|
+
|
|
165
|
+
Local authoring requires macOS or Linux. The archive is created with private
|
|
166
|
+
file permissions and exclusive creation; it never overwrites a destination
|
|
167
|
+
that appears during the command. A disk or write failure can leave a partial
|
|
168
|
+
output, which the error asks you to inspect before removal. Work in directories
|
|
169
|
+
owned by your user; this does not isolate writes from a hostile process running
|
|
170
|
+
as the same operating-system user.
|
|
171
|
+
|
|
128
172
|
The API-backed architecture preview includes the compiled graph, escaped
|
|
129
173
|
Mermaid, and a versioned diagram artifact with a plain-text accessible outline.
|
|
130
174
|
Use `--json` when a caller needs the complete JSON/Mermaid/outline projection;
|
|
@@ -177,10 +221,12 @@ myskills --version
|
|
|
177
221
|
myskills login
|
|
178
222
|
```
|
|
179
223
|
|
|
180
|
-
The
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
224
|
+
The beta.7 GitHub release and verified CLI assets are published. The npm `beta`
|
|
225
|
+
channel currently resolves to `0.1.0-beta.6` while beta.7 awaits maintainer passkey authentication,
|
|
226
|
+
and hosted production runs beta.7. Beta.7 adds deterministic local package
|
|
227
|
+
authoring and the native MCP delivery work described in the repository release
|
|
228
|
+
notes. To test repository changes before a later npm publication,
|
|
229
|
+
build and run them locally:
|
|
184
230
|
|
|
185
231
|
```bash
|
|
186
232
|
npm ci
|
|
@@ -275,6 +321,24 @@ and registry instance ID. Legacy records without that identity are not adopted
|
|
|
275
321
|
automatically: keep their files as a backup, review the source, and install into
|
|
276
322
|
a new root. A registry change requires a separate root.
|
|
277
323
|
|
|
324
|
+
New installation and snapshot records declare
|
|
325
|
+
`contentDigestAlgorithm: "sha256-json-ordinal-v1"`; transaction journals use
|
|
326
|
+
`targetContentDigestAlgorithm` for the candidate. This scheme normalizes paths,
|
|
327
|
+
sorts them by JavaScript string ordinal order (UTF-16 code units), then hashes
|
|
328
|
+
the UTF-8 JSON array of `{path, content}` entries with SHA-256. It does not
|
|
329
|
+
depend on the process locale. Readers reject unknown algorithm identifiers.
|
|
330
|
+
|
|
331
|
+
A missing algorithm field identifies the legacy `localeCompare` scheme.
|
|
332
|
+
The CLI verifies these records with the current process's legacy comparison
|
|
333
|
+
rules. It does not retry with a different algorithm. If a locale change makes
|
|
334
|
+
legacy bytes unverifiable, return to the original verification locale and
|
|
335
|
+
compatible Node/ICU environment before a trusted migration. Preserve the files
|
|
336
|
+
and recovery copies if their identity still cannot be proved. Never add an
|
|
337
|
+
algorithm field to an old hash by hand. After verification, an install or
|
|
338
|
+
update records the held bytes with an ordinal digest in the new journal and
|
|
339
|
+
snapshot; rollback does the same for its verified source snapshot. Untouched
|
|
340
|
+
legacy history and journals retain their original verification rules.
|
|
341
|
+
|
|
278
342
|
Local package intake, install, export, and rollback support macOS and Linux.
|
|
279
343
|
No-follow payload reads and writes, private staging directories, and drift
|
|
280
344
|
checks protect these operations. They do not isolate the workspace from a
|
|
@@ -301,8 +365,13 @@ team-owned execution targets are outside this adapter's beta scope.
|
|
|
301
365
|
`codex observe --upload` records verified filesystem state. Confirm separately
|
|
302
366
|
that Codex loaded the skill. To process one browser-queued update, supply a
|
|
303
367
|
separate token with `skills:read` and `targets:execute` through `MYSKILLS_TOKEN`
|
|
304
|
-
and run `companion run-once`.
|
|
305
|
-
|
|
368
|
+
and run `companion run-once`. If the workspace has a skill installed with
|
|
369
|
+
`--library-entry`, the token also needs `libraries:read`: the companion rechecks
|
|
370
|
+
that adoption before it changes files. Without it, the operation fails with
|
|
371
|
+
`API_TOKEN_SCOPE_REQUIRED` and a message that names the scope; files are not
|
|
372
|
+
changed. The CLI never widens a token's scopes. This command checks current
|
|
373
|
+
authorization, consent, policy, lease, and exact release identity. It does not
|
|
374
|
+
start a background daemon.
|
|
306
375
|
Browser/device login and additional provider install adapters remain planned.
|
|
307
376
|
|
|
308
377
|
To change skill visibility, use the canonical `myskills sharing set
|
|
@@ -345,3 +414,48 @@ Common scopes:
|
|
|
345
414
|
- `skills:submit` for author submissions.
|
|
346
415
|
- `review:read` and `review:write` for maintainer review workflows.
|
|
347
416
|
- `architectures:read` for architecture list, detail, preview, and fixture-plan reads.
|
|
417
|
+
- `libraries:read` for library reads and for install, update, and companion runs of library-bound skills.
|
|
418
|
+
- `libraries:write` for library changes.
|
|
419
|
+
|
|
420
|
+
## Libraries
|
|
421
|
+
|
|
422
|
+
`myskills libraries help` lists the source, import, review, tracking, subscription
|
|
423
|
+
and adoption commands. Requests use the [Libraries API contract](../../docs/plans/2026-09-26-library-api-contract.md)
|
|
424
|
+
and reviewed JSON files supplied with `--input`. The [Libraries guide](../../docs/LIBRARIES.md)
|
|
425
|
+
contains a complete workflow and scope requirements.
|
|
426
|
+
|
|
427
|
+
Bind an installation to an adopted version with
|
|
428
|
+
`myskills install <slug> --library-entry <entry-id>`. If the adopted release
|
|
429
|
+
requires user action, read its notes and add `--accept-user-action`. Updates
|
|
430
|
+
resolve that exact recommendation and recheck it before changing files. A
|
|
431
|
+
deleted or inaccessible entry never falls back to the newest registry release.
|
|
432
|
+
Local drift still stops replacement. Use
|
|
433
|
+
`myskills libraries unbind-local <slug> --dir <root>` to detach that local
|
|
434
|
+
binding explicitly while retaining files and rollback history.
|
|
435
|
+
|
|
436
|
+
`updates` and `update` report each skill separately. If an entry is deleted,
|
|
437
|
+
access is lost, the adopted release is revoked, or the entry has no adoption,
|
|
438
|
+
that skill shows `curation-unavailable` with the reason (`library.state` and
|
|
439
|
+
`library.reason` in `--json`). Its files and binding stay unchanged, other skills
|
|
440
|
+
are still evaluated and updated, and `update` exits 1. `install` fails closed
|
|
441
|
+
with `LIBRARY_CURATION_UNAVAILABLE`. A malformed or mismatched resolution stops
|
|
442
|
+
the command with `LIBRARY_RESOLUTION_INVALID`.
|
|
443
|
+
|
|
444
|
+
If a library adopts a version older than the installed one, the skill shows
|
|
445
|
+
`library-adopts-older` (`adoption-older-than-installed` in `--json`). MySkills
|
|
446
|
+
never downgrades automatically. When the last rollback snapshot is exactly the
|
|
447
|
+
adopted release, run `myskills rollback <slug>`; otherwise install the adopted
|
|
448
|
+
version into a new root with `--dir <new-root>`. `libraries unbind-local` keeps
|
|
449
|
+
the installed version instead.
|
|
450
|
+
|
|
451
|
+
`libraries review-bundle <submission-id>` prints only after the SHA-256 of the
|
|
452
|
+
response body matches `x-myskills-artifact-sha256`. The JSON output labels its
|
|
453
|
+
`payload` as `parsed-for-inspection`. Use `--output <new-file>` to keep the
|
|
454
|
+
exact verified bytes; an existing file is never replaced. Supply
|
|
455
|
+
`--artifact-sha256 <digest-from-review-requests>` to also verify the immutable
|
|
456
|
+
artifact requested for review. Without it, verification covers the response
|
|
457
|
+
header only; `expectedDigestVerified` reports this distinction in JSON output.
|
|
458
|
+
|
|
459
|
+
## Skill improvement
|
|
460
|
+
|
|
461
|
+
Prepare local skill reviews with `myskills improve`, inspect the report, export a draft, and submit it through normal review. Registry plans pin source/reviewer versions and apply user, team or organization policy. Execution requires the exact local plan digest and explicit cloud consent. See [the feature guide](../../docs/SKILL_IMPROVEMENT.md) for commands, JSON bodies, evaluation suites and current adapter limits. The first runner is Claude Code 2.1.283 or newer. Use an exact model ID and an existing Claude sign-in. Codex improvement execution remains disabled pending its isolation gate; final release verification is recorded in the feature guide.
|