@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 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
- It disables discovered Codex native skills; exact system-skill trees can remain
198
- only with their hash-bound disabled paths; migration preserves these package files. A client that restores or changes
199
- packaged skills requires a fresh inventory and disable plan. Native exports are
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 (SKILL.md > README.md > CLAUDE.md) |
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 |