aweskill 0.1.7 → 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.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<h1>aweskill: One Skill Store for All Your Coding Agents</h1>
|
|
4
4
|
<p><strong>Local skill orchestration CLI for AI coding agents.</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.zh-CN.md"><img src="https://img.shields.io/badge/README-%E4%B8%AD%E6%96%87-64748B?style=flat-square" alt="Chinese 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` is a local CLI for managing, bundling, and projecting skills across AI coding agents.
|
|
20
24
|
|
|
21
25
|
Instead of copying the same skill folders into every tool by hand, `aweskill` keeps a single source of truth in `~/.aweskill/skills/` and projects those skills into agent-specific directories with `symlink` or `copy`, depending on the target agent.
|
|
@@ -26,7 +30,7 @@ Instead of copying the same skill folders into every tool by hand, `aweskill` ke
|
|
|
26
30
|
- **Bundle-based organization** for reusable skill sets
|
|
27
31
|
- **Multi-agent projection** across Codex, Claude Code, Cursor, Gemini CLI, and more
|
|
28
32
|
- **Managed enable/disable model** without a separate global activation file
|
|
29
|
-
- **Backup, restore,
|
|
33
|
+
- **Backup, restore, dedup, and recovery** built into the CLI
|
|
30
34
|
|
|
31
35
|
## Install
|
|
32
36
|
|
|
@@ -42,7 +46,7 @@ aweskill --help
|
|
|
42
46
|
To pin a specific release:
|
|
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
|
Package page: [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
|
## Quick Start
|
|
@@ -77,37 +81,52 @@ npm install -g ./aweskill-0.1.7.tgz
|
|
|
77
81
|
# 1. Initialize the aweskill home
|
|
78
82
|
aweskill store init
|
|
79
83
|
|
|
80
|
-
# 2.
|
|
81
|
-
aweskill
|
|
84
|
+
# 2. Show where the aweskill store lives
|
|
85
|
+
aweskill store where --verbose
|
|
86
|
+
|
|
87
|
+
# 3. Scan existing agent skill directories
|
|
88
|
+
aweskill store scan
|
|
82
89
|
|
|
83
|
-
#
|
|
84
|
-
aweskill
|
|
85
|
-
# aweskill skill import /path/to/my-skill --mode cp
|
|
90
|
+
# 4. Import scanned agent skills into the central store
|
|
91
|
+
aweskill store import --scan
|
|
86
92
|
|
|
87
|
-
#
|
|
93
|
+
# 5. Import a skills root or a single skill
|
|
94
|
+
aweskill store import ~/.agents/skills
|
|
95
|
+
# aweskill store import /path/to/my-skill --link-source
|
|
96
|
+
|
|
97
|
+
# 6. Create a bundle
|
|
88
98
|
aweskill bundle create frontend
|
|
89
99
|
aweskill bundle add frontend my-skill
|
|
90
100
|
|
|
91
|
-
#
|
|
101
|
+
# 7. Enable the bundle for one agent
|
|
92
102
|
aweskill agent add bundle frontend --global --agent claude-code
|
|
93
103
|
|
|
94
|
-
#
|
|
104
|
+
# 8. Inspect current projected skills
|
|
95
105
|
aweskill agent list
|
|
96
106
|
```
|
|
97
107
|
|
|
98
|
-
##
|
|
108
|
+
## Windows
|
|
109
|
+
|
|
110
|
+
`aweskill` now supports Windows as a native platform.
|
|
111
|
+
|
|
112
|
+
- Requires Node.js 20 or later
|
|
113
|
+
- PowerShell is recommended for the examples below
|
|
114
|
+
- On Windows, agent projections prefer directory junctions and fall back to managed copies when links are unavailable
|
|
115
|
+
- `store backup` and `store restore` no longer require a system `tar` binary
|
|
116
|
+
|
|
117
|
+
Example:
|
|
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. Bundles are plain YAML files in `~/.aweskill/bundles/<bundle>.yaml`
|
|
104
|
-
3. `agent add` projects selected skills into each agent's skills directory
|
|
125
|
+
If you run into Windows-specific path or projection issues, please open an issue with your shell, Node version, and target agent.
|
|
105
126
|
|
|
106
|
-
|
|
127
|
+
## Core Model
|
|
107
128
|
|
|
108
|
-
|
|
109
|
-
- If it does not exist, the skill is disabled
|
|
110
|
-
- There is no separate global activation registry to reconcile
|
|
129
|
+
`aweskill` keeps one central skill store in `~/.aweskill/skills/`, groups reusable skills through bundles, and projects selected skills into each agent's own skill directory. That projected filesystem state is the activation model.
|
|
111
130
|
|
|
112
131
|
## What It Supports
|
|
113
132
|
|
|
@@ -121,57 +140,109 @@ Key directories:
|
|
|
121
140
|
- Duplicate holding area: `~/.aweskill/dup_skills/`
|
|
122
141
|
- Backup archive: `~/.aweskill/backup/`
|
|
123
142
|
- Bundles: `~/.aweskill/bundles/*.yaml`
|
|
124
|
-
-
|
|
143
|
+
- Built-in skills: `skills/aweskill/`, `skills/aweskill-advanced/`, `skills/aweskill-doctor/`
|
|
125
144
|
|
|
126
145
|
## Common Workflows
|
|
127
146
|
|
|
128
147
|
### Import skills into the central store
|
|
129
148
|
|
|
130
149
|
```bash
|
|
131
|
-
|
|
132
|
-
aweskill
|
|
133
|
-
|
|
150
|
+
# Import skills from an existing agent-managed skills directory
|
|
151
|
+
aweskill store import ~/.agents/skills
|
|
152
|
+
|
|
153
|
+
# Import a standalone skill folder and keep the original directory unchanged
|
|
154
|
+
aweskill store import ~/Downloads/pr-review
|
|
155
|
+
|
|
156
|
+
# Import a standalone skill folder and replace the source with an aweskill-managed projection
|
|
157
|
+
aweskill store import ~/Downloads/pr-review --link-source
|
|
158
|
+
|
|
159
|
+
# Import scanned agent skills and relink their source paths by default
|
|
160
|
+
aweskill store import --scan
|
|
161
|
+
|
|
162
|
+
# Import scanned agent skills but keep the original agent directories unchanged
|
|
163
|
+
aweskill store import --scan --keep-source
|
|
134
164
|
```
|
|
135
165
|
|
|
136
166
|
### Build reusable bundles
|
|
137
167
|
|
|
138
168
|
```bash
|
|
169
|
+
# Create a reusable bundle
|
|
139
170
|
aweskill bundle create backend
|
|
171
|
+
|
|
172
|
+
# Add multiple skills into the bundle
|
|
140
173
|
aweskill bundle add backend api-design,db-schema
|
|
174
|
+
|
|
175
|
+
# Inspect what the bundle contains
|
|
141
176
|
aweskill bundle show backend
|
|
142
177
|
```
|
|
143
178
|
|
|
144
179
|
### Project skills into agents
|
|
145
180
|
|
|
146
181
|
```bash
|
|
182
|
+
# Project one skill into detected global agent directories
|
|
147
183
|
aweskill agent add skill biopython
|
|
184
|
+
|
|
185
|
+
# Project multiple skills into one specific global agent directory
|
|
148
186
|
aweskill agent add skill biopython,scanpy --global --agent codex
|
|
187
|
+
|
|
188
|
+
# Project a whole bundle into every detected global agent directory
|
|
149
189
|
aweskill agent add bundle backend --global --agent all
|
|
190
|
+
|
|
191
|
+
# Turn managed symlinks back into full directories
|
|
192
|
+
aweskill agent recover --global --agent codex
|
|
150
193
|
```
|
|
151
194
|
|
|
152
195
|
### Keep the store clean
|
|
153
196
|
|
|
154
197
|
```bash
|
|
155
|
-
|
|
156
|
-
aweskill
|
|
157
|
-
|
|
158
|
-
|
|
198
|
+
# Inspect the central store layout and entry counts
|
|
199
|
+
aweskill store where --verbose
|
|
200
|
+
|
|
201
|
+
# Create a backup archive of the current store
|
|
202
|
+
aweskill store backup
|
|
203
|
+
|
|
204
|
+
# Restore a backup archive into the current store
|
|
205
|
+
aweskill store restore ~/Downloads/aweskill-backup.tar.gz
|
|
206
|
+
|
|
207
|
+
# Inspect agent entries and categories
|
|
208
|
+
aweskill agent list
|
|
209
|
+
|
|
210
|
+
# Remove suspicious entries from the central store
|
|
211
|
+
aweskill doctor clean
|
|
212
|
+
|
|
213
|
+
# Move duplicate central-store skills into dup_skills
|
|
214
|
+
aweskill doctor dedup --apply
|
|
215
|
+
|
|
216
|
+
# Inspect repair actions for one agent
|
|
217
|
+
aweskill doctor sync --global --agent codex
|
|
218
|
+
|
|
219
|
+
# Repair broken / duplicate / matched agent entries for one agent
|
|
220
|
+
aweskill doctor sync --global --agent codex --apply
|
|
221
|
+
|
|
222
|
+
# Remove suspicious agent entries only when explicitly requested
|
|
223
|
+
aweskill doctor sync --global --agent codex --apply --remove-suspicious
|
|
159
224
|
```
|
|
160
225
|
|
|
161
|
-
|
|
226
|
+
All `doctor` commands default to dry-run. Add `--apply` to make real changes.
|
|
162
227
|
|
|
163
228
|
## Command Surface
|
|
164
229
|
|
|
230
|
+
Core commands: `store init`, `store where`, `store import`, `bundle create`, `agent add`, `doctor clean`
|
|
231
|
+
|
|
232
|
+
<details>
|
|
233
|
+
<summary>All commands</summary>
|
|
234
|
+
|
|
165
235
|
| Command | Description |
|
|
166
236
|
| --- | --- |
|
|
167
237
|
| `aweskill store init [--scan] [--verbose]` | Create the `~/.aweskill` layout |
|
|
168
|
-
| `aweskill store
|
|
169
|
-
| `aweskill store
|
|
170
|
-
| `aweskill
|
|
171
|
-
| `aweskill
|
|
172
|
-
| `aweskill
|
|
173
|
-
| `aweskill
|
|
174
|
-
| `aweskill
|
|
238
|
+
| `aweskill store where [--verbose]` | Show the `~/.aweskill` location and summarize core store directories |
|
|
239
|
+
| `aweskill store backup [archive] [--skills-only]` | Archive the central store; by default includes both skills and bundles |
|
|
240
|
+
| `aweskill store restore <archive-or-dir> [--override] [--skills-only]` | Restore from a backup archive or unpacked backup directory |
|
|
241
|
+
| `aweskill store scan [--global\|--project [dir]] [--agent <agent>] [--verbose]` | Scan supported agent skill directories for a chosen scope and agent set |
|
|
242
|
+
| `aweskill store import <path> [--keep-source\|--link-source] [--override]` | Import a skill or an entire skills root; external paths keep their source by default |
|
|
243
|
+
| `aweskill store import --scan [--global\|--project [dir]] [--agent <agent>] [--keep-source\|--link-source] [--override]` | Import the current scan results for a chosen scope and agent set; scanned agent paths link back to aweskill by default |
|
|
244
|
+
| `aweskill store list [--verbose]` | List skills in the central store |
|
|
245
|
+
| `aweskill store remove <skill> [--force]` | Remove one skill from the central store |
|
|
175
246
|
| `aweskill bundle list [--verbose]` | List central bundles |
|
|
176
247
|
| `aweskill bundle create <name>` | Create a bundle |
|
|
177
248
|
| `aweskill bundle add <bundle> <skill>` | Add one or more skills to a bundle |
|
|
@@ -179,84 +250,48 @@ By default, `store backup` and `store restore` only operate on `skills/`. Add `-
|
|
|
179
250
|
| `aweskill bundle show <name>` | Inspect bundle contents |
|
|
180
251
|
| `aweskill bundle template list [--verbose]` | List built-in bundle templates |
|
|
181
252
|
| `aweskill bundle template import <name>` | Copy a built-in template bundle into the store |
|
|
182
|
-
| `aweskill agent supported` | List supported agent ids and
|
|
253
|
+
| `aweskill agent supported` | List all supported agent ids, mark global install status with `✓` / `x`, and show detected global skills paths |
|
|
183
254
|
| `aweskill agent add bundle\|skill ...` | Project managed skills into agent directories |
|
|
184
255
|
| `aweskill agent remove bundle\|skill ... [--force]` | Remove managed projections |
|
|
185
|
-
| `aweskill agent list [
|
|
186
|
-
| `aweskill agent
|
|
256
|
+
| `aweskill agent list [--global\|--project [dir]] [--agent <agent>] [--verbose]` | Read-only dry-run view of `doctor sync`: inspect `linked`, `broken`, `duplicate`, `matched`, `new`, and `suspicious` entries; when `--agent` is omitted, print the detected agent set for that scope before the grouped results |
|
|
257
|
+
| `aweskill doctor sync [--apply] [--remove-suspicious] [--global\|--project [dir]] [--agent <agent>] [--verbose]` | Dry-run by default; add `--apply` to repair broken entries and relink duplicate / matched ones, and `--apply --remove-suspicious` to also remove suspicious ones; when `--agent` is omitted, print the detected agent set for that scope first |
|
|
187
258
|
| `aweskill agent recover` | Convert managed symlinks into full directories |
|
|
188
|
-
| `aweskill doctor
|
|
189
|
-
|
|
190
|
-
## Design Choices
|
|
259
|
+
| `aweskill doctor clean [--apply] [--skills-only] [--bundles-only] [--verbose]` | Find suspicious non-store entries, grouped by `skills` and `bundles`, and optionally remove them |
|
|
260
|
+
| `aweskill doctor dedup [--apply] [--delete]` | Find duplicate skills and optionally move or delete them |
|
|
191
261
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
`aweskill` treats the projected filesystem state as the truth. This keeps the model simple and avoids a second layer of activation metadata drifting out of sync.
|
|
195
|
-
|
|
196
|
-
### Bundles are expansion sets
|
|
197
|
-
|
|
198
|
-
`agent add bundle <name>` expands the bundle into skill names and projects those skills. There is no separate long-lived "bundle activation" object after projection.
|
|
199
|
-
|
|
200
|
-
### Managed-only removal
|
|
201
|
-
|
|
202
|
-
`aweskill` removes only entries it can identify as its own managed symlinks. It does not blindly delete arbitrary skill directories.
|
|
262
|
+
</details>
|
|
203
263
|
|
|
204
|
-
##
|
|
264
|
+
## Built-in Skills
|
|
205
265
|
|
|
206
|
-
|
|
266
|
+
`aweskill` ships with three meta-skills that teach AI coding agents how to operate the CLI directly. Import them into your central store so agents like Codex, Claude Code, or Cursor can run aweskill commands without manual steps.
|
|
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`** removes managed projections whose central skill path is missing.
|
|
221
|
-
|
|
222
|
-
There is **no** reconcile pass driven by a global YAML activation list.
|
|
223
|
-
|
|
224
|
-
Import behavior:
|
|
225
|
-
|
|
226
|
-
- Default `skill import --scan` and batch `skill import` merge only missing files when the central skill already exists; `--override` overwrites.
|
|
227
|
-
- When the source is a symlink, aweskill copies from the resolved real path and may print a warning.
|
|
228
|
-
- Broken symlinks during batch import are reported; other items continue.
|
|
229
|
-
- `restore` automatically creates a fresh backup of the current `skills/` tree before applying the archive.
|
|
230
|
-
|
|
231
|
-
Display behavior:
|
|
232
|
-
|
|
233
|
-
- `skill list` shows totals and a short preview unless `--verbose`.
|
|
234
|
-
- `skill scan` shows per-agent totals by default; `--verbose` lists concrete scanned skills.
|
|
235
|
-
- `agent list` categorizes `linked`, `duplicate`, and `new`; `--update` imports and relinks where needed.
|
|
236
|
-
- `doctor dedupe` treats `name`, `name-2`, and `name-1.2.3` as one duplicate family and only modifies files when `--fix` is passed.
|
|
237
|
-
|
|
238
|
-
Projection examples:
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
# Global projection for one agent
|
|
242
|
-
aweskill agent add skill biopython --global --agent codex
|
|
274
|
+
| Skill | Scope | When to use |
|
|
275
|
+
| --- | --- | --- |
|
|
276
|
+
| `aweskill` | Operations | Day-to-day: init, scan, import, list, remove, bundle CRUD, basic agent projection |
|
|
277
|
+
| `aweskill-advanced` | Maintenance | Low-frequency: cross-agent projection strategy, bundle templates, recover flows, multi-scope planning |
|
|
278
|
+
| `aweskill-doctor` | Diagnostics | Repair: `doctor clean`, `doctor dedup`, `doctor sync`, interpreting broken/duplicate/suspicious entries |
|
|
243
279
|
|
|
244
|
-
|
|
245
|
-
aweskill agent add skill pr-review --project /path/to/repo --agent cursor
|
|
280
|
+
See [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) for the skill directory structure and design principles.
|
|
246
281
|
|
|
247
|
-
|
|
248
|
-
aweskill agent add bundle backend --global --agent codex
|
|
249
|
-
aweskill agent remove bundle backend --global --agent codex
|
|
282
|
+
## Contributing
|
|
250
283
|
|
|
251
|
-
|
|
252
|
-
aweskill agent recover --global --agent codex
|
|
253
|
-
```
|
|
284
|
+
If you want to contribute, see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md).
|
|
254
285
|
|
|
255
|
-
|
|
286
|
+
That file now covers:
|
|
256
287
|
|
|
257
|
-
|
|
288
|
+
- design tradeoffs
|
|
289
|
+
- bundle file format
|
|
290
|
+
- projection model
|
|
291
|
+
- built-in skill structure and design principles
|
|
292
|
+
- development workflow and testing expectations
|
|
258
293
|
|
|
259
|
-
|
|
294
|
+
Documentation, tests, and small focused improvements are all welcome.
|
|
260
295
|
|
|
261
296
|
For a shareable archive collection maintained outside this repository, see [oh-my-skills](https://github.com/mugpeng/oh-my-skills), a separate backup repository for skill bundles and full-snapshot archives.
|
|
262
297
|
|
|
@@ -337,7 +372,7 @@ If you are exploring the broader skills ecosystem, these projects are worth usin
|
|
|
337
372
|
- open skill ecosystem conventions
|
|
338
373
|
- cross-agent local developer workflow tooling
|
|
339
374
|
|
|
340
|
-
## Development
|
|
375
|
+
## Development Commands
|
|
341
376
|
|
|
342
377
|
```bash
|
|
343
378
|
npm install
|