@stefafafan/skm 0.1.4 → 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.
Files changed (2) hide show
  1. package/README.md +53 -33
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -1,8 +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` is a package manager of [Agent Skills](https://agentskills.io), supporting both project and global-level skills.
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.
6
7
 
7
8
  See [stefafafan/skm-demo](https://github.com/stefafafan/skm-demo) for real examples of how `skm` is used in a project.
8
9
 
@@ -13,12 +14,47 @@ See [stefafafan/skm-demo](https://github.com/stefafafan/skm-demo) for real examp
13
14
 
14
15
  ## Motivation
15
16
 
16
- Agent Skills are convenient, but there are 2 points to consider:
17
-
18
- 1. Which version skill did I just download? How should I update them?
19
- 2. People make skills with different naming conventions--should I rename them?
17
+ Agent Skills are convenient, but currently have some downsides:
18
+
19
+ ### No `skm`
20
+
21
+ - Copy and paste skills manually in different ways.
22
+ - No idea if upstream skills have updates.
23
+ - No naming convention, leading to inconsistent skill names across the team
24
+
25
+ ```text
26
+ project/
27
+ └── .agents/
28
+ └── skills/ <-- Files within this directory edited manually in many ways.
29
+ ├── commit-msg-helper/
30
+ │ └── SKILL.md
31
+ ├── stefans-best-skill/
32
+ │ └── SKILL.md
33
+ ├── infra-master/
34
+ │ └── SKILL.md
35
+ └── ultra_fast_coder_skill/ <-- Random named skills depending on skill author
36
+ └── SKILL.md
37
+ ```
20
38
 
21
- `skm` solves these problems by storing metadata of installed skills and having the ability to alias skills with your favorite names.
39
+ ### With `skm`
40
+
41
+ - Standardized way of installing/updating skills. `skills.json` shows a clear outline of managed skills.
42
+ - `skills.lock.json` stores resolved commit hashes for reproducible installs.
43
+ - `skm rename` lets projects keep consistent local skill names.
44
+
45
+ ```text
46
+ project/
47
+ ├── skills.json <-- This file is edited (via skm add, skm rename, etc.)
48
+ ├── skills.lock.json <-- Contains exact commit hash for each skill installed. Reproducible.
49
+ └── .agents/
50
+ └── skills/
51
+ ├── commit-message-writer/
52
+ │ └── SKILL.md
53
+ ├── github-actions-pinner/
54
+ │ └── SKILL.md
55
+ └── web-security-reviewer/ <-- Skill renamed via skm, making things under-control.
56
+ └── SKILL.md
57
+ ```
22
58
 
23
59
  ## Installation
24
60
 
@@ -65,7 +101,7 @@ git commit
65
101
 
66
102
  ### For global settings
67
103
 
68
- Basically the same, but with `--global`
104
+ You can use `skm` to manage global skills as well. Basically the same, but with `--global`
69
105
 
70
106
  ```bash
71
107
  skm init --global
@@ -106,35 +142,19 @@ skm add https://github.com/stefafafan/skills
106
142
 
107
143
  Repository-wide imports discover every nested directory containing `SKILL.md`.
108
144
 
109
- ## Metadata files used
110
-
111
- The following files are used by `skm`
112
-
113
- - `skills.json`
114
- - user-facing intent
115
- - `skills.lock.json`
116
- - resolved commit hash and integrity data
117
- - `.skm/`
118
- - internal state and stored contents
119
- - `.agents/skills/`
120
- - the derived skills
145
+ ## Files read/edited by `skm`
121
146
 
122
- The intended manifest-first flow is:
147
+ The following files are used by `skm`:
123
148
 
124
- 1. Change `skills.json` with `skm` commands or by editing it directly.
125
- 2. Run `skm install`.
126
- 3. Let `skills.lock.json` and `.agents/skills/` reconcile automatically.
127
-
128
- It is recommended to add the `.skm` directory to `.gitignore`.
129
-
130
- ```sh
131
- echo '.skm' >> .gitignore
132
- ```
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 |
133
155
 
134
156
  ## FAQ
135
157
 
136
158
  ### Q: My Coding Agent doesn't support `.agents/skills`
137
159
 
138
- It is a design decision to only support `.agents/skills` for `skm`.
139
-
140
- 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.4",
3
+ "version": "0.1.6",
4
4
  "private": false,
5
- "description": "A package manager for AI Agent Skills. Supports installation, version management, and renaming of skills. Can be used for both global and project specific skill management.",
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",