@stefafafan/skm 0.1.5 → 0.1.6
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 +16 -39
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# skm -
|
|
1
|
+
# skm - A package manager for Agent Skills
|
|
2
2
|
|
|
3
3
|
<a href="https://www.npmjs.com/package/@stefafafan/skm"><img alt="NPM Version" src="https://img.shields.io/npm/v/%40stefafafan%2Fskm"></a>
|
|
4
4
|
|
|
5
|
-
`skm`
|
|
6
|
-
It
|
|
5
|
+
`skm` is a package manager for [Agent Skills](https://agentskills.io).
|
|
6
|
+
It pins skills to exact commit hashes for reproducible installs and lets teams alias skill names consistently.
|
|
7
7
|
|
|
8
8
|
See [stefafafan/skm-demo](https://github.com/stefafafan/skm-demo) for real examples of how `skm` is used in a project.
|
|
9
9
|
|
|
@@ -14,20 +14,13 @@ See [stefafafan/skm-demo](https://github.com/stefafafan/skm-demo) for real examp
|
|
|
14
14
|
|
|
15
15
|
## Motivation
|
|
16
16
|
|
|
17
|
-
Agent Skills are convenient, but
|
|
17
|
+
Agent Skills are convenient, but currently have some downsides:
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
2. People make skills with different naming conventions--should I rename them?
|
|
21
|
-
|
|
22
|
-
`skm` solves these problems by tracking exactly which commit of each skill was installed and by letting you rename skills locally without changing the upstream repository.
|
|
23
|
-
|
|
24
|
-
## No skm vs With skm
|
|
25
|
-
|
|
26
|
-
### No skm
|
|
19
|
+
### No `skm`
|
|
27
20
|
|
|
28
21
|
- Copy and paste skills manually in different ways.
|
|
29
22
|
- No idea if upstream skills have updates.
|
|
30
|
-
- No
|
|
23
|
+
- No naming convention, leading to inconsistent skill names across the team
|
|
31
24
|
|
|
32
25
|
```text
|
|
33
26
|
project/
|
|
@@ -43,7 +36,7 @@ project/
|
|
|
43
36
|
└── SKILL.md
|
|
44
37
|
```
|
|
45
38
|
|
|
46
|
-
### With skm
|
|
39
|
+
### With `skm`
|
|
47
40
|
|
|
48
41
|
- Standardized way of installing/updating skills. `skills.json` shows a clear outline of managed skills.
|
|
49
42
|
- `skills.lock.json` stores resolved commit hashes for reproducible installs.
|
|
@@ -149,35 +142,19 @@ skm add https://github.com/stefafafan/skills
|
|
|
149
142
|
|
|
150
143
|
Repository-wide imports discover every nested directory containing `SKILL.md`.
|
|
151
144
|
|
|
152
|
-
##
|
|
153
|
-
|
|
154
|
-
The following files are used by `skm`
|
|
155
|
-
|
|
156
|
-
- `skills.json`
|
|
157
|
-
- user-facing intent
|
|
158
|
-
- `skills.lock.json`
|
|
159
|
-
- resolved commit hash and integrity data
|
|
160
|
-
- `.skm/`
|
|
161
|
-
- internal state and stored contents
|
|
162
|
-
- `.agents/skills/`
|
|
163
|
-
- the derived skills
|
|
145
|
+
## Files read/edited by `skm`
|
|
164
146
|
|
|
165
|
-
The
|
|
147
|
+
The following files are used by `skm`:
|
|
166
148
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
```sh
|
|
174
|
-
echo '.skm' >> .gitignore
|
|
175
|
-
```
|
|
149
|
+
| File | Purpose |
|
|
150
|
+
| ------------------ | ----------------------------------------------------------------------- |
|
|
151
|
+
| `skills.json` | User-facing intent — what skills you want |
|
|
152
|
+
| `skills.lock.json` | Resolved commit hashes for reproducible installs |
|
|
153
|
+
| `.skm/` | Internal state and cached contents (recommended to add to `.gitignore`) |
|
|
154
|
+
| `.agents/skills/` | The derived skills, read by your coding agent |
|
|
176
155
|
|
|
177
156
|
## FAQ
|
|
178
157
|
|
|
179
158
|
### Q: My Coding Agent doesn't support `.agents/skills`
|
|
180
159
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
If you don't mind, you can use the workaround of symbolic links (e.g. make `.claude/skills` a symlink of `.agents/skills`).
|
|
160
|
+
Although some agents support `.agents/skills`, there are still many agents that use different paths. Until the standard is more widely adopted, symbolic links are the recommended workaround (for example, making `.claude/skills` a symlink for `.agents/skills`).
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stefafafan/skm",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"private": false,
|
|
5
|
-
"description": "A
|
|
5
|
+
"description": "A package manager for AI Agent Skills. Reproducible installs and consistent naming for teams.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"agents",
|
|
8
8
|
"cli",
|