skills-package-manager 0.6.2 → 0.7.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/README.md CHANGED
@@ -1,42 +1,59 @@
1
- # spm
1
+ # skills-package-manager
2
2
 
3
3
  Core library and CLI for managing agent skills.
4
4
 
5
5
  ## CLI Usage
6
6
 
7
+ For one-off usage, `npx skills-package-manager add ...` is the low-friction migration path for teams already familiar with `npx skills add ...`.
8
+
7
9
  ```bash
8
- spm --help
9
- spm --version
10
- spm add <specifier> [--skill <name>]
11
- spm install
12
- spm update [skill...]
13
- spm init [--yes]
10
+ npx skills-package-manager --help
11
+ npx skills-package-manager --version
12
+ npx skills-package-manager add <specifier> [--skill <name>]
13
+ npx skills-package-manager install
14
+ npx skills-package-manager update [skill...]
15
+ npx skills-package-manager init [--yes]
14
16
  ```
15
17
 
16
- - `spm` with no command shows top-level help
17
- - `spm --help` prints top-level help
18
- - `spm --version` prints the package version
18
+ - `npx skills-package-manager` with no command shows top-level help
19
+ - `npx skills-package-manager --help` prints top-level help
20
+ - `npx skills-package-manager --version` prints the package version
19
21
 
20
- ### `spm add`
22
+ ### `npx skills-package-manager add`
21
23
 
22
24
  Add skills to your project.
23
25
 
26
+ For teams already familiar with `npx skills add ...`, the headline migration message is:
27
+
28
+ ```bash
29
+ npx skills add owner/repo
30
+ # becomes
31
+ npx skills-package-manager add owner/repo
32
+ ```
33
+
24
34
  ```bash
25
35
  # Interactive — clone repo, discover skills, select via multiselect prompt
26
- spm add owner/repo
27
- spm add https://github.com/owner/repo
36
+ npx skills-package-manager add owner/repo
37
+ npx skills-package-manager add https://github.com/owner/repo
28
38
 
29
39
  # Non-interactive — add a specific skill by name
30
- spm add owner/repo --skill find-skills
40
+ npx skills-package-manager add owner/repo --skill find-skills
41
+ npx skills-package-manager add owner/repo@find-skills
42
+ npx skills-package-manager add owner/repo#main@find-skills
43
+
44
+ # Direct repo subpath
45
+ npx skills-package-manager add owner/repo/skills/my-skill
46
+ npx skills-package-manager add https://github.com/owner/repo/tree/main/skills/my-skill#main
31
47
 
32
48
  # Direct specifier — skip discovery
33
- spm add https://github.com/owner/repo.git#path:/skills/my-skill
34
- spm add link:./local-source/skills/my-skill
35
- spm add file:./skills-package.tgz#path:/skills/my-skill
36
- spm add npm:@scope/skills-package#path:/skills/my-skill
49
+ npx skills-package-manager add https://github.com/owner/repo.git#path:/skills/my-skill
50
+ npx skills-package-manager add link:./local-source/skills/my-skill
51
+ npx skills-package-manager add ./local-source
52
+ npx skills-package-manager add file:./skills-package.tgz#path:/skills/my-skill
53
+ npx skills-package-manager add npm:@scope/skills-package#path:/skills/my-skill
37
54
  ```
38
55
 
39
- After `spm add`, the newly added skills are resolved, materialized into `installDir`, and linked to each configured `linkTarget` immediately.
56
+ After `npx skills-package-manager add`, the newly added skills are resolved, materialized into `installDir`, and linked to each configured `linkTarget` immediately.
40
57
 
41
58
  #### How it works
42
59
 
@@ -48,25 +65,25 @@ When given `owner/repo` or a GitHub URL:
48
65
  4. Writes selected skills to `skills.json` and resolves `skills-lock.yaml`
49
66
  5. Cleans up the temp directory
50
67
 
51
- ### `spm init`
68
+ ### `npx skills-package-manager init`
52
69
 
53
70
  Create a new `skills.json` manifest in the current directory.
54
71
 
55
72
  ```bash
56
73
  # Interactive — prompt for installDir and linkTargets
57
- spm init
74
+ npx skills-package-manager init
58
75
 
59
76
  # Non-interactive — write the default manifest immediately
60
- spm init --yes
77
+ npx skills-package-manager init --yes
61
78
  ```
62
79
 
63
80
  Behavior:
64
81
 
65
- - `spm init` prompts for `installDir` and `linkTargets`, then writes `skills.json`
66
- - `spm init --yes` skips prompts and writes the default manifest
82
+ - `npx skills-package-manager init` prompts for `installDir` and `linkTargets`, then writes `skills.json`
83
+ - `npx skills-package-manager init --yes` skips prompts and writes the default manifest
67
84
  - If `skills.json` already exists, the command fails and does not overwrite it
68
85
 
69
- Default `skills.json` written by `spm init --yes`:
86
+ Default `skills.json` written by `npx skills-package-manager init --yes`:
70
87
 
