@hasna/skills 0.10.60 → 0.10.62

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
@@ -109,10 +109,35 @@ skills migrate native --include-unmanaged --include-vendor --apply --json
109
109
 
110
110
  # Preview the available adapters, then install one bridge plus hooks per agent.
111
111
  skills hook agents --json
112
- skills hook install --agent all --selection-profile default --json
113
- skills hook install --agent all --selection-profile default --apply --json
112
+ skills hook install --selection-profile default --json
113
+ skills hook install --selection-profile default --apply --json
114
114
  ```
115
115
 
116
+ Without `--agent`, hook installation selects configured or detected consumers:
117
+ existing managed bridge bindings, provider-specific home configuration, or an
118
+ installed native CLI found through PATH. Detection reads metadata and never
119
+ executes a native CLI. A provider-specific directory also identifies a GUI
120
+ consumer without a CLI, such as Cursor. Shared `.agents/skills` or Claude
121
+ configuration alone does not identify another provider. No detected consumers
122
+ is an error; use `--agent <agent>` to configure a new consumer explicitly.
123
+
124
+ Every selected adapter still validates its configuration and prerequisites;
125
+ errors never silently drop a detected consumer. Explicit `--agent all` selects
126
+ all maintained adapters and requires every adapter's discovery capability,
127
+ including Sumi's installed read-only `sumi-paths` command. Sumi is selected by
128
+ its managed binding, native `sumi` or `sumi-paths` executable, existing legacy
129
+ provider home or `~/.config/sumi` configuration, a Sumi directory beneath
130
+ `XDG_CONFIG_HOME`, or any set `SUMI_HOME`, `SUMI_CONFIG_DIR`, `SUMI_CONFIG` or
131
+ `SUMI_CONFIG_CONTENT` selector (even empty or malformed). It then uses the
132
+ unchanged Sumi path protocol and fails closed on unsupported configuration or
133
+ a missing helper. Generic XDG configuration alone does not select Sumi; its
134
+ provider directory must be present. Relative XDG paths resolve against the
135
+ working directory, and home shorthand expands as in the native path protocol.
136
+ Dangling or inaccessible provider roots never silently drop Sumi. Provider-defined
137
+ roots outside these published presence locations cannot be detected without a
138
+ binding, selector or executable; specify `--agent sumi` for that case. This is
139
+ a detection limit, not proof that Sumi is absent.
140
+
116
141
  Native migration includes the current directory, every ancestor, and the global
117
142
  agent directories. Use `--project /path/to/project` to include another project
118
143
  and its ancestors. This matches the prompt hook's project discovery, including
@@ -1260,7 +1285,7 @@ of app folders, and `XDG_CONFIG_HOME` is not consulted at all.
1260
1285
  | `skills install [name@version] --selection-profile <id>` | | Cache selected immutable bundles; without names, sync the profile |
1261
1286
  | `skills load <name> --selection-profile <id>` | | Load complete instructions from the verified selection |
1262
1287
  | `skills context <prompt> --selection-profile <id>` | | Resolve instructions matching the prompt and profile triggers |
1263
- | `skills hook install --agent all --selection-profile <id>` | | Plan one CLI bridge plus supported native hooks; `--apply` installs it, then restart and trust the hooks |
1288
+ | `skills hook install --selection-profile <id>` | | Plan bridges and hooks for configured/detected consumers; `--agent <agent>` selects one, explicit `--agent all` requires every adapter; `--apply` installs them, then restart and trust the hooks |
1264
1289
  | `skills sessions show <id> --json` | | Inspect one session's exact profile revision and receipt hash without loading payloads |
1265
1290
  | `skills sessions reconcile <id> --from-profile <id> --from-revision <rev> --receipt-sha256 <sha> --selection-profile <id> --profile-revision <rev>` | | Plan an explicit migration of one live session; `--apply --plan-digest <digest> --plan-issued-at <time> --plan-expires-at <time>` (within five minutes) preserves its old receipt and applies the reviewed replacement |
1266
1291
  | `skills hook agents --json` | | Report maintained adapters and explicit coverage limits |
@@ -1342,7 +1367,7 @@ on the exact entry, through `env -i` with an explicit environment allowlist:
1342
1367
  `HOME`, `PATH`, `TMPDIR`, `USER`, `LOGNAME`, `SHELL`, `TZ`, `LANG`, terminal names
1343
1368
  (`TERM`, `TERM_PROGRAM`, `TERM_PROGRAM_VERSION`, `COLORTERM`, `COLUMNS`, `LINES`),
1344
1369
  `NO_COLOR`, `FORCE_COLOR`, `CI`, `EDITOR`, `VISUAL`, `PAGER`, `SSH_AUTH_SOCK`,
1345
- `DATABASE_URL`, the server settings `HOST`, `PORT`, `NODE_ENV`, `AGENT_ID` and
1370
+ the server settings `HOST`, `PORT`, `NODE_ENV`, `AGENT_ID` and
1346
1371
  `ECS_CONTAINER_METADATA_URI_V4`, the agent names `TERMINAL_CWD`, `CODEX_HOME`,
1347
1372
  `HERMES_HOME` and `HERMES_ENABLE_PROJECT_PLUGINS`, and every name starting with
1348
1373
  `HASNA_`, `SKILLS_`, `SKILL_`, `MCP_`, `XDG_`, `LC_` or `AWS_`. Your `LC_ALL` passes
@@ -1351,9 +1376,16 @@ through unchanged. Everything else never reaches the runtime, including `BUN_*`,
1351
1376
  (`HTTP_PROXY`, `HTTPS_PROXY`, `NO_PROXY`). A `bunfig.toml`, `.env` or `tsconfig.json`
1352
1377
  in the directory you run a command from is never read.
1353
1378
 
1379
+ New launchers use the V2 format with an explicit environment profile. The CLI and
1380
+ MCP entries use the client profile, which excludes `DATABASE_URL`,
1381
+ `HASNA_SKILLS_DATABASE_URL` and `SKILLS_DATABASE_URL` even when their prefixes are
1382
+ otherwise allowed. The API server, worker, maintenance and migration entries use
1383
+ the server profile, which preserves all three storage settings. The updater
1384
+ derives that profile from the package's bin and entry contract.
1385
+
1354
1386
  Each of those entries (the CLI, the MCP server, the API server, the worker,
1355
1387
  maintenance and migrate) returns to your directory before anything else runs, so
1356
- relative paths keep working, including a relative `HASNA_SKILLS_DATABASE_URL`. When
1388
+ relative paths keep working, including relative storage paths for server entries. When
1357
1389
  the CLI starts another copy of itself (the hook's context lookup and its
1358
1390
  `SessionStart` sync), the child gets the same Bun flags, the runtime version root as
1359
1391
  its working directory and the same environment allowlist, and also returns to your
@@ -1361,7 +1393,10 @@ directory first. The receipt records the old and new launcher shape of every pat
1361
1393
  the backup keeps the exact previous launcher (symlink text or pinned bytes), and
1362
1394
  `--rollback` restores it byte for byte. Codex hook trust, the Claude settings
1363
1395
  projection and `skills self-update` read a managed pinned launcher as the exact
1364
- entry it runs and bind the launcher's own bytes as well.
1396
+ entry it runs and bind the launcher's own bytes as well. Existing V1 launchers
1397
+ remain recognized in their exact original format. Receipts without launcher
1398
+ format metadata restore V1 bytes; new receipts bind the V2 format and environment
1399
+ profile. An upgrade does not prevent rollback to the prior V1 launcher.
1365
1400
 
1366
1401
  An updater from before pinned launchers (0.10.48 and earlier) writes bare symlinks,
1367
1402
  including when it installs a version that has them, and an exact-version update to
@@ -1384,7 +1419,6 @@ repeat the exclusion option for package names or package globs:
1384
1419
  ```bash
1385
1420
  skills self-update --version 0.10.34 --min-release-age 7 \
1386
1421
  --min-release-age-exclude '@hasna/*' \
1387
- --min-release-age-exclude '@hasna-internal/*' \
1388
1422
  --min-release-age-exclude '@openai/*' \
1389
1423
  --min-release-age-exclude '@anthropic-ai/*' \
1390
1424
  --min-release-age-exclude openai