aweskill 0.1.8 → 0.2.1
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 +136 -101
- package/README.zh-CN.md +135 -100
- package/dist/index.js +1570 -730
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/resources/bundle_templates/Nature-Paper-Skills.yaml +11 -0
- package/resources/bundle_templates/caveman.yaml +7 -0
package/README.zh-CN.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<h1>aweskill:为所有编码代理准备的一套 Skill 中央仓库</h1>
|
|
4
4
|
<p><strong>面向 AI 编码代理的本地 Skill 编排命令行工具。</strong></p>
|
|
5
5
|
<p>
|
|
6
|
-
<a href="https://github.com/mugpeng/aweskill/releases"><img src="https://img.shields.io/badge/version-0.
|
|
6
|
+
<a href="https://github.com/mugpeng/aweskill/releases"><img src="https://img.shields.io/badge/version-0.2.0-7C3AED?style=flat-square" alt="Version"></a>
|
|
7
7
|
<a href="https://github.com/mugpeng/aweskill"><img src="https://img.shields.io/badge/node-%E2%89%A520-0EA5E9?style=flat-square" alt="Node"></a>
|
|
8
8
|
<a href="https://github.com/mugpeng/aweskill/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MPL--2.0-22C55E?style=flat-square" alt="License"></a>
|
|
9
9
|
<a href="./README.md"><img src="https://img.shields.io/badge/README-English-64748B?style=flat-square" alt="English README"></a>
|
|
@@ -12,10 +12,14 @@
|
|
|
12
12
|
<img src="https://img.shields.io/badge/status-beta-c96a3d?style=flat-square" alt="Status">
|
|
13
13
|
<img src="https://img.shields.io/badge/agents-47_supported-0ea5a4?style=flat-square" alt="Supported agents">
|
|
14
14
|
<img src="https://img.shields.io/badge/projection-symlink-1f2328?style=flat-square" alt="Projection mode">
|
|
15
|
+
<img src="https://img.shields.io/badge/OS-windows%20%26%20macOS-0078D4?style=flat-square" alt="Windows and macOS">
|
|
16
|
+
<img src="https://img.shields.io/npm/dt/aweskill?style=flat-square" alt="npm downloads">
|
|
17
|
+
<img src="https://img.shields.io/github/stars/mugpeng/aweskill?style=flat-square" alt="GitHub stars">
|
|
15
18
|
<img src="https://img.shields.io/badge/platform-local%20CLI-334155?style=flat-square" alt="Local CLI">
|
|
16
19
|
</p>
|
|
17
20
|
</div>
|
|
18
21
|
|
|
22
|
+
|
|
19
23
|
`aweskill` 是一个本地 CLI,用来在多个 AI 编码代理之间管理、组织和投影技能。
|
|
20
24
|
|
|
21
25
|
你不需要再把同一套 skill 文件夹手动复制到每个工具里。`aweskill` 会把 `~/.aweskill/skills/` 作为唯一事实来源,再按目标 agent 的要求,把 skill 以 `symlink` 或 `copy` 的形式投影到对应目录。
|
|
@@ -42,7 +46,7 @@ aweskill --help
|
|
|
42
46
|
固定到某一版本:
|
|
43
47
|
|
|
44
48
|
```bash
|
|
45
|
-
npm install -g aweskill@0.
|
|
49
|
+
npm install -g aweskill@0.2.0
|
|
46
50
|
```
|
|
47
51
|
|
|
48
52
|
包主页:[npmjs.com/package/aweskill](https://www.npmjs.com/package/aweskill)
|
|
@@ -68,7 +72,7 @@ aweskill --help
|
|
|
68
72
|
```bash
|
|
69
73
|
npm install
|
|
70
74
|
npm pack
|
|
71
|
-
npm install -g ./aweskill-0.
|
|
75
|
+
npm install -g ./aweskill-0.2.0.tgz
|
|
72
76
|
```
|
|
73
77
|
|
|
74
78
|
## 快速开始
|
|
@@ -77,37 +81,52 @@ npm install -g ./aweskill-0.1.8.tgz
|
|
|
77
81
|
# 1. 初始化 aweskill 家目录
|
|
78
82
|
aweskill store init
|
|
79
83
|
|
|
80
|
-
# 2.
|
|
81
|
-
aweskill
|
|
84
|
+
# 2. 查看 aweskill store 在哪里
|
|
85
|
+
aweskill store where --verbose
|
|
86
|
+
|
|
87
|
+
# 3. 扫描已有 agent 的 skill 目录
|
|
88
|
+
aweskill store scan
|
|
82
89
|
|
|
83
|
-
#
|
|
84
|
-
aweskill
|
|
85
|
-
# aweskill skill import /path/to/my-skill --mode cp
|
|
90
|
+
# 4. 把扫描到的 agent skill 导入中央仓库
|
|
91
|
+
aweskill store import --scan
|
|
86
92
|
|
|
87
|
-
#
|
|
93
|
+
# 5. 导入一个 skills 根目录或单个 skill
|
|
94
|
+
aweskill store import ~/.agents/skills
|
|
95
|
+
# aweskill store import /path/to/my-skill --link-source
|
|
96
|
+
|
|
97
|
+
# 6. 创建 bundle
|
|
88
98
|
aweskill bundle create frontend
|
|
89
99
|
aweskill bundle add frontend my-skill
|
|
90
100
|
|
|
91
|
-
#
|
|
101
|
+
# 7. 为一个 agent 启用这个 bundle
|
|
92
102
|
aweskill agent add bundle frontend --global --agent claude-code
|
|
93
103
|
|
|
94
|
-
#
|
|
104
|
+
# 8. 查看当前投影状态
|
|
95
105
|
aweskill agent list
|
|
96
106
|
```
|
|
97
107
|
|
|
98
|
-
##
|
|
108
|
+
## Windows
|
|
109
|
+
|
|
110
|
+
`aweskill` 现在已经支持 Windows 原生使用。
|
|
111
|
+
|
|
112
|
+
- 需要 Node.js 20 及以上
|
|
113
|
+
- 推荐使用 PowerShell 执行命令
|
|
114
|
+
- 在 Windows 上,agent 投影会优先使用目录 junction;如果系统不允许创建链接,会回退到受管 copy
|
|
115
|
+
- `store backup` 和 `store restore` 不再依赖系统自带 `tar`
|
|
116
|
+
|
|
117
|
+
示例:
|
|
99
118
|
|
|
100
|
-
|
|
119
|
+
```powershell
|
|
120
|
+
aweskill store init
|
|
121
|
+
aweskill store scan
|
|
122
|
+
aweskill agent add bundle frontend --global --agent codex
|
|
123
|
+
```
|
|
101
124
|
|
|
102
|
-
|
|
103
|
-
2. Bundle 是 `~/.aweskill/bundles/<bundle>.yaml` 下的普通 YAML 文件
|
|
104
|
-
3. `agent add` 会把选定的 skill 投影到各 agent 自己的 skills 目录
|
|
125
|
+
如果你在 Windows 上遇到路径、权限或投影问题,建议带上 shell、Node 版本和目标 agent 信息来提 issue。
|
|
105
126
|
|
|
106
|
-
|
|
127
|
+
## 核心模型
|
|
107
128
|
|
|
108
|
-
|
|
109
|
-
- 没有,就表示停用
|
|
110
|
-
- 不存在额外的全局 activation 注册表
|
|
129
|
+
`aweskill` 会把 `~/.aweskill/skills/` 作为唯一技能中央仓库,用 bundle 组织可复用 skill 集合,再把选中的 skill 投影到各个 agent 的技能目录。投影后的文件系统状态本身就是启用状态。
|
|
111
130
|
|
|
112
131
|
## 支持范围
|
|
113
132
|
|
|
@@ -121,57 +140,109 @@ aweskill agent list
|
|
|
121
140
|
- 重复项暂存区:`~/.aweskill/dup_skills/`
|
|
122
141
|
- 备份目录:`~/.aweskill/backup/`
|
|
123
142
|
- Bundle 文件:`~/.aweskill/bundles/*.yaml`
|
|
124
|
-
-
|
|
143
|
+
- 内置 skill:`skills/aweskill/`、`skills/aweskill-advanced/`、`skills/aweskill-doctor/`
|
|
125
144
|
|
|
126
145
|
## 常见工作流
|
|
127
146
|
|
|
128
147
|
### 把现有 skill 导入中央仓库
|
|
129
148
|
|
|
130
149
|
```bash
|
|
131
|
-
|
|
132
|
-
aweskill
|
|
133
|
-
|
|
150
|
+
# 从现有 agent skill 目录导入
|
|
151
|
+
aweskill store import ~/.agents/skills
|
|
152
|
+
|
|
153
|
+
# 导入外部 skill 目录,并保留原目录不变
|
|
154
|
+
aweskill store import ~/Downloads/pr-review
|
|
155
|
+
|
|
156
|
+
# 导入外部 skill 目录,并把原目录替换成 aweskill 托管投影
|
|
157
|
+
aweskill store import ~/Downloads/pr-review --link-source
|
|
158
|
+
|
|
159
|
+
# 导入扫描到的 agent skill,默认回写成 aweskill 托管投影
|
|
160
|
+
aweskill store import --scan
|
|
161
|
+
|
|
162
|
+
# 导入扫描到的 agent skill,但保留原 agent 目录不变
|
|
163
|
+
aweskill store import --scan --keep-source
|
|
134
164
|
```
|
|
135
165
|
|
|
136
166
|
### 构建可复用 bundle
|
|
137
167
|
|
|
138
168
|
```bash
|
|
169
|
+
# 创建一个可复用 bundle
|
|
139
170
|
aweskill bundle create backend
|
|
171
|
+
|
|
172
|
+
# 给 bundle 添加多个 skill
|
|
140
173
|
aweskill bundle add backend api-design,db-schema
|
|
174
|
+
|
|
175
|
+
# 查看 bundle 内容
|
|
141
176
|
aweskill bundle show backend
|
|
142
177
|
```
|
|
143
178
|
|
|
144
179
|
### 把 skill 投影到多个 agent
|
|
145
180
|
|
|
146
181
|
```bash
|
|
182
|
+
# 把一个 skill 投影到检测到的全局 agent 目录
|
|
147
183
|
aweskill agent add skill biopython
|
|
184
|
+
|
|
185
|
+
# 把多个 skill 投影到指定 agent 的全局目录
|
|
148
186
|
aweskill agent add skill biopython,scanpy --global --agent codex
|
|
187
|
+
|
|
188
|
+
# 把整个 bundle 投影到所有检测到的全局 agent
|
|
149
189
|
aweskill agent add bundle backend --global --agent all
|
|
190
|
+
|
|
191
|
+
# 把托管 symlink 恢复为完整目录
|
|
192
|
+
aweskill agent recover --global --agent codex
|
|
150
193
|
```
|
|
151
194
|
|
|
152
195
|
### 维护本地仓库
|
|
153
196
|
|
|
154
197
|
```bash
|
|
155
|
-
|
|
156
|
-
aweskill
|
|
157
|
-
|
|
158
|
-
|
|
198
|
+
# 查看中央仓库位置和目录统计
|
|
199
|
+
aweskill store where --verbose
|
|
200
|
+
|
|
201
|
+
# 备份当前 store
|
|
202
|
+
aweskill store backup
|
|
203
|
+
|
|
204
|
+
# 恢复备份归档
|
|
205
|
+
aweskill store restore ~/Downloads/aweskill-backup.tar.gz
|
|
206
|
+
|
|
207
|
+
# 查看 agent 条目分类
|
|
208
|
+
aweskill agent list
|
|
209
|
+
|
|
210
|
+
# 清理中央仓库里的可疑条目
|
|
211
|
+
aweskill doctor clean
|
|
212
|
+
|
|
213
|
+
# 把中央仓库里的重复 skill 移到 dup_skills
|
|
214
|
+
aweskill doctor dedup --apply
|
|
215
|
+
|
|
216
|
+
# 先看某个 agent 下有哪些可修项
|
|
217
|
+
aweskill doctor sync --global --agent codex
|
|
218
|
+
|
|
219
|
+
# 修复某个 agent 下的 broken / duplicate / matched 条目
|
|
220
|
+
aweskill doctor sync --global --agent codex --apply
|
|
221
|
+
|
|
222
|
+
# 只有显式指定时才删除 suspicious agent 条目
|
|
223
|
+
aweskill doctor sync --global --agent codex --apply --remove-suspicious
|
|
159
224
|
```
|
|
160
225
|
|
|
161
|
-
|
|
226
|
+
所有 `doctor` 命令默认为 dry run,加上 `--apply` 才会真正修改。
|
|
162
227
|
|
|
163
228
|
## 命令面
|
|
164
229
|
|
|
230
|
+
核心命令:`store init`、`store where`、`store import`、`bundle create`、`agent add`、`doctor clean`
|
|
231
|
+
|
|
232
|
+
<details>
|
|
233
|
+
<summary>全部命令</summary>
|
|
234
|
+
|
|
165
235
|
| 命令 | 说明 |
|
|
166
236
|
| --- | --- |
|
|
167
237
|
| `aweskill store init [--scan] [--verbose]` | 初始化 `~/.aweskill` 布局 |
|
|
168
|
-
| `aweskill store
|
|
169
|
-
| `aweskill store
|
|
170
|
-
| `aweskill
|
|
171
|
-
| `aweskill
|
|
172
|
-
| `aweskill
|
|
173
|
-
| `aweskill
|
|
174
|
-
| `aweskill
|
|
238
|
+
| `aweskill store where [--verbose]` | 显示 `~/.aweskill` 位置,并汇总核心 store 目录 |
|
|
239
|
+
| `aweskill store backup [archive] [--skills-only]` | 归档中央仓库;默认同时包含 skills 和 bundles |
|
|
240
|
+
| `aweskill store restore <archive-or-dir> [--override] [--skills-only]` | 从备份归档或已解包目录恢复 |
|
|
241
|
+
| `aweskill store scan [--global\|--project [dir]] [--agent <agent>] [--verbose]` | 按指定 scope 和 agent 集合扫描支持的 agent skill 目录 |
|
|
242
|
+
| `aweskill store import <path> [--keep-source\|--link-source] [--override]` | 导入单个 skill 或整个 skills 根目录;外部路径默认保留原目录 |
|
|
243
|
+
| `aweskill store import --scan [--global\|--project [dir]] [--agent <agent>] [--keep-source\|--link-source] [--override]` | 按指定 scope 和 agent 集合导入当前扫描结果;扫描到的 agent 路径默认会回写为 aweskill 托管投影 |
|
|
244
|
+
| `aweskill store list [--verbose]` | 列出中央仓库中的 skill |
|
|
245
|
+
| `aweskill store remove <skill> [--force]` | 从中央仓库删除一个 skill |
|
|
175
246
|
| `aweskill bundle list [--verbose]` | 列出 bundle |
|
|
176
247
|
| `aweskill bundle create <name>` | 创建 bundle |
|
|
177
248
|
| `aweskill bundle add <bundle> <skill>` | 向 bundle 增加一个或多个 skill |
|
|
@@ -179,84 +250,48 @@ aweskill doctor dedupe --fix
|
|
|
179
250
|
| `aweskill bundle show <name>` | 查看 bundle 内容 |
|
|
180
251
|
| `aweskill bundle template list [--verbose]` | 列出内置 bundle 模板 |
|
|
181
252
|
| `aweskill bundle template import <name>` | 把内置模板复制到本地仓库 |
|
|
182
|
-
| `aweskill agent supported` |
|
|
253
|
+
| `aweskill agent supported` | 列出全部支持的 agent id,用 `✓` / `x` 标记 global 安装状态,并显示已检测到的 global skills 路径 |
|
|
183
254
|
| `aweskill agent add bundle\|skill ...` | 把托管 skill 投影到 agent 目录 |
|
|
184
255
|
| `aweskill agent remove bundle\|skill ... [--force]` | 删除托管投影 |
|
|
185
|
-
| `aweskill agent list [
|
|
186
|
-
| `aweskill agent
|
|
256
|
+
| `aweskill agent list [--global\|--project [dir]] [--agent <agent>] [--verbose]` | `doctor sync` 的只读 dry-run 视图:检查 `linked`、`broken`、`duplicate`、`matched`、`new`、`suspicious` 状态;省略 `--agent` 时,先输出当前 scope 检测到的 agent 集合,再输出分组结果 |
|
|
257
|
+
| `aweskill doctor sync [--apply] [--remove-suspicious] [--global\|--project [dir]] [--agent <agent>] [--verbose]` | 默认 dry run;加上 `--apply` 修复 broken 并重连 duplicate / matched,`--apply --remove-suspicious` 额外删除 suspicious;省略 `--agent` 时,先输出当前 scope 检测到的 agent 集合 |
|
|
187
258
|
| `aweskill agent recover` | 把托管 symlink 恢复为完整目录 |
|
|
188
|
-
| `aweskill doctor
|
|
189
|
-
|
|
190
|
-
## 设计取舍
|
|
259
|
+
| `aweskill doctor clean [--apply] [--skills-only] [--bundles-only] [--verbose]` | 按 `skills` / `bundles` 分组查找不规范的 store 条目,并可选清理 |
|
|
260
|
+
| `aweskill doctor dedup [--apply] [--delete]` | 查找重复 skill,并可选移动或删除 |
|
|
191
261
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
`aweskill` 直接把投影后的文件系统状态当作事实来源。这样模型更简单,也避免额外的一层 activation 元数据和实际目录状态漂移。
|
|
195
|
-
|
|
196
|
-
### Bundle 是展开集合
|
|
197
|
-
|
|
198
|
-
`agent add bundle <name>` 会把 bundle 展开为多个 skill 名,再逐个投影。投影完成后,不存在一个额外长期保存的“bundle 激活对象”。
|
|
199
|
-
|
|
200
|
-
### 只删除托管项
|
|
201
|
-
|
|
202
|
-
`aweskill` 只删除它能够明确识别为自己创建的托管 symlink,不会盲删任意 skill 目录。
|
|
262
|
+
</details>
|
|
203
263
|
|
|
204
|
-
##
|
|
264
|
+
## 内置 Skill
|
|
205
265
|
|
|
206
|
-
|
|
266
|
+
`aweskill` 内置了三个 meta-skill,用来教 AI 编码代理直接操作 CLI。把它们导入中央仓库后,Codex、Claude Code、Cursor 等 agent 就能自动运行 aweskill 命令,无需人工介入。
|
|
207
267
|
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
skills
|
|
211
|
-
|
|
212
|
-
- frontend-design
|
|
268
|
+
```bash
|
|
269
|
+
aweskill store import skills/aweskill
|
|
270
|
+
aweskill store import skills/aweskill-advanced
|
|
271
|
+
aweskill store import skills/aweskill-doctor
|
|
213
272
|
```
|
|
214
273
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
4. **`agent sync`** 会移除中央 skill 已不存在时留下的失效托管投影
|
|
221
|
-
|
|
222
|
-
**不会**基于某个全局 YAML activation 列表做 reconcile。
|
|
223
|
-
|
|
224
|
-
导入行为:
|
|
225
|
-
|
|
226
|
-
- 默认 `skill import --scan` 和批量 `skill import` 只补缺失文件;`--override` 才会覆盖
|
|
227
|
-
- 如果导入源是 symlink,aweskill 会从真实路径复制,并在需要时给出 warning
|
|
228
|
-
- 批量导入遇到坏掉的 symlink 会继续处理其他项
|
|
229
|
-
- `restore` 在恢复前会自动备份当前 `skills/`
|
|
230
|
-
|
|
231
|
-
显示行为:
|
|
232
|
-
|
|
233
|
-
- `skill list` 默认显示预览,`--verbose` 才显示全部
|
|
234
|
-
- `skill scan` 默认显示每个 agent 的统计,`--verbose` 才列出具体 skill
|
|
235
|
-
- `agent list` 会把条目分成 `linked`、`duplicate`、`new`
|
|
236
|
-
- `doctor dedupe` 会把 `name`、`name-2`、`name-1.2.3` 视为同一重复族,只有传 `--fix` 才真正改文件
|
|
237
|
-
|
|
238
|
-
投影示例:
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
# 全局范围为一个 agent 建立投影
|
|
242
|
-
aweskill agent add skill biopython --global --agent codex
|
|
274
|
+
| Skill | 面向 | 何时使用 |
|
|
275
|
+
| --- | --- | --- |
|
|
276
|
+
| `aweskill` | 操作面 | 日常:init、scan、import、list、remove、bundle 增删改查、基础 agent 投影 |
|
|
277
|
+
| `aweskill-advanced` | 维护面 | 低频:跨 agent 投影策略、bundle 模板、recover 流程、多 scope 规划 |
|
|
278
|
+
| `aweskill-doctor` | 诊断面 | 修复:`doctor clean`、`doctor dedup`、`doctor sync`,解读 broken/duplicate/suspicious |
|
|
243
279
|
|
|
244
|
-
|
|
245
|
-
aweskill agent add skill pr-review --project /path/to/repo --agent cursor
|
|
280
|
+
skill 目录结构与设计原则见 [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md)。
|
|
246
281
|
|
|
247
|
-
|
|
248
|
-
aweskill agent add bundle backend --global --agent codex
|
|
249
|
-
aweskill agent remove bundle backend --global --agent codex
|
|
282
|
+
## 贡献
|
|
250
283
|
|
|
251
|
-
|
|
252
|
-
aweskill agent recover --global --agent codex
|
|
253
|
-
```
|
|
284
|
+
如果你想参与开发,请看 [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md)。
|
|
254
285
|
|
|
255
|
-
|
|
286
|
+
那里现在集中说明了:
|
|
256
287
|
|
|
257
|
-
|
|
288
|
+
- 设计取舍
|
|
289
|
+
- bundle 文件格式
|
|
290
|
+
- 投影模型
|
|
291
|
+
- 内置 skill 结构与设计原则
|
|
292
|
+
- 开发流程与测试要求
|
|
258
293
|
|
|
259
|
-
|
|
294
|
+
欢迎提交文档改进、测试补充和小而聚焦的功能改进。
|
|
260
295
|
|
|
261
296
|
如果你希望使用一个独立于本仓库、可直接分享给其他用户的技能归档集合,可以参考 [oh-my-skills](https://github.com/mugpeng/oh-my-skills)。它是一个单独维护的备份仓库,用来存放可分发的 bundle 和整库快照归档。
|
|
262
297
|
|
|
@@ -337,7 +372,7 @@ aweskill agent recover --global --agent codex
|
|
|
337
372
|
|
|
338
373
|
</details>
|
|
339
374
|
|
|
340
|
-
##
|
|
375
|
+
## 开发命令
|
|
341
376
|
|
|
342
377
|
```bash
|
|
343
378
|
npm install
|