@delorenj/skillex 0.1.3 → 0.3.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delorenj/skillex",
3
- "version": "0.1.3",
3
+ "version": "0.3.0",
4
4
  "description": "Canonical skill catalog and activation management for agentic CLIs.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -39,6 +39,7 @@
39
39
  "typecheck": "tsc --noEmit",
40
40
  "test": "npm run build && node --test tests/node/*.test.mjs",
41
41
  "check": "npm run lint && npm run typecheck && npm test",
42
+ "prepare": "npm run build",
42
43
  "prepack": "npm run build",
43
44
  "prepublishOnly": "npm run check"
44
45
  },
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://raw.githubusercontent.com/delorenj/skillex/main/skills.schema.json",
4
4
  "title": "Agent Skills Manifest",
5
- "description": "Canonical skill selections for one global or project activation root. Resolution is offline; all definitions belong to all-skills/ and sets and packs contain references only.",
5
+ "description": "Selection schema for the corrected product contract, confirmed 2026-10-10: a set exclusively replaces the canonical .agents/skills/ root with a symlink to the set's skill root (at most one set per scope); packs compose by adding per-skill member links to an existing canonical root. Definitions belong to all-skills/; sets and packs contain references only.",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "definitions": {
@@ -42,7 +42,7 @@
42
42
  "inherit_global": {
43
43
  "type": "boolean",
44
44
  "default": true,
45
- "description": "Include global selections in a composed project selection. This does not choose which roots a command writes. Ignored for global scope or an active exclusive pack."
45
+ "description": "Include global selections in a composed project selection; ignored globally and while a set exclusively replaces the project root. This does not choose write scopes and cannot suppress client-level discovery of the global root."
46
46
  },
47
47
  "registry": {
48
48
  "type": "string",
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "skills": {
53
53
  "type": "array",
54
- "description": "Explicit canonical all-skills/ references, applied after inherited names and ordered sets. Repeated references collapse; conflicting canonical targets fail.",
54
+ "description": "Explicit canonical all-skills/ references applied after inheritance in a composed selection; rejected while a set exclusively replaces the root (enable derives a scope-owned set instead).",
55
55
  "items": {
56
56
  "anyOf": [
57
57
  {
@@ -72,7 +72,8 @@
72
72
  },
73
73
  "sets": {
74
74
  "type": "array",
75
- "description": "Composable references to sets/<name>, processed in declaration order. Every selected member resolves to its canonical all-skills/ definition.",
75
+ "maxItems": 1,
76
+ "description": "Sets are mutually exclusive root replacements: selecting one replaces .agents/skills/ with a symlink to the set's skill root and replaces inherited global selection. At most one set per scope.",
76
77
  "items": {
77
78
  "anyOf": [
78
79
  {
@@ -86,14 +87,6 @@
86
87
  "name": {
87
88
  "$ref": "#/definitions/compositionName"
88
89
  },
89
- "include": {
90
- "$ref": "#/definitions/skillNames",
91
- "description": "Limit this set to these canonical members. Omission includes all members; an empty list includes none."
92
- },
93
- "exclude": {
94
- "$ref": "#/definitions/skillNames",
95
- "description": "Remove these members from this set contribution only."
96
- },
97
90
  "optional": {
98
91
  "type": "boolean",
99
92
  "default": false,
@@ -106,8 +99,7 @@
106
99
  },
107
100
  "packs": {
108
101
  "type": "array",
109
- "maxItems": 1,
110
- "description": "At most one exclusive loadout from packs/. An active pack replaces the entire effective selection while ordinary declarations remain dormant for restoration. Pack member filters are unsupported.",
102
+ "description": "Packs are composable: each adds its member per-skill links to the existing canonical root, alongside any selected skills.",
111
103
  "items": {
112
104
  "anyOf": [
113
105
  {
@@ -129,7 +121,7 @@
129
121
  "optional": {
130
122
  "type": "boolean",
131
123
  "default": false,
132
- "description": "Report an unavailable pack as an optional skip. Ordinary selections remain dormant while the pack is selected."
124
+ "description": "Report an unavailable pack as an optional skip; its members are simply not contributed."
133
125
  }
134
126
  }
135
127
  }
@@ -138,7 +130,7 @@
138
130
  },
139
131
  "exclude": {
140
132
  "$ref": "#/definitions/skillNames",
141
- "description": "Mask canonical names after inheritance, sets, and explicit skills have been composed. Ignored while an exclusive pack is active."
133
+ "description": "Mask names after inheritance, packs, and explicit skills in a composed selection; unsupported while a set exclusively replaces the root."
142
134
  }
143
135
  }
144
136
  }