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.
- package/.github/workflows/publish-npm.yml +59 -0
- package/.github/workflows/publish-skill.yml +72 -0
- package/5e51cb7aa8b8e60d49d86f4689f5d4d1.png +0 -0
- package/CHANGELOG.md +410 -0
- package/DEVELOPMENT.md +376 -0
- package/README.md +75 -6
- package/SKILLMARKET-GUIDE.md +288 -0
- package/dist/index.js +733 -212
- package/docs/WEEKLY-UPDATE-2026-04-23.md +43 -0
- package/docs/plans/2026-04-01-skillmarket-design.md +267 -0
- package/docs/plans/2026-04-01-skillmarket-implementation.md +1031 -0
- package/docs/plans/2026-04-15-cross-platform-adapter-design.md +416 -0
- package/docs/plans/2026-04-15-cross-platform-adapter-plan.md +833 -0
- package/docs/plans/2026-04-16-keyword-search-design.md +143 -0
- package/docs/plans/2026-04-29-weekly-update.md +57 -0
- package/package.json +1 -6
- package/skills/README.md +54 -0
- package/skills/test-skill/SKILL.md +25 -0
- package/skills/test-skill/index.js +66 -0
- package/skills/test-skill/metadata.json +9 -0
- package/skills/test-skill/package.json +19 -0
- package/skills/test-skill-1/SKILL.md +24 -0
- package/skills/test-skill-1/index.js +13 -0
- package/skills/test-skill-1/metadata.json +9 -0
- package/skills/test-skill-1/package.json +16 -0
- package/skills/test-skill-2/SKILL.md +25 -0
- package/skills/test-skill-2/index.js +13 -0
- package/skills/test-skill-2/metadata.json +9 -0
- package/skills/test-skill-2/package.json +16 -0
- package/src/adapters/base.ts +87 -0
- package/src/adapters/claude.ts +31 -0
- package/src/adapters/index.ts +9 -0
- package/src/adapters/opencode.ts +40 -0
- package/src/adapters/registry.ts +77 -0
- package/src/adapters/vscode.ts +62 -0
- package/src/cli.ts +189 -75
- package/src/commands/info.ts +4 -15
- package/src/commands/install.ts +93 -54
- package/src/commands/ls.ts +182 -17
- package/src/commands/npm.ts +118 -16
- package/src/commands/search.ts +12 -7
- package/src/commands/sync.ts +6 -27
- package/src/commands/uninstall.ts +313 -15
- package/src/commands/update.ts +2 -2
- package/src/index.ts +27 -0
- package/src/types.ts +35 -0
- package/tsconfig.json +10 -0
- package/tsup.config.ts +22 -0
- 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/` - 开发者文档
|