@hasna/skills 0.1.64 → 0.1.66

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
@@ -19,7 +19,7 @@ Requires [Bun](https://bun.sh/) 1.0+.
19
19
  # Browse skills interactively
20
20
  skills
21
21
 
22
- # Point the CLI at a Skills API server when you want remote runs
22
+ # Point the CLI at a Skills API server for server-owned (premium) skill runs
23
23
  skills setup --api-url https://skills.example.com
24
24
  skills auth login --api-key "$SKILLS_API_KEY"
25
25
 
@@ -35,28 +35,41 @@ skills setup agents
35
35
  # See what a skill needs
36
36
  skills info logo-design
37
37
 
38
- # Premium skills run through the configured Skills API
39
- skills run logo-design --brief "minimal geometric owl mark"
38
+ # Server-owned (premium) skills run through the configured Skills API
39
+ skills run <server-owned-skill> --brief "minimal geometric owl mark"
40
40
 
41
- # Free/local skills can still use your own provider keys when documented
41
+ # Every other skill runs on this machine by default, even when an API is
42
+ # configured; local skills may use your own provider keys when documented
42
43
  skills requires brand-style-guide
43
44
  OPENAI_API_KEY=... skills run brand-style-guide ./brand-notes.md
44
45
  ```
45
46
 
46
47
  ## Server-Side Runtime Skills
47
48
 
48
- Premium skills run on the server. The CLI and MCP server submit them to the
49
- configured Skills API, create local run metadata, and then expose status and
50
- artifact commands. They do not fall back to bundled local execution when auth is
51
- missing or the server runtime is unavailable.
52
-
53
- Use `SKILLS_API_KEY` or `skills auth login --api-key` for premium server-side
49
+ Premium skills run on the server. A skill is premium server-owned when its
50
+ published contract carries the server-owned marker (`skills.runtime: "hosted"`
51
+ or `skills.source: "remote" | "private-hosted"` in the skill's `package.json`).
52
+ The CLI and MCP server submit server-owned skills to the configured Skills API,
53
+ create local run metadata, and then expose status and artifact commands. They
54
+ do not fall back to bundled local execution when auth is missing or the server
55
+ runtime is unavailable.
56
+
57
+ Routing is config-driven and local is the default: a run is sent to the API
58
+ only when an origin is configured (`apiUrl` or `$SKILLS_API_URL`), a credential
59
+ is present (`SKILLS_API_KEY` or the auth store), and the skill carries the
60
+ server-owned marker. Every other skill runs on this machine, whether or not an
61
+ API is configured. No skill in the OSS catalog is server-owned today; the
62
+ marker arrives with skills synced from a Skills API deployment. A server-owned
63
+ skill run without the origin or the credential fails closed with an error
64
+ naming the missing setup — it never silently runs locally.
65
+
66
+ Use `SKILLS_API_KEY` or `skills auth login --api-key` for server-side
54
67
  execution:
55
68
 
56
69
  ```bash
57
70
  skills setup --api-url https://skills.example.com
58
71
  skills auth login --api-key "$SKILLS_API_KEY"
59
- skills run logo-design --brief "minimal geometric owl mark"
72
+ skills run <server-owned-skill> --brief "minimal geometric owl mark"
60
73
  skills runs status <run-id>
61
74
  skills exports download <run-id>
62
75
  ```
@@ -175,10 +188,11 @@ Stable command shapes:
175
188
  `{ "dryRun": true, "actions": [...] }` where applicable.
176
189
  - Runtime: `run --json <skill> ...` returns
177
190
  `{ "skill", "args", "exitCode", "stdout", "stderr", "error", "run" }`.
178
- Premium server-side runs include `{ "contractVersion": 1, "remote": true,
179
- "remoteRun", "pricing", "run", "nextActions" }` and return immediately with
191
+ Server-owned (premium) runs include `{ "contractVersion": 1, "remote": true,
192
+ "remoteRun", "run", "nextActions" }` and return immediately with
180
193
  status commands such as `skills runs status <run-id>` and
181
- `skills exports download <run-id>`.
194
+ `skills exports download <run-id>`. Premium-catalog and pricing metadata is
195
+ served by the API and never ships in this package.
182
196
  - Config and schedules: `config * --json` and `schedule * --json` return
183
197
  machine-readable status objects.
184
198
  - Storage: `storage status --json` returns local `.skills` paths and optional
@@ -487,8 +501,11 @@ bun run typecheck # TypeScript type checking
487
501
  manifests, bin entries, docs, and SKILL.md frontmatter
488
502
  4. Run `bun test` to verify registry-wide validation passes
489
503
 
490
- Premium server-executed skills should add public contracts, pricing, docs, and tests
491
- without adding provider secrets to the OSS package.
504
+ Server-owned (premium) skills declare the server-owned marker in their
505
+ published contract (`skills.runtime: "hosted"` or `skills.source: "remote" |
506
+ "private-hosted"`), ship public contracts, docs, and tests, and add no provider
507
+ secrets and no pricing metadata to the OSS package — pricing is served by the
508
+ API.
492
509
 
493
510
  Portable skill directories are auto-discovered from
494
511
  `~/.hasna/skills/installed/<name>/`. Skills found in either older location -