@wang121ye/skillmanager 0.0.1 → 0.0.2

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 CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 ye.wang
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.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ye.wang
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
@@ -1,219 +1,252 @@
1
- # skillmanager(`@wang121ye/skillmanager`)
2
-
3
- 跨平台(Windows / Linux / macOS)的 **Agent Skills 管理器**:把「官方 skills + 第三方 skills 仓库 + 你自己的 skills 仓库」统一做 **安装(install)**,并可选用 **Web UI 交互式勾选**来安装子集。
4
-
5
- 本项目 **基于 `openskills`** 实现安装与 `AGENTS.md` 同步。
6
-
7
- ## 安装与使用
8
-
9
- ### 全局安装(推荐)
10
-
11
- ```bash
12
- npm i -g @wang121ye/skillmanager
13
- skillmanager install
14
- ```
15
-
16
- ### 直接 npx(无需安装)
17
-
18
- ```bash
19
- npx @wang121ye/skillmanager install
20
- ```
21
-
22
- > 说明:你最初写的 `npx skillmanager bootstrap` 只有在发布“非 scope 包名”时才成立。
23
- > 现在按 scoped 包发布为 `@wang121ye/skillmanager`,对应 npx 用法是 `npx @wang121ye/skillmanager ...`,但执行的命令名仍然叫 `skillmanager`(由 `bin` 决定)。
24
-
25
- ## 关键能力
26
-
27
- ### 1) 一键安装(默认装“全部来源的全部 skills”)
28
-
29
- ```bash
30
- skillmanager install
31
- ```
32
-
33
- ### 2) 安装时启用 Web UI 选择(默认全选,可批量全选/全不选/反选/搜索)
34
-
35
- ```bash
36
- skillmanager webui
37
- ```
38
-
39
- 你也可以用某个 profile 名称(会保存选择集到该 profile)。**多数情况下不需要显式传 `--profile`**,直接用默认 profile(通常是 `default` 或你在 `skillmanager config set-default-profile` 里设置的值)即可:
40
-
41
- ```bash
42
- skillmanager webui --profile laptop
43
- skillmanager install --profile laptop
44
- ```
45
-
46
- ## 把 `--profile laptop` 设为默认(推荐)
47
-
48
- 设置一次默认 profile 后,绝大多数命令都可以不写 `--profile`:
49
-
50
- ```bash
51
- skillmanager config set-default-profile laptop
52
- skillmanager webui
53
- skillmanager install
54
- ```
55
-
56
- 你也可以用环境变量临时覆盖默认 profile:
57
-
58
- ```bash
59
- SKILLMANAGER_PROFILE=laptop skillmanager webui
60
- ```
61
-
62
- ## profile 配置的“上传/下载”(换电脑同步)
63
-
64
- 你可以把某个 profile 上传到一个远端 URL(例如 OSS 对象地址),另一台电脑再 pull 回来。
65
-
66
- > 安全提示:**开放公共写权限非常危险**,任何人都可以篡改你的 profile。更安全的做法是使用签名 URL、私有桶 + 凭证、或 Git 私有仓库。
67
-
68
- ### 1) 设置远端 URL(只需一次)
69
-
70
- ```bash
71
- skillmanager config set-remote-profile-url https://<bucket>.<region>.aliyuncs.com/skillmanager_profile.json
72
- ```
73
-
74
- 你也可以不写入本地配置,改用环境变量(更适合 CI/临时机器):
75
-
76
- ```bash
77
- SKILLMANAGER_PROFILE_URL=https://<bucket>.<region>.aliyuncs.com/skillmanager_profile.json
78
- ```
79
-
80
- ### 2) 上传当前 profile
81
-
82
- ```bash
83
- skillmanager config push --profile laptop
84
- ```
85
-
86
- ### 3) 新电脑下载并写入本地 profile
87
-
88
- ```bash
89
- skillmanager config pull --profile laptop
90
- ```
91
-
92
- ### 3) 安装位置(交给 openskills)
93
-
94
- - 默认:项目级(`./.claude/skills`)
95
- - `--global`:全局(`~/.claude/skills`)
96
- - `--universal`:使用通用目录(`.agent/skills` / `~/.agent/skills`)
97
-
98
- 示例:
99
-
100
- ```bash
101
- skillmanager install --global --universal
102
- ```
103
-
104
- ### 4) 同步 `AGENTS.md`
105
-
106
- 默认会执行 `openskills sync`(输出到当前目录的 `AGENTS.md`)。
107
-
108
- - 指定输出文件:
109
-
110
- ```bash
111
- skillmanager install --output AGENTS.md
112
- ```
113
-
114
- - 跳过同步:
115
-
116
- ```bash
117
- skillmanager install --no-sync
118
- ```
119
-
120
- ### 5) dry-run(只打印要装什么,不实际安装)
121
-
122
- ```bash
123
- skillmanager install --dry-run
124
- ```
125
-
126
- ## 更方便地添加/管理第三方仓库
127
-
128
- 以后不需要手动去编辑 `sources.json`,可以直接用命令写入用户配置:
129
-
130
- ```bash
131
- skillmanager source add https://github.com/obra/superpowers
132
- skillmanager source add ComposioHQ/awesome-claude-skills
133
- skillmanager source list
134
- ```
135
-
136
- 禁用/启用/删除:
137
-
138
- ```bash
139
- skillmanager source disable superpowers
140
- skillmanager source enable superpowers
141
- skillmanager source remove superpowers
142
- ```
143
-
144
- > `source add` 支持输入 `owner/repo` 或 GitHub URL(也支持 `git@github.com:owner/repo.git`)。
145
-
146
- ## 更新已安装 skills(无论哪种来源)
147
-
148
- ### 默认更新(推荐)
149
-
150
- 这会调用 `openskills update` 更新所有 openskills 已记录的来源,然后重新 `sync`:
151
-
152
- ```bash
153
- skillmanager update
154
- ```
155
-
156
- ### 如果你用了 profile 做“子集安装”(Web UI 勾选)
157
-
158
- 因为子集安装是按“本地目录复制安装”(为了兼容 Windows 下 openskills 的本地路径识别问题),`openskills update` 不一定能自动追踪来源;此时用 profile 方式更新最稳:
159
-
160
- ```bash
161
- skillmanager update --profile laptop
162
- ```
163
-
164
- 需要临时调整选择集:先用 Web UI 更新 profile,再执行 update:
165
-
166
- ```bash
167
- skillmanager webui --profile laptop
168
- skillmanager update --profile laptop
169
- ```
170
-
171
- ## 卸载 skills
172
-
173
- ### Web UI 勾选要卸载的已安装 skills(推荐)
174
-
175
- ```bash
176
- skillmanager webui --mode uninstall
177
- ```
178
-
179
- ### 直接按名称卸载
180
-
181
- ```bash
182
- skillmanager uninstall algorithmic-art xlsx
183
- ```
184
-
185
- ### 清空目标目录(危险操作,需要显式 --all)
186
-
187
- ```bash
188
- skillmanager uninstall --all
189
- ```
190
-
191
- ## Skills 来源配置(官方 / 第三方 / 你自己的)
192
-
193
- skillmanager 会在第一次运行时,把内置的 `manifests/sources.json` 复制到你的用户配置目录,之后你只需要编辑 **用户配置文件**即可:
194
-
195
- ```bash
196
- skillmanager paths
197
- ```
198
-
199
- 会打印出类似:
200
-
201
- - `manifest: C:\Users\<you>\AppData\Roaming\skillmanager\sources.json`(Windows)
202
- - macOS/Linux 则在 `~/.config/skillmanager/sources.json` 附近
203
-
204
- `sources.json` 里维护三类来源(你可以继续追加第三方仓库):
205
-
206
- - 官方:`anthropics/skills`
207
- - 你的:`wangyendt/wayne-skills`
208
- - 第三方:自行添加(`enabled: true`)
209
-
210
- ## 发布到 npm(给你未来用)
211
-
212
- 你要发布 scoped 包到 npm,一般是:
213
-
214
- ```bash
215
- npm login
216
- npm publish --access public
217
- ```
218
-
219
- (你提到的 npm 账号是 `wang121ye`:确保你拥有 `@wang121ye` scope 的发布权限;发布 scoped 包通常需要 `npm publish --access public`,本项目已在 `publishConfig` 里默认设置为 public。)
1
+ # skillmanager(`@wang121ye/skillmanager`)
2
+
3
+ 跨平台(Windows / Linux / macOS)的 **Agent Skills 管理器**:把「官方 skills + 第三方 skills 仓库 + 你自己的 skills 仓库」统一做 **安装(install)**,并可选用 **Web UI 交互式勾选**来安装子集。
4
+
5
+ 本项目 **基于 `openskills`** 实现安装与 `AGENTS.md` 同步。
6
+
7
+ ## 安装与使用
8
+
9
+ ### 全局安装(推荐)
10
+
11
+ ```bash
12
+ npm i -g @wang121ye/skillmanager
13
+ skillmanager install
14
+ ```
15
+
16
+ ### 直接 npx(无需安装)
17
+
18
+ ```bash
19
+ npx @wang121ye/skillmanager install
20
+ ```
21
+
22
+ > 说明:你最初写的 `npx skillmanager bootstrap` 只有在发布"非 scope 包名"时才成立。
23
+ > 现在按 scoped 包发布为 `@wang121ye/skillmanager`,对应 npx 用法是 `npx @wang121ye/skillmanager ...`,但执行的命令名仍然叫 `skillmanager`(由 `bin` 决定)。
24
+
25
+ ## 关键能力
26
+
27
+ ### 1) 一键安装(默认装"全部来源的全部 skills")
28
+
29
+ ```bash
30
+ skillmanager install
31
+ ```
32
+
33
+ ### 2) 安装时启用 Web UI 选择(默认全选,可批量全选/全不选/反选/搜索)
34
+
35
+ ```bash
36
+ skillmanager webui
37
+ ```
38
+
39
+ 你也可以用某个 profile 名称(会保存选择集到该 profile)。**多数情况下不需要显式传 `--profile`**,直接用默认 profile(通常是 `default` 或你在 `skillmanager config set-default-profile` 里设置的值)即可:
40
+
41
+ ```bash
42
+ skillmanager webui --profile laptop
43
+ skillmanager install --profile laptop
44
+ ```
45
+
46
+ ## 把 `--profile laptop` 设为默认(推荐)
47
+
48
+ 设置一次默认 profile 后,绝大多数命令都可以不写 `--profile`:
49
+
50
+ ```bash
51
+ skillmanager config set-default-profile laptop
52
+ skillmanager webui
53
+ skillmanager install
54
+ ```
55
+
56
+ 你也可以用环境变量临时覆盖默认 profile:
57
+
58
+ ```bash
59
+ SKILLMANAGER_PROFILE=laptop skillmanager webui
60
+ ```
61
+
62
+ ## 配置同步:换电脑快速部署
63
+
64
+ `skillmanager` 支持将配置上传到云端(如阿里云 OSS、AWS S3 等),换电脑时一键拉取,实现配置同步。
65
+
66
+ **同步内容包括:**
67
+ - ✅ `sources.json` - 所有 skills 来源仓库配置
68
+ - `profiles/[profile].json` - 选中的 skills 列表
69
+
70
+ > 安全提示:**开放公共写权限非常危险**,任何人都可以篡改你的配置。更安全的做法是使用签名 URL、私有桶 + 凭证、或 Git 私有仓库。
71
+
72
+ ### 1) 设置远端基础 URL(只需一次)
73
+
74
+ ```bash
75
+ skillmanager config set-remote-profile-url https://<bucket>.<region>.aliyuncs.com/skillmanager/
76
+ ```
77
+
78
+ 注意:
79
+ - URL 是**基础路径**(以 `/` 结尾),工具会自动拼接 `sources.json` 和 `profiles/[profile].json`
80
+ - 需要在云存储服务中设置相应目录的读写权限
81
+
82
+ **阿里云 OSS 权限配置示例:**
83
+
84
+ 在 OSS 控制台的 "Bucket 授权策略" 中添加:
85
+ - 授权资源:`your-bucket/skillmanager/*` (注意 `/*` 通配符)
86
+ - 授权操作:读/写(或 `PutObject`、`GetObject`)
87
+
88
+ 你也可以不写入本地配置,改用环境变量(更适合 CI/临时机器):
89
+
90
+ ```bash
91
+ export SKILLMANAGER_PROFILE_URL=https://<bucket>.<region>.aliyuncs.com/skillmanager/
92
+ ```
93
+
94
+ ### 2) 推送配置到云端
95
+
96
+ ```bash
97
+ # 使用默认 profile
98
+ skillmanager config push
99
+
100
+ # 指定 profile 名称
101
+ skillmanager config push --profile laptop
102
+ ```
103
+
104
+ **推送内容:**
105
+ - `sources.json` → `https://...com/skillmanager/sources.json`
106
+ - `profiles/laptop.json` `https://...com/skillmanager/profiles/laptop.json`
107
+
108
+ ### 3) 新电脑拉取配置
109
+
110
+ ```bash
111
+ # 使用默认 profile
112
+ skillmanager config pull
113
+
114
+ # 指定 profile 名称
115
+ skillmanager config pull --profile laptop
116
+ ```
117
+
118
+ **拉取后直接安装:**
119
+
120
+ ```bash
121
+ skillmanager config pull --profile laptop
122
+ skillmanager install --profile laptop
123
+ ```
124
+
125
+ ### 3) 安装位置(交给 openskills)
126
+
127
+ - 默认:项目级(`./.claude/skills`)
128
+ - `--global`:全局(`~/.claude/skills`)
129
+ - `--universal`:使用通用目录(`.agent/skills` / `~/.agent/skills`)
130
+
131
+ 示例:
132
+
133
+ ```bash
134
+ skillmanager install --global --universal
135
+ ```
136
+
137
+ ### 4) 同步 `AGENTS.md`
138
+
139
+ 默认会执行 `openskills sync`(输出到当前目录的 `AGENTS.md`)。
140
+
141
+ - 指定输出文件:
142
+
143
+ ```bash
144
+ skillmanager install --output AGENTS.md
145
+ ```
146
+
147
+ - 跳过同步:
148
+
149
+ ```bash
150
+ skillmanager install --no-sync
151
+ ```
152
+
153
+ ### 5) dry-run(只打印要装什么,不实际安装)
154
+
155
+ ```bash
156
+ skillmanager install --dry-run
157
+ ```
158
+
159
+ ## 更方便地添加/管理第三方仓库
160
+
161
+ 以后不需要手动去编辑 `sources.json`,可以直接用命令写入用户配置:
162
+
163
+ ```bash
164
+ skillmanager source add https://github.com/obra/superpowers
165
+ skillmanager source add ComposioHQ/awesome-claude-skills
166
+ skillmanager source list
167
+ ```
168
+
169
+ 禁用/启用/删除:
170
+
171
+ ```bash
172
+ skillmanager source disable superpowers
173
+ skillmanager source enable superpowers
174
+ skillmanager source remove superpowers
175
+ ```
176
+
177
+ > `source add` 支持输入 `owner/repo` 或 GitHub URL(也支持 `git@github.com:owner/repo.git`)。
178
+
179
+ ## 更新已安装 skills(无论哪种来源)
180
+
181
+ ### 默认更新(推荐)
182
+
183
+ 这会调用 `openskills update` 更新所有 openskills 已记录的来源,然后重新 `sync`:
184
+
185
+ ```bash
186
+ skillmanager update
187
+ ```
188
+
189
+ ### 如果你用了 profile 做"子集安装"(Web UI 勾选)
190
+
191
+ 因为子集安装是按"本地目录复制安装"(为了兼容 Windows openskills 的本地路径识别问题),`openskills update` 不一定能自动追踪来源;此时用 profile 方式更新最稳:
192
+
193
+ ```bash
194
+ skillmanager update --profile laptop
195
+ ```
196
+
197
+ 需要临时调整选择集:先用 Web UI 更新 profile,再执行 update:
198
+
199
+ ```bash
200
+ skillmanager webui --profile laptop
201
+ skillmanager update --profile laptop
202
+ ```
203
+
204
+ ## 卸载 skills
205
+
206
+ ### 用 Web UI 勾选要卸载的已安装 skills(推荐)
207
+
208
+ ```bash
209
+ skillmanager webui --mode uninstall
210
+ ```
211
+
212
+ ### 直接按名称卸载
213
+
214
+ ```bash
215
+ skillmanager uninstall algorithmic-art xlsx
216
+ ```
217
+
218
+ ### 清空目标目录(危险操作,需要显式 --all)
219
+
220
+ ```bash
221
+ skillmanager uninstall --all
222
+ ```
223
+
224
+ ## Skills 来源配置(官方 / 第三方 / 你自己的)
225
+
226
+ skillmanager 会在第一次运行时,把内置的 `manifests/sources.json` 复制到你的用户配置目录,之后你只需要编辑 **用户配置文件**即可:
227
+
228
+ ```bash
229
+ skillmanager paths
230
+ ```
231
+
232
+ 会打印出类似:
233
+
234
+ - `manifest: C:\Users\<you>\AppData\Roaming\skillmanager\sources.json`(Windows)
235
+ - macOS/Linux 则在 `~/.config/skillmanager/sources.json` 附近
236
+
237
+ `sources.json` 里维护三类来源(你可以继续追加第三方仓库):
238
+
239
+ - 官方:`anthropics/skills`
240
+ - 你的:`wangyendt/wayne-skills`
241
+ - 第三方:自行添加(`enabled: true`)
242
+
243
+ ## 发布到 npm(给你未来用)
244
+
245
+ 你要发布 scoped 包到 npm,一般是:
246
+
247
+ ```bash
248
+ npm login
249
+ npm publish --access public
250
+ ```
251
+
252
+ (你提到的 npm 账号是 `wang121ye`:确保你拥有 `@wang121ye` scope 的发布权限;发布 scoped 包通常需要 `npm publish --access public`,本项目已在 `publishConfig` 里默认设置为 public。)
@@ -1,38 +1,38 @@
1
- {
2
- "version": 2,
3
- "sources": [
4
- {
5
- "id": "anthropic",
6
- "name": "Anthropic Official Skills",
7
- "kind": "git",
8
- "enabled": true,
9
- "repo": "https://github.com/anthropics/skills.git",
10
- "openskillsRef": "anthropics/skills"
11
- },
12
- {
13
- "id": "wayne",
14
- "name": "Wayne Skills",
15
- "kind": "git",
16
- "enabled": true,
17
- "repo": "https://github.com/wangyendt/wayne-skills.git",
18
- "openskillsRef": "wangyendt/wayne-skills"
19
- },
20
- {
21
- "id": "superpowers",
22
- "name": "Obra Superpowers",
23
- "kind": "git",
24
- "enabled": true,
25
- "repo": "https://github.com/obra/superpowers.git",
26
- "openskillsRef": "obra/superpowers"
27
- },
28
- {
29
- "id": "awesome-claude-skills",
30
- "name": "Awesome Claude Skills (ComposioHQ)",
31
- "kind": "git",
32
- "enabled": true,
33
- "repo": "https://github.com/ComposioHQ/awesome-claude-skills.git",
34
- "openskillsRef": "ComposioHQ/awesome-claude-skills"
35
- }
36
- ]
37
- }
38
-
1
+ {
2
+ "version": 2,
3
+ "sources": [
4
+ {
5
+ "id": "anthropic",
6
+ "name": "Anthropic Official Skills",
7
+ "kind": "git",
8
+ "enabled": true,
9
+ "repo": "https://github.com/anthropics/skills.git",
10
+ "openskillsRef": "anthropics/skills"
11
+ },
12
+ {
13
+ "id": "wayne",
14
+ "name": "Wayne Skills",
15
+ "kind": "git",
16
+ "enabled": true,
17
+ "repo": "https://github.com/wangyendt/wayne-skills.git",
18
+ "openskillsRef": "wangyendt/wayne-skills"
19
+ },
20
+ {
21
+ "id": "superpowers",
22
+ "name": "Obra Superpowers",
23
+ "kind": "git",
24
+ "enabled": true,
25
+ "repo": "https://github.com/obra/superpowers.git",
26
+ "openskillsRef": "obra/superpowers"
27
+ },
28
+ {
29
+ "id": "awesome-claude-skills",
30
+ "name": "Awesome Claude Skills (ComposioHQ)",
31
+ "kind": "git",
32
+ "enabled": true,
33
+ "repo": "https://github.com/ComposioHQ/awesome-claude-skills.git",
34
+ "openskillsRef": "ComposioHQ/awesome-claude-skills"
35
+ }
36
+ ]
37
+ }
38
+