@hasna/skills 0.8.8 → 0.8.10
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 +80 -4
- package/bin/index.js +7717 -5792
- package/bin/mcp.js +324 -154
- package/bin/migrate.js +2 -1
- package/bin/server.js +2 -1
- package/bin/worker.js +2 -1
- package/dist/cli/commands/plugin-admission.d.ts +2 -0
- package/dist/cli/option-boundary.d.ts +6 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +23084 -21742
- package/dist/lib/agent-adapters.d.ts +1 -0
- package/dist/lib/agent-codex-trust.d.ts +42 -0
- package/dist/lib/agent-codex.d.ts +10 -0
- package/dist/lib/agent-discovery.d.ts +4 -2
- package/dist/lib/codex-hook-rpc.d.ts +13 -0
- package/dist/lib/codex-hook-trust-files.d.ts +15 -0
- package/dist/lib/codex-hook-trust-identity.d.ts +16 -0
- package/dist/lib/codex-hook-trust-layout.d.ts +3 -0
- package/dist/lib/plugin-admission.d.ts +101 -0
- package/dist/lib/plugin-discovery.d.ts +13 -0
- package/dist/lib/plugin-projection-store.d.ts +14 -0
- package/dist/lib/plugin-projection.d.ts +80 -0
- package/dist/lib/profile-client.d.ts +10 -0
- package/dist/lib/remote-client.d.ts +4 -1
- package/dist/lib/remote-customer-operations.d.ts +1 -1
- package/dist/lib/remote-permissions.d.ts +24 -0
- package/dist/lib/skill-doc-file.d.ts +9 -0
- package/dist/lib/skillinfo.d.ts +3 -2
- package/dist/sdk/index.d.ts +2 -1
- package/dist/sdk/index.js +2966 -1651
- package/docs/plugin-admission.md +198 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -92,6 +92,13 @@ before synchronization or context loading. Review the hook installation and
|
|
|
92
92
|
restart the native client to load its current commands. Explicit `skills load`,
|
|
93
93
|
`skills context`, and `skills sync` commands can still select other profiles.
|
|
94
94
|
|
|
95
|
+
Reinstalling hooks without `--command` or `--selection-profile` preserves each
|
|
96
|
+
agent's existing executable and profile independently, including when using
|
|
97
|
+
`--agent all`. New agents use `skills` and `default`. Either explicit flag
|
|
98
|
+
overrides that choice for the requested agents. The policy's shared default
|
|
99
|
+
profile changes only when `--selection-profile` is supplied; older managed
|
|
100
|
+
agents without a per-agent profile retain that shared default.
|
|
101
|
+
|
|
95
102
|
The hook install `--include-vendor` option is retained for compatibility with
|
|
96
103
|
older scripts. Hook planning always inventories and disables discovered vendor
|
|
97
104
|
system skills; use `migrate native --include-vendor` when retiring their
|
|
@@ -103,6 +110,24 @@ request a selected skill in a prompt, for example `Use $pdf-generate to create
|
|
|
103
110
|
a PDF`. The hooks supply instructions; executing the skill remains a separate
|
|
104
111
|
explicit action.
|
|
105
112
|
|
|
113
|
+
For Codex 0.153.0, 0.154.0, and 0.155.0, the normal installed Skills CLI can
|
|
114
|
+
plan native trust for its three exact managed hook definitions:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
skills hook trust --agent codex --json
|
|
118
|
+
skills hook trust --agent codex --apply --plan-digest <reviewed-plan-digest> --json
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Review the commands, current hashes, and existing trust/enable state in the
|
|
122
|
+
plan. Apply refuses if the plan, package, declarations, or configuration changed.
|
|
123
|
+
It enrolls the current exact definitions, including reviewed modified hooks,
|
|
124
|
+
and preserves unrelated trust, settings, and comments. A private journal keeps
|
|
125
|
+
the pre-write configuration; a failed write or verification requires journal
|
|
126
|
+
reconciliation before retry. Unsupported versions or configuration layouts
|
|
127
|
+
refuse without a configuration write. Enrollment uses a short-lived native
|
|
128
|
+
app-server and makes hooks eligible for new Codex processes. Existing sessions
|
|
129
|
+
retain their own configuration; use their native hook controls to refresh them.
|
|
130
|
+
|
|
106
131
|
Each supported agent gets one small `skills-cli` native skill containing CLI
|
|
107
132
|
instructions, without a copied catalogue. Claude's native Skill tool admits
|
|
108
133
|
that bridge after other copies are retired. Prompt guards verify the owned
|
|
@@ -194,9 +219,22 @@ Reviewed Hermes installations need fresh source and directory coverage in their
|
|
|
194
219
|
reviewed bindings without changing existing source-only reviews.
|
|
195
220
|
|
|
196
221
|
Hook installation preserves unrelated configuration, hooks, and plugin assets.
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
222
|
+
For Codex it sets `skills.bundled.enabled = false` in user configuration, preserving
|
|
223
|
+
the `skills-cli` bridge and disabling discovered native skill paths. This prevents
|
|
224
|
+
supported Codex clients from installing or loading their bundled `.system` skills.
|
|
225
|
+
The setting and its discovery witness are enrolled in the same configuration
|
|
226
|
+
transaction; existing installations must rerun `skills hook install`. Missing or
|
|
227
|
+
re-enabled bundled protection fails `skills hook check` before context loads.
|
|
228
|
+
Ordinary `[skills.bundled]` and legacy `[[skills.config]]` tables are supported;
|
|
229
|
+
inline or dotted target definitions that require rewriting refuse before changes.
|
|
230
|
+
Convert those definitions to ordinary tables while preserving their values, then
|
|
231
|
+
rerun installation. The control has been verified with Codex 0.153.0, 0.153.4 and
|
|
232
|
+
0.154.0; this is not a claim that every older build supports it. Use a client that
|
|
233
|
+
supports `skills.bundled.enabled`; Skills does not infer support from version text
|
|
234
|
+
or silently substitute path-only protection. Existing exact system-skill trees can
|
|
235
|
+
remain only with their hash-bound disabled paths; migration preserves these package
|
|
236
|
+
files. A client that restores or changes packaged skills requires a fresh inventory
|
|
237
|
+
and disable plan. Native exports are
|
|
200
238
|
refused while managed CLI loading is active. Migration preserves ordinary skill
|
|
201
239
|
directories in private archives; `--include-unmanaged` includes user-authored
|
|
202
240
|
copies, and `--include-vendor` retires vendor `SKILL.md` discovery files while
|
|
@@ -251,6 +289,14 @@ system configuration, process-specific overrides, and alternate agent home
|
|
|
251
289
|
directories are outside automatic coverage and require their own integration
|
|
252
290
|
review before declaring a station migrated.
|
|
253
291
|
|
|
292
|
+
For reviewed Claude plugins, `skills integration plugin plan`, `admit` and
|
|
293
|
+
`resolve` provide a command-source admission boundary before native discovery.
|
|
294
|
+
Original packages and migrated skill/command prompts remain in private versioned
|
|
295
|
+
Skills storage. Native projections retain ordinary components, and a typed
|
|
296
|
+
receipt permits only verified registry/cache transitions. See
|
|
297
|
+
[plugin admission](docs/plugin-admission.md) for the package, review and runtime
|
|
298
|
+
contracts; these commands do not change live agent registrations or settings.
|
|
299
|
+
|
|
254
300
|
If your home `.claude` or `.codex` directory intentionally links to another
|
|
255
301
|
directory within your home, add `--allow-root-aliases` to hook installation and
|
|
256
302
|
native migration. The plan records and rechecks the exact link and target;
|
|
@@ -335,6 +381,24 @@ user and stable station ID, so rotating a key does not create a new station.
|
|
|
335
381
|
Consumers need `skills:read` and `stations:write`; profile publishers need
|
|
336
382
|
`skills:write`. Key scopes apply even to workspace owners.
|
|
337
383
|
|
|
384
|
+
`skills auth whoami --json` reports the current credential's effective
|
|
385
|
+
`permissions.publish` and `permissions.profilesWrite`, alongside its account
|
|
386
|
+
role and advertised scopes. Human output labels each permission `allowed`,
|
|
387
|
+
`denied`, or `unknown`; JSON uses `null` for unknown access. An owner role alone
|
|
388
|
+
does not grant either permission. `skills capabilities --json` and the SDK's
|
|
389
|
+
`getCapabilities()` also retain the server's typed permission and scope fields.
|
|
390
|
+
|
|
391
|
+
Before sending a bundle, `push` and `RemoteSkillsClient.publishSkill()` read
|
|
392
|
+
fresh capabilities and stop on an explicit publication denial. `profiles set`
|
|
393
|
+
similarly stops before a profile write. The refusal reports
|
|
394
|
+
`SKILLS_PERMISSION_DENIED` with the affected permission and guidance to obtain
|
|
395
|
+
an authorized credential; it never changes credentials or their scopes.
|
|
396
|
+
Servers that omit permissions (or predate the capabilities route) retain their
|
|
397
|
+
existing server-authorized write behavior, with access displayed as unknown.
|
|
398
|
+
Authentication failures and malformed permission responses do not bypass the
|
|
399
|
+
preflight. `push --dry-run` remains a local packing check and does not check
|
|
400
|
+
hosted publication access.
|
|
401
|
+
|
|
338
402
|
`--selection-profile` chooses the shared skill selection. The top-level
|
|
339
403
|
`--profile` option chooses an isolated credential file; these are separate
|
|
340
404
|
settings. `HASNA_SKILLS_SELECTION_PROFILE` overrides the installed selection
|
|
@@ -381,6 +445,18 @@ skills grants set default --file ./reviewed-policy.json --if-match <policy-revis
|
|
|
381
445
|
skills grants show default --revision <prior-policy-revision> --json
|
|
382
446
|
```
|
|
383
447
|
|
|
448
|
+
For executable arguments, use `--` after the skill and Skills options:
|
|
449
|
+
|
|
450
|
+
```bash
|
|
451
|
+
skills run --target local --selection-profile default --json \
|
|
452
|
+
your-skill@1.0.0 -- prepare --input child-input.json --json
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
Everything after that separator belongs to the executable, including flags such
|
|
456
|
+
as `--input`, `--json` and any further `--`. Cloud execution accepts structured
|
|
457
|
+
Skills `--input` only and rejects executable arguments. Existing calls without a
|
|
458
|
+
separator retain their option parsing behavior.
|
|
459
|
+
|
|
384
460
|
Updating a policy appends a revision and atomically changes its current pointer.
|
|
385
461
|
An empty `grants` array revokes shared execution access. Historical policies remain
|
|
386
462
|
readable and can be submitted as a new reviewed revision for rollback; they cannot
|
|
@@ -619,7 +695,7 @@ of app folders, and `XDG_CONFIG_HOME` is not consulted at all.
|
|
|
619
695
|
| `skills search <query>` | `s` | Search by name, description, or tags |
|
|
620
696
|
| `skills info <name>` | | Show metadata, env vars, and system dependencies |
|
|
621
697
|
| `skills show <name>` | | Show account or owned portable skill details |
|
|
622
|
-
| `skills docs <name>` | | Show documentation
|
|
698
|
+
| `skills docs <name>` | `--file skill\|readme\|claude` | Show preferred documentation; an explicit file must exist and unknown aliases fail |
|
|
623
699
|
| `skills requires <name>` | | Show env vars, system deps, and npm dependencies |
|
|
624
700
|
| `skills profiles show <id>` / `skills profiles set <id> --file <json>` | | Read an exact shared selection or update it with writer authorization |
|
|
625
701
|
| `skills install [name@version] --selection-profile <id>` | | Cache selected immutable bundles; without names, sync the profile |
|