itismyskillmarket 1.3.0 → 1.3.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.
Files changed (49) hide show
  1. package/.github/workflows/publish-npm.yml +59 -0
  2. package/.github/workflows/publish-skill.yml +72 -0
  3. package/5e51cb7aa8b8e60d49d86f4689f5d4d1.png +0 -0
  4. package/CHANGELOG.md +410 -0
  5. package/DEVELOPMENT.md +376 -0
  6. package/README.md +75 -6
  7. package/SKILLMARKET-GUIDE.md +288 -0
  8. package/dist/index.js +733 -212
  9. package/docs/WEEKLY-UPDATE-2026-04-23.md +43 -0
  10. package/docs/plans/2026-04-01-skillmarket-design.md +267 -0
  11. package/docs/plans/2026-04-01-skillmarket-implementation.md +1031 -0
  12. package/docs/plans/2026-04-15-cross-platform-adapter-design.md +416 -0
  13. package/docs/plans/2026-04-15-cross-platform-adapter-plan.md +833 -0
  14. package/docs/plans/2026-04-16-keyword-search-design.md +143 -0
  15. package/docs/plans/2026-04-29-weekly-update.md +57 -0
  16. package/package.json +1 -6
  17. package/skills/README.md +54 -0
  18. package/skills/test-skill/SKILL.md +25 -0
  19. package/skills/test-skill/index.js +66 -0
  20. package/skills/test-skill/metadata.json +9 -0
  21. package/skills/test-skill/package.json +19 -0
  22. package/skills/test-skill-1/SKILL.md +24 -0
  23. package/skills/test-skill-1/index.js +13 -0
  24. package/skills/test-skill-1/metadata.json +9 -0
  25. package/skills/test-skill-1/package.json +16 -0
  26. package/skills/test-skill-2/SKILL.md +25 -0
  27. package/skills/test-skill-2/index.js +13 -0
  28. package/skills/test-skill-2/metadata.json +9 -0
  29. package/skills/test-skill-2/package.json +16 -0
  30. package/src/adapters/base.ts +87 -0
  31. package/src/adapters/claude.ts +31 -0
  32. package/src/adapters/index.ts +9 -0
  33. package/src/adapters/opencode.ts +40 -0
  34. package/src/adapters/registry.ts +77 -0
  35. package/src/adapters/vscode.ts +62 -0
  36. package/src/cli.ts +189 -75
  37. package/src/commands/info.ts +4 -15
  38. package/src/commands/install.ts +93 -54
  39. package/src/commands/ls.ts +182 -17
  40. package/src/commands/npm.ts +118 -16
  41. package/src/commands/search.ts +12 -7
  42. package/src/commands/sync.ts +6 -27
  43. package/src/commands/uninstall.ts +313 -15
  44. package/src/commands/update.ts +2 -2
  45. package/src/index.ts +27 -0
  46. package/src/types.ts +35 -0
  47. package/tsconfig.json +10 -0
  48. package/tsup.config.ts +22 -0
  49. package/wanxuchen-skillmarket-1.0.1.tgz +0 -0
