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 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.12",
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
 
@@ -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, 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,11 +56,10 @@ npx skillpm uninstall <skill-name>
59
56
 
60
57
  ```bash
61
58
  npx skillpm list
62
- # Aliases: skillpm ls
63
- npx skillpm list --json # machine-readable JSON output
59
+ npx skillpm list --json
64
60
  ```
65
61
 
66
- Shows all installed skill packages with descriptions and MCP server requirements. Use `--json` for scripting.
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"` 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.
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. Useful after manual changes.
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 # → npm outdated
115
- npx skillpm audit # → npm audit
116
- npx skillpm update # → npm update
117
- npx skillpm why <skill> # → npm 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, skillpm.mcpServers
105
+ ├── package.json # keywords: ["agent-skill"], dependencies
129
106
  ├── README.md
130
107
  ├── LICENSE
131
- ├── skills/
132
- └── my-skill/
133
- ├── SKILL.md # Skill definition (YAML frontmatter + Markdown body)
134
- ├── scripts/ # Optional executable scripts
135
- ├── references/ # Optional reference docs
136
- └── assets/ # Optional templates/data
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/user/repo.git"
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` — npm handles resolution.
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://` prefix for `repository.url` (npm requires this format).
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 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:
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 and optional MCP servers:
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
- Ensure the directory structure matches:
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
- ## Error handling
166
+ Use `skillpm` for reusable npm-distributed skills.
277
167
 
278
- - If `skillpm install` fails, check that npm can resolve the package: `npm view <skill-name>`
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.