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 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 (Claude, Codex, Cursor, Gemini CLI, etc.), this skill teaches the agent how to:
7
+ When loaded by an AI agent, this skill teaches the agent how to:
8
8
 
9
- - **Install skills** from npm with full dependency resolution
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
- - **Wire skills** into agent directories and configure MCP servers
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillpm-skill",
3
- "version": "0.0.11",
3
+ "version": "1.0.0",
4
4
  "description": "Agent Skill for managing skills with skillpm — install, publish, and wire Agent Skills into AI agent directories",
5
5
  "keywords": [
6
6
  "agent-skill",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: skillpm
3
- description: Manage Agent Skill packages and their dependency trees using skillpm — npm for Agent Skills.
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 (scaffold) a new Agent Skill package
15
+ - Create a new Agent Skill package
16
16
  - Publish an Agent Skill to npmjs.org
17
- - List installed skills or check their dependency trees
18
- - Configure MCP servers required by skills
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.** All packages live on npmjs.org. Same `package.json`, same `node_modules/`, same `package-lock.json`.
24
- - **One skill per npm package.** The skill lives in `skills/<name>/SKILL.md` inside the package.
25
- - **Transitive dependency resolution.** skillpm walks the full dependency tree to discover all skills and MCP server requirements.
26
- - **Agent directory wiring.** skillpm uses the `skills` CLI to link installed skills into 37+ agent directories (Claude, Cursor, VS Code, Codex, Gemini CLI, etc.).
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, copies config files, and configures any required MCP servers.
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
- # Aliases: skillpm ls
59
+ npx skillpm list --json
63
60
  ```
64
61
 
65
- Shows all installed skill packages with descriptions and MCP server requirements.
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"` keyword) and `skills/<name>/SKILL.md` in the current directory. Edit the SKILL.md to define the 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. Useful after manual changes.
86
+ Re-scans `node_modules/` and re-links all skills into agent directories without reinstalling.
90
87
 
91
- **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.
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 mcp add <source> # Add an MCP server (delegates to add-mcp)
105
- npx skillpm mcp list # List configured MCP servers
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, skillpm.mcpServers
105
+ ├── package.json # keywords: ["agent-skill"], dependencies
115
106
  ├── README.md
116
107
  ├── LICENSE
117
- ├── skills/
118
- └── my-skill/
119
- ├── SKILL.md # Skill definition (YAML frontmatter + Markdown body)
120
- ├── scripts/ # Optional executable scripts
121
- ├── references/ # Optional reference docs
122
- └── assets/ # Optional templates/data
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/user/repo.git"
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` — npm handles resolution.
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://` prefix for `repository.url` (npm requires this format).
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 a `skills/<name>/SKILL.md` (e.g. from `npx skills add`), add a `package.json` to make it publishable:
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 and optional MCP servers:
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
- Ensure the directory structure matches:
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
- ## Error handling
166
+ Use `skillpm` for reusable npm-distributed skills.
263
167
 
264
- - If `skillpm install` fails, check that npm can resolve the package: `npm view <skill-name>`
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.