@@ -0,0 +1,43 @@
1
+ # Weekly Update Log (2026-04-17 ~ 2026-04-23)
2
+
3
+ ## Version 1.2.9 (2026-04-22)
4
+
5
+ ### 修复
6
+ - `fix: improve search precision with local filtering` - 改进搜索精度,使用本地过滤
7
+
8
+ ### 发布
9
+ - `release: bump version to 1.2.9` - 版本更新至 1.2.9
10
+
11
+ ---
12
+
13
+ ## Version 1.2.6 (2026-04-22)
14
+
15
+ ### 新功能
16
+ - `feat: add independent skm search command` - 新增独立的 `skm search` 命令
17
+ - `feat: add search functionality for skm ls command` - `skm ls` 命令支持关键字搜索
18
+
19
+ ### 文档
20
+ - `docs: add search examples to help output` - 帮助输出添加搜索使用示例
21
+
22
+ ### 发布
23
+ - `release: bump version to 1.2.6 for search feature` - 版本更新至 1.2.6
24
+
25
+ ---
26
+
27
+ ## 本周更新总结
28
+
29
+ ### 核心功能
30
+ - ✅ 独立的 `skm search` 命令
31
+ - ✅ `skm ls` 关键字搜索功能
32
+ - ✅ 搜索结果本地过滤优化
33
+
34
+ ### 版本历史
35
+ | 版本 | 日期 | 说明 |
36
+ |------|------|------|
37
+ | v1.2.9 | 2026-04-22 | 搜索精度优化 |
38
+ | v1.2.6 | 2026-04-22 | 搜索功能 |
39
+
40
+ ### 下周计划
41
+ - [ ] 搜索结果排序优化
42
+ - [ ] 支持按平台过滤搜索
43
+ - [ ] 搜索历史记录
@@ -0,0 +1,267 @@
1
+ # SkillMarket 设计文档
2
+
3
+ **日期**: 2026-04-01
4
+ **状态**: 已批准
5
+ **版本**: v1.0.0
6
+
7
+ ---
8
+
9
+ ## 1. 概述
10
+
11
+ ### 1.1 目标
12
+
13
+ 创建一个跨平台的 npm 包 `skillmarket`,用于管理 AI 编程工具(Cursor / VSCode / Codex / OpenCode / Claude Code / Antigravity)的 skills。
14
+
15
+ ### 1.2 核心功能
16
+
17
+ - 查看可用的 skills 列表
18
+ - 查看 skill 的详细介绍
19
+ - 安装 / 更新 / 卸载 skills
20
+ - 多平台适配(软链接机制)
21
+
22
+ ---
23
+
24
+ ## 2. 架构设计
25
+
26
+ ### 2.1 目录结构
27
+
28
+ ```
29
+ ~/.skillmarket/
30
+ ├── registry.json # npm registry 缓存(已发现的 skills)
31
+ ├── cache/ # npm 包缓存目录
32
+ │ └── @skillmarket/
33
+ │ └── <skill-name>@<version>/
34
+ ├── skills/ # 安装的 skills
35
+ │ ├── <skill-name>@<version>/
36
+ │ │ ├── SKILL.md # 统一 skill 定义
37
+ │ │ ├── metadata.json # 元信息(名称、版本、平台、依赖)
38
+ │ │ ├── v1/
39
+ │ │ │ ├── cursor/
40
+ │ │ │ ├── vscode/
41
+ │ │ │ ├── codex/
42
+ │ │ │ ├── opencode/
43
+ │ │ │ ├── claude/
44
+ │ │ │ └── antigravity/
45
+ │ │ └── v2/ # 未来版本扩展
46
+ │ └── latest -> <skill-name>@<version>/ # 软链接
47
+ └── platform-links/ # 各平台的软链接入口
48
+ ├── cursor/
49
+ │ └── skills/
50
+ │ └── <skill-name> -> ../../skills/<skill-name>/latest/cursor
51
+ └── ...
52
+ ```
53
+
54
+ ### 2.2 Skill 包结构(npm)
55
+
56
+ ```json
57
+ {
58
+ "name": "@skillmarket/<skill-name>",
59
+ "version": "1.0.0",
60
+ "skillmarket": {
61
+ "id": "<skill-name>",
62
+ "displayName": "Display Name",
63
+ "description": "Skill description",
64
+ "platforms": ["cursor", "vscode", "opencode", "codex", "claude", "antigravity"],
65
+ "defaultVersion": "v1"
66
+ }
67
+ }
68
+ ```
69
+
70
+ ### 2.3 平台目录结构
71
+
72
+ ```
73
+ <skill-name>/
74
+ ├── SKILL.md # 必选:skill 定义
75
+ ├── metadata.json # 必选:元信息
76
+ └── v1/
77
+ ├── cursor/ # Cursor 平台适配
78
+ │ └── (platform-specific files)
79
+ ├── opencode/ # OpenCode 平台适配
80
+ │ └── SKILL.md
81
+ └── ...
82
+ ```
83
+
84
+ ---
85
+
86
+ ## 3. 命令设计
87
+
88
+ ### 3.1 CLI 接口
89
+
90
+ ```bash
91
+ # 主命令入口(通过 npm script 或 bin 链接为 skm)
92
+ npx skillmarket <command>
93
+
94
+ # 快捷方式(推荐安装为全局)
95
+ skm <command>
96
+ ```
97
+
98
+ ### 3.2 命令列表
99
+
100
+ | 命令 | 说明 | 参数 |
101
+ |------|------|------|
102
+ | `--help`, `-h` | 显示帮助信息 | - |
103
+ | `--ls` | 列出可用的 skills | `[--installed]` `[--updates]` |
104
+ | `--info` | 查看 skill 详情 | `<skill-id>` |
105
+ | `--install` | 安装 skill | `<skill-id>[@version]` `[--all]` |
106
+ | `--uninstall` | 卸载 skill | `<skill-id>` |
107
+ | `--update` | 更新 skill | `<skill-id>` `[--all]` |
108
+ | `--sync` | 同步软链接 | - |
109
+ | `--platform` | 指定目标平台 | `<name>` |
110
+
111
+ ### 3.3 使用示例
112
+
113
+ ```bash
114
+ # 查看帮助
115
+ skm --help
116
+
117
+ # 列出所有可安装的 skills
118
+ skm --ls
119
+
120
+ # 仅显示已安装的
121
+ skm --ls --installed
122
+
123
+ # 检查更新
124
+ skm --ls --updates
125
+
126
+ # 查看 skill 详情
127
+ skm --info brainstorming
128
+
129
+ # 安装指定 skill
130
+ skm --install brainstorming
131
+
132
+ # 安装特定版本
133
+ skm --install brainstorming@1.0.0
134
+
135
+ # 安装所有可用 skills
136
+ skm --install --all
137
+
138
+ # 卸载
139
+ skm --uninstall brainstorming
140
+
141
+ # 更新
142
+ skm --update brainstorming
143
+ skm --update --all
144
+ ```
145
+
146
+ ---
147
+
148
+ ## 4. 核心流程
149
+
150
+ ### 4.1 安装流程
151
+
152
+ ```
153
+ skm --install <skill-id>
154
+
155
+
156
+ 1. 查询 npm registry @skillmarket/<skill-id>
157
+
158
+
159
+ 2. npm pack 下载到 cache/
160
+
161
+
162
+ 3. 解压到 ~/.skillmarket/cache/@skillmarket/<skill-id>@<version>/
163
+
164
+
165
+ 4. 解析 metadata.json,获取 platforms 列表
166
+
167
+
168
+ 5. 复制/创建平台适配文件到 skills/<skill-id>@<version>/<platform>/
169
+
170
+
171
+ 6. 创建/更新 latest 软链接
172
+
173
+
174
+ 7. 更新各平台的 platform-links/
175
+
176
+
177
+ 8. 写入 registry.json 记录
178
+ ```
179
+
180
+ ### 4.2 更新检测流程
181
+
182
+ ```
183
+ skm --ls --updates
184
+
185
+
186
+ 1. 读取 registry.json
187
+
188
+
189
+ 2. 对每个已安装 skill,向 npm 查询最新版本
190
+
191
+
192
+ 3. 对比版本号,显示可更新的列表
193
+
194
+
195
+ 4. 用户确认后,执行 --update
196
+ ```
197
+
198
+ ---
199
+
200
+ ## 5. 平台适配层
201
+
202
+ ### 5.1 平台识别
203
+
204
+ 通过环境变量或自动检测:
205
+
206
+ ```javascript
207
+ const detectPlatform = () => {
208
+ if (process.env.OPENCODE) return 'opencode';
209
+ if (process.env.CURSOR) return 'cursor';
210
+ if (process.env.VSCODE) return 'vscode';
211
+ if (process.env.CLAUDE_CODE) return 'claude';
212
+ if (process.env.ANTIGRAVITY) return 'antigravity';
213
+ // 默认尝试 codex
214
+ return 'codex';
215
+ };
216
+ ```
217
+
218
+ ### 5.2 软链接策略
219
+
220
+ - **latest 软链接**: 方便版本管理,每次安装/更新时更新
221
+ - **platform-links**: 各平台通过此目录访问统一的 skills
222
+
223
+ ---
224
+
225
+ ## 6. 预留扩展
226
+
227
+ 以下功能设计预留接口,后续版本实现:
228
+
229
+ - [ ] `--search` - 搜索 skills
230
+ - [ ] `--publish` - 发布自己的 skill
231
+ - [ ] `--verify` - 验证 skill 完整性
232
+ - [ ] `--config` - 配置管理
233
+ - [ ] `--backup` / `--restore` - 备份与恢复
234
+ - [ ] `--proxy` - 代理/镜像支持
235
+ - [ ] `--theme` - 主题定制
236
+ - [ ] `--sync-server` - 远程同步
237
+
238
+ ---
239
+
240
+ ## 7. 技术选型
241
+
242
+ | 组件 | 选型 | 理由 |
243
+ |------|------|------|
244
+ | 语言 | TypeScript | 类型安全,便于维护 |
245
+ | 构建 | tsup | 快速,输出 CJS/ESM |
246
+ | CLI 解析 | commander | 轻量,成熟 |
247
+ | 文件操作 | fs-extra | Promise 化的文件系统操作 |
248
+ | 兼容性 | Node.js 18+ | 软链接、crypto 等特性 |
249
+
250
+ ---
251
+
252
+ ## 8. 里程碑
253
+
254
+ - [ ] **M1**: 项目初始化,CLI 骨架,--help 和 --ls
255
+ - [ ] **M2**: npm registry 查询,skill 信息展示
256
+ - [ ] **M3**: 安装逻辑,目录结构,软链接创建
257
+ - [ ] **M4**: 更新检测,registry.json 管理
258
+ - [ ] **M5**: 多平台适配,软链接策略完善
259
+ - [ ] **M6**: 测试覆盖,文档完善
260
+
261
+ ---
262
+
263
+ ## 9. 文档
264
+
265
+ - `README.md` - 用户使用文档
266
+ - `SKILL.md` - skill 定义规范
267
+ - `docs/` - 开发者文档