71
88
  ```json
72
89
  {
@@ -77,24 +94,24 @@ Default `skills.json` written by `spm init --yes`:
77
94
  }
78
95
  ```
79
96
 
80
- ### `spm install`
97
+ ### `npx skills-package-manager install`
81
98
 
82
99
  Install all skills declared in `skills.json`:
83
100
 
84
101
  ```bash
85
- spm install
102
+ npx skills-package-manager install
86
103
  ```
87
104
 
88
105
  This resolves each skill from its specifier, materializes it into `installDir` (default `.agents/skills/`), and creates symlinks for each `linkTarget`.
89
- When `selfSkill` is `true`, `spm install` also installs the bundled `skills-package-manager-cli` skill so users get guidance for `skills.json`, `skills-lock.yaml`, and the `spm` workflow. This helper skill is not written to `skills-lock.yaml`.
106
+ When `selfSkill` is `true`, `npx skills-package-manager install` also installs the bundled `skills-package-manager-cli` skill so users get guidance for `skills.json`, `skills-lock.yaml`, and `npx skills-package-manager` commands. This helper skill is not written to `skills-lock.yaml`.
90
107
 
91
- ### `spm update`
108
+ ### `npx skills-package-manager update`
92
109
 
93
110
  Refresh resolvable skills declared in `skills.json` without changing the manifest:
94
111
 
95
112
  ```bash
96
- spm update
97
- spm update find-skills rspress-custom-theme
113
+ npx skills-package-manager update
114
+ npx skills-package-manager update find-skills rspress-custom-theme
98
115
  ```
99
116
 
100
117
  Behavior:
@@ -153,7 +170,7 @@ link: link:<path-to-skill-dir>
153
170
 
154
171
  ```
155
172
  src/
156
- ├── bin/ # CLI entry points (spm, skills)
173
+ ├── bin/ # CLI entry points
157
174
  ├── cli/ # CLI runner and interactive prompts
158
175
  ├── commands/ # add, install command implementations
159
176
  ├── config/ # skills.json / skills-lock.yaml read/write
package/dist/291.js ADDED
@@ -0,0 +1,19 @@
1
+ import * as __rspack_external_zlib from "zlib";
2
+ import * as __rspack_external_node_readline_91c31510 from "node:readline";
3
+ export { stripVTControlCharacters, styleText } from "node:util";
4
+ export { default as node_process, stdin, stdout } from "node:process";
5
+ export { ReadStream } from "node:tty";
6
+ export { default as node_fs, existsSync, lstatSync, readdirSync } from "node:fs";
7
+ export { basename, default as node_path, dirname, join, posix, win32 } from "node:path";
8
+ export { EventEmitter, default as events } from "events";
9
+ export { default as fs } from "fs";
10
+ export { EventEmitter as external_node_events_EventEmitter } from "node:events";
11
+ export { default as node_stream } from "node:stream";
12
+ export { StringDecoder } from "node:string_decoder";
13
+ export { default as path, dirname as external_path_dirname, parse } from "path";
14
+ export { default as assert } from "assert";
15
+ export { Buffer } from "buffer";
16
+ export { default as node_assert } from "node:assert";
17
+ export { randomBytes } from "node:crypto";
18
+ export { default as promises } from "node:fs/promises";
19
+ export { __rspack_external_node_readline_91c31510, __rspack_external_zlib };
package/dist/612.js ADDED
@@ -0,0 +1,48 @@
1
+ var __webpack_modules__ = {};
2
+ var __webpack_module_cache__ = {};
3
+ function __webpack_require__(moduleId) {
4
+ var cachedModule = __webpack_module_cache__[moduleId];
5
+ if (void 0 !== cachedModule) return cachedModule.exports;
6
+ var module = __webpack_module_cache__[moduleId] = {
7
+ exports: {}
8
+ };
9
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
10
+ return module.exports;
11
+ }
12
+ __webpack_require__.m = __webpack_modules__;
13
+ (()=>{
14
+ __webpack_require__.n = (module)=>{
15
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
16
+ __webpack_require__.d(getter, {
17
+ a: getter
18
+ });
19
+ return getter;
20
+ };
21
+ })();
22
+ (()=>{
23
+ __webpack_require__.d = (exports, definition)=>{
24
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) Object.defineProperty(exports, key, {
25
+ enumerable: true,
26
+ get: definition[key]
27
+ });
28
+ };
29
+ })();
30
+ (()=>{
31
+ __webpack_require__.add = function(modules) {
32
+ Object.assign(__webpack_require__.m, modules);
33
+ };
34
+ })();
35
+ (()=>{
36
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
37
+ })();
38
+ (()=>{
39
+ __webpack_require__.r = (exports)=>{
40
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports, Symbol.toStringTag, {
41
+ value: 'Module'
42
+ });
43
+ Object.defineProperty(exports, '__esModule', {
44
+ value: true
45
+ });
46
+ };
47
+ })();
48
+ export { __webpack_require__ };