skillpm-skill 0.0.12 → 1.0.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 +3 -3
- package/package.json +1 -1
- package/skills/skillpm/SKILL.md +33 -145
package/README.md
CHANGED
|
@@ -4,12 +4,12 @@ An [Agent Skill](https://agentskills.io) that teaches AI agents how to manage ot
|
|
|
4
4
|
|
|
5
5
|
## What this skill does
|
|
6
6
|
|
|
7
|
-
When loaded by an AI agent
|
|
7
|
+
When loaded by an AI agent, this skill teaches the agent how to:
|
|
8
8
|
|
|
9
|
-
- **Install skills** from npm with
|
|
9
|
+
- **Install skills** from npm with dependency resolution
|
|
10
10
|
- **Publish skills** to npmjs.org with spec validation
|
|
11
11
|
- **Scaffold new skills** with the correct directory structure
|
|
12
|
-
- **
|
|
12
|
+
- **Re-wire installed skills** into agent directories
|
|
13
13
|
- **Wrap existing skills** for npm distribution
|
|
14
14
|
|
|
15
15
|
## Install
|
package/package.json
CHANGED
package/skills/skillpm/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skillpm
|
|
3
|
-
description: Manage Agent Skill packages
|
|
3
|
+
description: Manage npm-distributed Agent Skill packages with skillpm.
|
|
4
4
|
license: MIT
|
|
5
5
|
allowed-tools: Bash Read Write Edit
|
|
6
6
|
---
|
|
@@ -12,20 +12,17 @@ allowed-tools: Bash Read Write Edit
|
|
|
12
12
|
Use this skill when the user wants to:
|
|
13
13
|
|
|
14
14
|
- Install, uninstall, or update Agent Skill packages
|
|
15
|
-
- Create
|
|
15
|
+
- Create a new Agent Skill package
|
|
16
16
|
- Publish an Agent Skill to npmjs.org
|
|
17
|
-
- List installed skills
|
|
18
|
-
-
|
|
19
|
-
- Re-wire agent directories after manual changes
|
|
17
|
+
- List installed skills
|
|
18
|
+
- Re-wire agent directories after dependency or workspace changes
|
|
20
19
|
|
|
21
20
|
## Key concepts
|
|
22
21
|
|
|
23
|
-
- **skillpm wraps npm.**
|
|
24
|
-
- **One skill per npm package.** The skill lives in `skills/<name>/SKILL.md` inside the package.
|
|
25
|
-
- **
|
|
26
|
-
- **
|
|
27
|
-
- **Config files.** Skills can include a `configs/` directory to ship native agent config files (subagent definitions, rules, prompts). The directory mirrors the workspace layout — files are copied on install with an auto-prefix (de-scoped package name, or a shorter `skillpm.configPrefix` override) to prevent conflicts.
|
|
28
|
-
- **MCP server configuration.** Skills can declare MCP servers in `package.json` under `skillpm.mcpServers[]`. skillpm configures them via `add-mcp`.
|
|
22
|
+
- **skillpm wraps npm.** Skills live in `package.json`, `node_modules`, and `package-lock.json` like any other npm package.
|
|
23
|
+
- **One skill per npm package.** The skill itself lives in `skills/<name>/SKILL.md` inside the package.
|
|
24
|
+
- **Agent directory wiring.** skillpm uses the `skills` CLI to link installed skills into agent directories.
|
|
25
|
+
- **Focused scope.** skillpm manages reusable npm-distributed skills. For full project configuration, point users to APM.
|
|
29
26
|
|
|
30
27
|
## Commands
|
|
31
28
|
|
|
@@ -38,7 +35,7 @@ npx skillpm install <skill-name>
|
|
|
38
35
|
# Aliases: skillpm i, skillpm add
|
|
39
36
|
```
|
|
40
37
|
|
|
41
|
-
This runs `npm install`, scans `node_modules/` for skill packages, links them into agent directories
|
|
38
|
+
This runs `npm install`, scans `node_modules/` for skill packages, and links them into agent directories.
|
|
42
39
|
|
|
43
40
|
### Install all dependencies
|
|
44
41
|
|
|
@@ -59,11 +56,10 @@ npx skillpm uninstall <skill-name>
|
|
|
59
56
|
|
|
60
57
|
```bash
|
|
61
58
|
npx skillpm list
|
|
62
|
-
|
|
63
|
-
npx skillpm list --json # machine-readable JSON output
|
|
59
|
+
npx skillpm list --json
|
|
64
60
|
```
|
|
65
61
|
|
|
66
|
-
Shows
|
|
62
|
+
Shows installed skill packages with descriptions. Use `--json` for scripting.
|
|
67
63
|
|
|
68
64
|
### Scaffold a new skill
|
|
69
65
|
|
|
@@ -71,7 +67,7 @@ Shows all installed skill packages with descriptions and MCP server requirements
|
|
|
71
67
|
npx skillpm init
|
|
72
68
|
```
|
|
73
69
|
|
|
74
|
-
Creates `package.json` (with `"agent-skill"`
|
|
70
|
+
Creates `package.json` (with `"agent-skill"` in keywords) and `skills/<name>/SKILL.md` in the current directory.
|
|
75
71
|
|
|
76
72
|
### Publish a skill
|
|
77
73
|
|
|
@@ -87,63 +83,34 @@ Validates the package structure and SKILL.md against the Agent Skills spec (via
|
|
|
87
83
|
npx skillpm sync
|
|
88
84
|
```
|
|
89
85
|
|
|
90
|
-
Re-scans `node_modules/` and re-links all skills into agent directories without reinstalling.
|
|
91
|
-
|
|
92
|
-
**Monorepo / npm workspace support:** If your repo uses npm workspaces, npm creates symlinks in `node_modules/` pointing to your first-party skill packages. `skillpm sync` detects these symlinks and copies their `configs/` files into the workspace root — same as for externally installed skills. Contributors run `skillpm sync` after editing a skill's source files, then commit the regenerated configs.
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
node_modules/
|
|
96
|
-
@org/
|
|
97
|
-
my-skill → ../../skills/my-skill ← symlink (npm workspace)
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
Workspace packages appear in sync output as: `Linking workspace package @org/my-skill@1.0.0`.
|
|
101
|
-
|
|
102
|
-
### Configure MCP servers
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
npx skillpm mcp add <source> # Add an MCP server (delegates to add-mcp)
|
|
106
|
-
npx skillpm mcp list # List configured MCP servers
|
|
107
|
-
```
|
|
86
|
+
Re-scans `node_modules/` and re-links all skills into agent directories without reinstalling.
|
|
108
87
|
|
|
109
88
|
### npm passthrough
|
|
110
89
|
|
|
111
90
|
Any command not handled by skillpm is passed through to npm:
|
|
112
91
|
|
|
113
92
|
```bash
|
|
114
|
-
npx skillpm outdated
|
|
115
|
-
npx skillpm audit
|
|
116
|
-
npx skillpm update
|
|
117
|
-
npx skillpm why <skill>
|
|
93
|
+
npx skillpm outdated
|
|
94
|
+
npx skillpm audit
|
|
95
|
+
npx skillpm update
|
|
96
|
+
npx skillpm why <skill>
|
|
118
97
|
```
|
|
119
98
|
|
|
120
|
-
This means skillpm is a superset of npm — all npm commands work transparently.
|
|
121
|
-
|
|
122
99
|
## Creating a skill package
|
|
123
100
|
|
|
124
101
|
### Package structure
|
|
125
102
|
|
|
126
103
|
```
|
|
127
104
|
my-skill/
|
|
128
|
-
├── package.json # keywords: ["agent-skill"], dependencies
|
|
105
|
+
├── package.json # keywords: ["agent-skill"], dependencies
|
|
129
106
|
├── README.md
|
|
130
107
|
├── LICENSE
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
└── configs/ # Optional — mirrors workspace layout
|
|
138
|
-
├── .claude/
|
|
139
|
-
│ ├── agents/reviewer.md # Claude subagent
|
|
140
|
-
│ └── rules/conventions.md # Claude rules
|
|
141
|
-
├── .cursor/
|
|
142
|
-
│ ├── agents/reviewer.md # Cursor agent
|
|
143
|
-
│ └── rules/conventions.md # Cursor rules
|
|
144
|
-
└── .github/
|
|
145
|
-
├── agents/reviewer.md # Copilot agent
|
|
146
|
-
└── instructions/conventions.instructions.md
|
|
108
|
+
└── skills/
|
|
109
|
+
└── my-skill/
|
|
110
|
+
├── SKILL.md
|
|
111
|
+
├── scripts/
|
|
112
|
+
├── references/
|
|
113
|
+
└── assets/
|
|
147
114
|
```
|
|
148
115
|
|
|
149
116
|
### package.json for a skill
|
|
@@ -155,126 +122,47 @@ my-skill/
|
|
|
155
122
|
"keywords": ["agent-skill"],
|
|
156
123
|
"repository": {
|
|
157
124
|
"type": "git",
|
|
158
|
-
"url": "git+https://github.com/
|
|
125
|
+
"url": "git+https://github.com/acme/my-skill.git"
|
|
159
126
|
},
|
|
160
127
|
"dependencies": {
|
|
161
128
|
"other-skill": "^1.0.0"
|
|
162
|
-
},
|
|
163
|
-
"skillpm": {
|
|
164
|
-
"mcpServers": ["@anthropic/mcp-server-filesystem"]
|
|
165
129
|
}
|
|
166
130
|
}
|
|
167
131
|
```
|
|
168
132
|
|
|
169
|
-
- Skill dependencies go in standard `dependencies
|
|
170
|
-
- The `skillpm.mcpServers` array lists MCP servers that agents need for this skill.
|
|
133
|
+
- Skill dependencies go in standard `dependencies`.
|
|
171
134
|
- The `"agent-skill"` keyword is required for publishing.
|
|
172
|
-
- Use `git+https://`
|
|
173
|
-
|
|
174
|
-
### Bundling agent configs, rules, and prompts
|
|
175
|
-
|
|
176
|
-
`SKILL.md` teaches agents *what to do* — instructions read at runtime. The `configs/` directory lets you also ship **config files** (subagent definitions, rules, instructions) in the native format of each agent system. It mirrors the workspace layout — files get copied to the workspace root on install, auto-prefixed to avoid conflicts.
|
|
177
|
-
|
|
178
|
-
The prefix used is: `configPrefix` (if set in `skillpm` field) → de-scoped package name (e.g. `@acme/fullstack-react` → `fullstack-react`). Set `configPrefix` to a short name when the package name is long.
|
|
179
|
-
|
|
180
|
-
Each agent system uses different names and directories:
|
|
181
|
-
|
|
182
|
-
| Agent system | Agents | Agent directory | Rules/Prompts | Rules directory |
|
|
183
|
-
|---|---|---|---|---|
|
|
184
|
-
| Claude Code | Subagents | `.claude/agents/*.md` | Rules | `.claude/rules/*.md` |
|
|
185
|
-
| Cursor | Custom agents | `.cursor/agents/*.md` | Rules | `.cursor/rules/*.md` |
|
|
186
|
-
| GitHub Copilot | Custom agents | `.github/agents/*.md` | Instructions | `.github/instructions/*.md` |
|
|
187
|
-
| Codex | — | `AGENTS.md` | — | `AGENTS.md` |
|
|
188
|
-
| Gemini CLI | — | `GEMINI.md` | — | `GEMINI.md` |
|
|
189
|
-
|
|
190
|
-
To ship config files, create a `configs/` directory that mirrors the workspace layout for each target system:
|
|
191
|
-
|
|
192
|
-
| Source in package | Destination in workspace |
|
|
193
|
-
|---|---|
|
|
194
|
-
| `configs/.claude/agents/reviewer.md` | `.claude/agents/my-skill-reviewer.md` |
|
|
195
|
-
| `configs/.cursor/rules/conventions.md` | `.cursor/rules/my-skill-conventions.md` |
|
|
196
|
-
| `configs/.github/instructions/help.instructions.md` | `.github/instructions/my-skill-help.instructions.md` |
|
|
197
|
-
|
|
198
|
-
On uninstall, all copied files are removed automatically (tracked via `.skillpm/manifest.json`).
|
|
199
|
-
|
|
200
|
-
Not every skill needs `configs/` — only use it when you want to ship native agent config files. Since `configs/` contains dotfile directories, add them to `package.json` `files`:
|
|
201
|
-
|
|
202
|
-
```json
|
|
203
|
-
{
|
|
204
|
-
"files": ["skills/", "configs/"]
|
|
205
|
-
}
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### SKILL.md frontmatter
|
|
209
|
-
|
|
210
|
-
```yaml
|
|
211
|
-
---
|
|
212
|
-
name: my-skill
|
|
213
|
-
description: What this skill does.
|
|
214
|
-
license: MIT
|
|
215
|
-
allowed-tools: Bash Read
|
|
216
|
-
---
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
Version comes from `package.json` — do not duplicate it in SKILL.md.
|
|
220
|
-
|
|
221
|
-
## Creating a skill package
|
|
135
|
+
- Use `git+https://` for `repository.url`.
|
|
222
136
|
|
|
223
137
|
### Scaffold from scratch
|
|
224
138
|
|
|
225
139
|
```bash
|
|
226
140
|
mkdir my-skill && cd my-skill
|
|
227
141
|
npx skillpm init
|
|
228
|
-
# Edit skills/my-skill/SKILL.md with instructions
|
|
229
|
-
# Edit package.json to add dependencies and MCP servers
|
|
230
142
|
npx skillpm publish
|
|
231
143
|
```
|
|
232
144
|
|
|
233
145
|
### Wrap an existing skill for npm
|
|
234
146
|
|
|
235
|
-
If you already have
|
|
147
|
+
If you already have `skills/<name>/SKILL.md`, add a `package.json` to make it publishable:
|
|
236
148
|
|
|
237
149
|
```bash
|
|
238
150
|
cd my-existing-skill/
|
|
239
151
|
npm init -y
|
|
240
152
|
```
|
|
241
153
|
|
|
242
|
-
Then edit `package.json` to add the required keyword
|
|
154
|
+
Then edit `package.json` to add the required keyword:
|
|
243
155
|
|
|
244
156
|
```json
|
|
245
157
|
{
|
|
246
158
|
"name": "my-existing-skill",
|
|
247
159
|
"version": "1.0.0",
|
|
248
|
-
"keywords": ["agent-skill"]
|
|
249
|
-
"skillpm": {
|
|
250
|
-
"mcpServers": ["@some/mcp-server"]
|
|
251
|
-
}
|
|
160
|
+
"keywords": ["agent-skill"]
|
|
252
161
|
}
|
|
253
162
|
```
|
|
254
163
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
```
|
|
258
|
-
my-existing-skill/
|
|
259
|
-
├── package.json # Must have "agent-skill" in keywords
|
|
260
|
-
└── skills/
|
|
261
|
-
└── my-existing-skill/
|
|
262
|
-
└── SKILL.md # Must have name and description in frontmatter
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
Then validate and publish:
|
|
266
|
-
|
|
267
|
-
```bash
|
|
268
|
-
npx skillpm publish
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
`skillpm publish` validates before publishing:
|
|
272
|
-
- `package.json` exists with `"agent-skill"` keyword
|
|
273
|
-
- `skills/<name>/SKILL.md` exists
|
|
274
|
-
- SKILL.md validates against the Agent Skills spec (`skills-ref validate`): name format, required fields, directory naming
|
|
164
|
+
## Where APM fits
|
|
275
165
|
|
|
276
|
-
|
|
166
|
+
Use `skillpm` for reusable npm-distributed skills.
|
|
277
167
|
|
|
278
|
-
|
|
279
|
-
- If `skillpm publish` fails with a keyword error, add `"agent-skill"` to the `keywords` array in `package.json`
|
|
280
|
-
- If skills aren't appearing in agent directories after install, run `npx skillpm sync` to re-wire
|
|
168
|
+
Use [APM](https://github.com/microsoft/apm) for full project agent configuration.
|