skillpm-skill 0.0.11 → 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/LICENSE +21 -0
- package/README.md +3 -3
- package/package.json +1 -1
- package/skills/skillpm/SKILL.md +36 -134
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 skillpm contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
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
|
|
|
@@ -35,10 +32,10 @@ All commands can be run without global install via `npx skillpm <command>`.
|
|
|
35
32
|
|
|
36
33
|
```bash
|
|
37
34
|
npx skillpm install <skill-name>
|
|
38
|
-
# Aliases: skillpm i
|
|
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,10 +56,10 @@ npx skillpm uninstall <skill-name>
|
|
|
59
56
|
|
|
60
57
|
```bash
|
|
61
58
|
npx skillpm list
|
|
62
|
-
|
|
59
|
+
npx skillpm list --json
|
|
63
60
|
```
|
|
64
61
|
|
|
65
|
-
Shows
|
|
62
|
+
Shows installed skill packages with descriptions. Use `--json` for scripting.
|
|
66
63
|
|
|
67
64
|
### Scaffold a new skill
|
|
68
65
|
|
|
@@ -70,7 +67,7 @@ Shows all installed skill packages with descriptions and MCP server requirements
|
|
|
70
67
|
npx skillpm init
|
|
71
68
|
```
|
|
72
69
|
|
|
73
|
-
Creates `package.json` (with `"agent-skill"`
|
|
70
|
+
Creates `package.json` (with `"agent-skill"` in keywords) and `skills/<name>/SKILL.md` in the current directory.
|
|
74
71
|
|
|
75
72
|
### Publish a skill
|
|
76
73
|
|
|
@@ -86,23 +83,17 @@ Validates the package structure and SKILL.md against the Agent Skills spec (via
|
|
|
86
83
|
npx skillpm sync
|
|
87
84
|
```
|
|
88
85
|
|
|
89
|
-
Re-scans `node_modules/` and re-links all skills into agent directories without reinstalling.
|
|
86
|
+
Re-scans `node_modules/` and re-links all skills into agent directories without reinstalling.
|
|
90
87
|
|
|
91
|
-
|
|
88
|
+
### npm passthrough
|
|
92
89
|
|
|
93
|
-
|
|
94
|
-
node_modules/
|
|
95
|
-
@org/
|
|
96
|
-
my-skill → ../../skills/my-skill ← symlink (npm workspace)
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Workspace packages appear in sync output as: `Linking workspace package @org/my-skill@1.0.0`.
|
|
100
|
-
|
|
101
|
-
### Configure MCP servers
|
|
90
|
+
Any command not handled by skillpm is passed through to npm:
|
|
102
91
|
|
|
103
92
|
```bash
|
|
104
|
-
npx skillpm
|
|
105
|
-
npx skillpm
|
|
93
|
+
npx skillpm outdated
|
|
94
|
+
npx skillpm audit
|
|
95
|
+
npx skillpm update
|
|
96
|
+
npx skillpm why <skill>
|
|
106
97
|
```
|
|
107
98
|
|
|
108
99
|
## Creating a skill package
|
|
@@ -111,25 +102,15 @@ npx skillpm mcp list # List configured MCP servers
|
|
|
111
102
|
|
|
112
103
|
```
|
|
113
104
|
my-skill/
|
|
114
|
-
├── package.json # keywords: ["agent-skill"], dependencies
|
|
105
|
+
├── package.json # keywords: ["agent-skill"], dependencies
|
|
115
106
|
├── README.md
|
|
116
107
|
├── LICENSE
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
└── configs/ # Optional — mirrors workspace layout
|
|
124
|
-
├── .claude/
|
|
125
|
-
│ ├── agents/reviewer.md # Claude subagent
|
|
126
|
-
│ └── rules/conventions.md # Claude rules
|
|
127
|
-
├── .cursor/
|
|
128
|
-
│ ├── agents/reviewer.md # Cursor agent
|
|
129
|
-
│ └── rules/conventions.md # Cursor rules
|
|
130
|
-
└── .github/
|
|
131
|
-
├── agents/reviewer.md # Copilot agent
|
|
132
|
-
└── instructions/conventions.instructions.md
|
|
108
|
+
└── skills/
|
|
109
|
+
└── my-skill/
|
|
110
|
+
├── SKILL.md
|
|
111
|
+
├── scripts/
|
|
112
|
+
├── references/
|
|
113
|
+
└── assets/
|
|
133
114
|
```
|
|
134
115
|
|
|
135
116
|
### package.json for a skill
|
|
@@ -141,126 +122,47 @@ my-skill/
|
|
|
141
122
|
"keywords": ["agent-skill"],
|
|
142
123
|
"repository": {
|
|
143
124
|
"type": "git",
|
|
144
|
-
"url": "git+https://github.com/
|
|
125
|
+
"url": "git+https://github.com/acme/my-skill.git"
|
|
145
126
|
},
|
|
146
127
|
"dependencies": {
|
|
147
128
|
"other-skill": "^1.0.0"
|
|
148
|
-
},
|
|
149
|
-
"skillpm": {
|
|
150
|
-
"mcpServers": ["@anthropic/mcp-server-filesystem"]
|
|
151
129
|
}
|
|
152
130
|
}
|
|
153
131
|
```
|
|
154
132
|
|
|
155
|
-
- Skill dependencies go in standard `dependencies
|
|
156
|
-
- The `skillpm.mcpServers` array lists MCP servers that agents need for this skill.
|
|
133
|
+
- Skill dependencies go in standard `dependencies`.
|
|
157
134
|
- The `"agent-skill"` keyword is required for publishing.
|
|
158
|
-
- Use `git+https://`
|
|
159
|
-
|
|
160
|
-
### Bundling agent configs, rules, and prompts
|
|
161
|
-
|
|
162
|
-
`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.
|
|
163
|
-
|
|
164
|
-
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.
|
|
165
|
-
|
|
166
|
-
Each agent system uses different names and directories:
|
|
167
|
-
|
|
168
|
-
| Agent system | Agents | Agent directory | Rules/Prompts | Rules directory |
|
|
169
|
-
|---|---|---|---|---|
|
|
170
|
-
| Claude Code | Subagents | `.claude/agents/*.md` | Rules | `.claude/rules/*.md` |
|
|
171
|
-
| Cursor | Custom agents | `.cursor/agents/*.md` | Rules | `.cursor/rules/*.md` |
|
|
172
|
-
| GitHub Copilot | Custom agents | `.github/agents/*.md` | Instructions | `.github/instructions/*.md` |
|
|
173
|
-
| Codex | — | `AGENTS.md` | — | `AGENTS.md` |
|
|
174
|
-
| Gemini CLI | — | `GEMINI.md` | — | `GEMINI.md` |
|
|
175
|
-
|
|
176
|
-
To ship config files, create a `configs/` directory that mirrors the workspace layout for each target system:
|
|
177
|
-
|
|
178
|
-
| Source in package | Destination in workspace |
|
|
179
|
-
|---|---|
|
|
180
|
-
| `configs/.claude/agents/reviewer.md` | `.claude/agents/my-skill-reviewer.md` |
|
|
181
|
-
| `configs/.cursor/rules/conventions.md` | `.cursor/rules/my-skill-conventions.md` |
|
|
182
|
-
| `configs/.github/instructions/help.instructions.md` | `.github/instructions/my-skill-help.instructions.md` |
|
|
183
|
-
|
|
184
|
-
On uninstall, all copied files are removed automatically (tracked via `.skillpm/manifest.json`).
|
|
185
|
-
|
|
186
|
-
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`:
|
|
187
|
-
|
|
188
|
-
```json
|
|
189
|
-
{
|
|
190
|
-
"files": ["skills/", "configs/"]
|
|
191
|
-
}
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### SKILL.md frontmatter
|
|
195
|
-
|
|
196
|
-
```yaml
|
|
197
|
-
---
|
|
198
|
-
name: my-skill
|
|
199
|
-
description: What this skill does.
|
|
200
|
-
license: MIT
|
|
201
|
-
allowed-tools: Bash Read
|
|
202
|
-
---
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
Version comes from `package.json` — do not duplicate it in SKILL.md.
|
|
206
|
-
|
|
207
|
-
## Creating a skill package
|
|
135
|
+
- Use `git+https://` for `repository.url`.
|
|
208
136
|
|
|
209
137
|
### Scaffold from scratch
|
|
210
138
|
|
|
211
139
|
```bash
|
|
212
140
|
mkdir my-skill && cd my-skill
|
|
213
141
|
npx skillpm init
|
|
214
|
-
# Edit skills/my-skill/SKILL.md with instructions
|
|
215
|
-
# Edit package.json to add dependencies and MCP servers
|
|
216
142
|
npx skillpm publish
|
|
217
143
|
```
|
|
218
144
|
|
|
219
145
|
### Wrap an existing skill for npm
|
|
220
146
|
|
|
221
|
-
If you already have
|
|
147
|
+
If you already have `skills/<name>/SKILL.md`, add a `package.json` to make it publishable:
|
|
222
148
|
|
|
223
149
|
```bash
|
|
224
150
|
cd my-existing-skill/
|
|
225
151
|
npm init -y
|
|
226
152
|
```
|
|
227
153
|
|
|
228
|
-
Then edit `package.json` to add the required keyword
|
|
154
|
+
Then edit `package.json` to add the required keyword:
|
|
229
155
|
|
|
230
156
|
```json
|
|
231
157
|
{
|
|
232
158
|
"name": "my-existing-skill",
|
|
233
159
|
"version": "1.0.0",
|
|
234
|
-
"keywords": ["agent-skill"]
|
|
235
|
-
"skillpm": {
|
|
236
|
-
"mcpServers": ["@some/mcp-server"]
|
|
237
|
-
}
|
|
160
|
+
"keywords": ["agent-skill"]
|
|
238
161
|
}
|
|
239
162
|
```
|
|
240
163
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
```
|
|
244
|
-
my-existing-skill/
|
|
245
|
-
├── package.json # Must have "agent-skill" in keywords
|
|
246
|
-
└── skills/
|
|
247
|
-
└── my-existing-skill/
|
|
248
|
-
└── SKILL.md # Must have name and description in frontmatter
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
Then validate and publish:
|
|
252
|
-
|
|
253
|
-
```bash
|
|
254
|
-
npx skillpm publish
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
`skillpm publish` validates before publishing:
|
|
258
|
-
- `package.json` exists with `"agent-skill"` keyword
|
|
259
|
-
- `skills/<name>/SKILL.md` exists
|
|
260
|
-
- SKILL.md validates against the Agent Skills spec (`skills-ref validate`): name format, required fields, directory naming
|
|
164
|
+
## Where APM fits
|
|
261
165
|
|
|
262
|
-
|
|
166
|
+
Use `skillpm` for reusable npm-distributed skills.
|
|
263
167
|
|
|
264
|
-
|
|
265
|
-
- If `skillpm publish` fails with a keyword error, add `"agent-skill"` to the `keywords` array in `package.json`
|
|
266
|
-
- 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.
|