agent-skill-manager 1.10.0 → 1.11.0
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.backup.md +642 -0
- package/README.md +402 -137
- package/dist/agent-skill-manager.js +296 -275
- package/dist/chunk-03mfx7sy.js +5 -0
- package/dist/chunk-0gw1x84r.js +90 -0
- package/dist/chunk-0w0w4gnm.js +91 -0
- package/dist/chunk-1sdkb58e.js +3 -0
- package/dist/chunk-2349896m.js +12 -0
- package/dist/chunk-3zm1v0pq.js +90 -0
- package/dist/chunk-43swdgy2.js +90 -0
- package/dist/chunk-485taw82.js +91 -0
- package/dist/chunk-4jc6e3xm.js +91 -0
- package/dist/chunk-4s3sbcf2.js +12 -0
- package/dist/chunk-4tv631tw.js +12 -0
- package/dist/chunk-54rwqf4w.js +91 -0
- package/dist/chunk-5cwc58vj.js +90 -0
- package/dist/chunk-6tftx6gm.js +12 -0
- package/dist/chunk-73eekpnj.js +90 -0
- package/dist/chunk-7k9yabfg.js +91 -0
- package/dist/chunk-7sn5pag9.js +91 -0
- package/dist/chunk-8y0gex4v.js +12 -0
- package/dist/chunk-9668693x.js +12 -0
- package/dist/chunk-9k118dda.js +91 -0
- package/dist/chunk-ab81xqvq.js +90 -0
- package/dist/chunk-c6mtebtr.js +12 -0
- package/dist/chunk-cbs9dyjx.js +12 -0
- package/dist/chunk-ez3qf1xz.js +12 -0
- package/dist/chunk-g3tzskxg.js +12 -0
- package/dist/chunk-h9j73ee1.js +12 -0
- package/dist/chunk-j4ce5mjn.js +9 -0
- package/dist/chunk-j94dd9cr.js +91 -0
- package/dist/chunk-mncxq9nn.js +12 -0
- package/dist/chunk-pdzs9y18.js +90 -0
- package/dist/chunk-ppm4jjp1.js +5 -0
- package/dist/chunk-rescyvdm.js +91 -0
- package/dist/chunk-rmdq3572.js +91 -0
- package/dist/chunk-sh9vmxxe.js +3 -0
- package/dist/chunk-t1nkz9f1.js +12 -0
- package/dist/chunk-t2t69k6e.js +3 -0
- package/dist/chunk-tbdz2vyz.js +12 -0
- package/dist/chunk-vm7srtey.js +90 -0
- package/dist/chunk-vqrx4fdg.js +91 -0
- package/dist/chunk-vxavrtsc.js +12 -0
- package/dist/chunk-xbcxp92m.js +12 -0
- package/dist/chunk-yfsk14ce.js +9 -0
- package/dist/chunk-ynv3b0jx.js +91 -0
- package/dist/chunk-z8agvha5.js +12 -0
- package/dist/chunk-zysx39h2.js +90 -0
- package/package.json +1 -1
package/README.backup.md
ADDED
|
@@ -0,0 +1,642 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/logo/logo-full.svg" />
|
|
4
|
+
<source media="(prefers-color-scheme: light)" srcset="assets/logo/logo-black.svg" />
|
|
5
|
+
<img src="assets/logo/logo-full.svg" alt="agent-skill-manager" width="560" />
|
|
6
|
+
</picture>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://www.npmjs.com/package/agent-skill-manager"><img src="https://img.shields.io/npm/v/agent-skill-manager.svg" alt="npm version" /></a>
|
|
11
|
+
<a href="https://www.npmjs.com/package/agent-skill-manager"><img src="https://img.shields.io/npm/dm/agent-skill-manager.svg" alt="npm downloads" /></a>
|
|
12
|
+
<a href="https://github.com/luongnv89/agent-skill-manager/stargazers"><img src="https://img.shields.io/github/stars/luongnv89/agent-skill-manager.svg?style=social" alt="GitHub stars" /></a>
|
|
13
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="MIT License" /></a>
|
|
14
|
+
<a href="https://github.com/luongnv89/agent-skill-manager/actions"><img src="https://github.com/luongnv89/agent-skill-manager/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
15
|
+
<a href="https://bun.sh"><img src="https://img.shields.io/badge/runtime-Bun%20%E2%89%A5%201.0-black.svg" alt="Bun" /></a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<h1 align="center">One tool to manage every AI agent's skills</h1>
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
Stop juggling skill directories across Claude Code, Codex, Cursor, Windsurf, and 10+ other AI agents.<br/>
|
|
22
|
+
<strong>agent-skill-manager</strong> (<code>asm</code>) gives you a single TUI and CLI to install, search, audit, and organize all your agent skills — everywhere.
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
<p align="center">
|
|
26
|
+
<a href="#get-started-in-30-seconds"><strong>Get Started in 30 Seconds →</strong></a>
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
<p align="center">
|
|
32
|
+
<img src="assets/screenshots/tui.png" alt="agent-skill-manager TUI dashboard" width="800" />
|
|
33
|
+
</p>
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Your AI agent skills are a mess
|
|
38
|
+
|
|
39
|
+
You use Claude Code at work, Codex for side projects, and OpenClaw for experiments. Each tool keeps skills in its own hidden directory with its own conventions. Here's what that looks like in practice:
|
|
40
|
+
|
|
41
|
+
- **Skills scattered everywhere** — `~/.claude/skills/`, `~/.codex/skills/`, `~/.openclaw/skills/`, project-level `.claude/skills/`... you have the same skill installed three times and can't remember which version is where
|
|
42
|
+
- **No visibility** — there's no quick way to see what's installed, what's duplicated, or what's outdated across all your agents
|
|
43
|
+
- **Installing is manual and risky** — you clone repos, copy folders, hope the SKILL.md is valid, and pray you didn't just install something that exfiltrates your codebase
|
|
44
|
+
|
|
45
|
+
The more AI agents you use, the worse this gets. Every new tool adds another skill directory to babysit.
|
|
46
|
+
|
|
47
|
+
## `asm` brings order to the chaos
|
|
48
|
+
|
|
49
|
+
**agent-skill-manager** is a single command that manages skills across every AI coding agent you use. One TUI. One CLI. Every agent.
|
|
50
|
+
|
|
51
|
+
- **See everything at once** — List, search, and filter skills across all providers and scopes from one dashboard. No more `ls`-ing through hidden directories.
|
|
52
|
+
- **Install from GitHub in one command** — `asm install github:user/repo` handles cloning, validation, and placement. Supports single-skill repos, multi-skill collections, subfolder URLs, and private repos via SSH.
|
|
53
|
+
- **Catch problems before they bite** — Built-in security scanning flags dangerous patterns (shell execution, network access, credential exposure, obfuscation) before you install. Duplicate audit finds and cleans redundant skills across providers.
|
|
54
|
+
- **Works with every major agent** — 15 providers built-in: Claude Code, Codex, OpenClaw, Cursor, Windsurf, Cline, Roo Code, Continue, GitHub Copilot, Aider, OpenCode, Zed, Augment, Amp, and a generic Agents provider. Add custom providers in seconds via config.
|
|
55
|
+
- **Two interfaces, one tool** — Full interactive TUI with keyboard navigation, search, and detail views. Or use the CLI with `--json` for scripting and automation.
|
|
56
|
+
|
|
57
|
+
<p align="center">
|
|
58
|
+
<img src="assets/screenshots/asm-list.png" alt="agent-skill-manager CLI output" width="800" />
|
|
59
|
+
</p>
|
|
60
|
+
|
|
61
|
+
## How it works
|
|
62
|
+
|
|
63
|
+
1. **Install `asm`** — one command via npm, Bun, or curl
|
|
64
|
+
2. **Run `asm`** — it auto-discovers skills across all configured agent directories
|
|
65
|
+
3. **Manage everything** — install, search, inspect, audit, and uninstall skills from the TUI or CLI
|
|
66
|
+
4. **Stay safe** — security scan skills before installing, detect duplicates, and clean up with confidence
|
|
67
|
+
|
|
68
|
+
<p align="center">
|
|
69
|
+
<a href="#get-started-in-30-seconds"><strong>Start Managing Your Skills →</strong></a>
|
|
70
|
+
</p>
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Get Started in 30 Seconds
|
|
75
|
+
|
|
76
|
+
### npm (recommended)
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npm install -g agent-skill-manager
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
> Requires [Bun](https://bun.sh) >= 1.0.0 as the runtime. Install Bun: `curl -fsSL https://bun.sh/install | bash`
|
|
83
|
+
|
|
84
|
+
### One-liner install
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
curl -sSL https://raw.githubusercontent.com/luongnv89/agent-skill-manager/main/install.sh | bash
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This installs Bun (if needed) and `agent-skill-manager` globally. Then just run:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
asm
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
<p align="center">
|
|
97
|
+
<a href="#cli-commands"><strong>See All Commands →</strong></a>
|
|
98
|
+
</p>
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Open-Source Skill Collections
|
|
103
|
+
|
|
104
|
+
A curated list of skill repositories you can install with a single command. Over **1,500 skills** available across these collections:
|
|
105
|
+
|
|
106
|
+
> **Last updated:** 2026-03-18
|
|
107
|
+
|
|
108
|
+
| Repository | Description | Stars | Skills |
|
|
109
|
+
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------ | -----: | -----: |
|
|
110
|
+
| [anthropic-skills](https://github.com/anthropics/skills) | Official Agent Skills from Anthropic | 95,957 | 18 |
|
|
111
|
+
| [superpowers](https://github.com/obra/superpowers) | Agentic skills framework & development methodology | 89,816 | 14 |
|
|
112
|
+
| [everything-claude-code](https://github.com/affaan-m/everything-claude-code) | Performance optimization system for Claude Code, Codex, and beyond | 81,392 | 147 |
|
|
113
|
+
| [agency-agents](https://github.com/msitarzewski/agency-agents) | Specialized expert agents with personality and proven deliverables | 50,749 | — |
|
|
114
|
+
| [ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) | Design intelligence for building professional UI/UX | 43,112 | 7 |
|
|
115
|
+
| [antigravity-awesome-skills](https://github.com/sickn33/antigravity-awesome-skills) | 1,000+ battle-tested skills for Claude Code, Cursor, and more | 25,047 | 1,258 |
|
|
116
|
+
| [marketingskills](https://github.com/coreyhaines31/marketingskills) | Marketing skills — CRO, copywriting, SEO, analytics, growth | 14,099 | 33 |
|
|
117
|
+
| [agentskills](https://github.com/agentskills/agentskills) | Specification and documentation for Agent Skills | 13,342 | — |
|
|
118
|
+
| [taste-skill](https://github.com/Leonxlnx/taste-skill) | Gives your AI good taste — stops generic, boring output | 3,389 | 5 |
|
|
119
|
+
| [affiliate-skills](https://github.com/Affitor/affiliate-skills) | Full affiliate marketing funnel: research to deploy | 99 | 47 |
|
|
120
|
+
| [skills](https://github.com/luongnv89/skills) | Reusable skills to supercharge your AI agents | 1 | 29 |
|
|
121
|
+
|
|
122
|
+
Install any collection:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
asm install github:anthropics/skills # interactive picker
|
|
126
|
+
asm install github:anthropics/skills --all # install everything
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Supported Agent Tools
|
|
132
|
+
|
|
133
|
+
`asm` ships with **15 built-in providers**. The first 4 are enabled by default; the rest can be enabled via `asm config edit`.
|
|
134
|
+
|
|
135
|
+
| Tool | Global Path | Project Path | Default |
|
|
136
|
+
| ---------------- | --------------------------------- | ----------------------- | :------: |
|
|
137
|
+
| Claude Code | `~/.claude/skills/` | `.claude/skills/` | enabled |
|
|
138
|
+
| Codex | `~/.codex/skills/` | `.codex/skills/` | enabled |
|
|
139
|
+
| OpenClaw | `~/.openclaw/skills/` | `.openclaw/skills/` | enabled |
|
|
140
|
+
| Agents (generic) | `~/.agents/skills/` | `.agents/skills/` | enabled |
|
|
141
|
+
| Cursor | `~/.cursor/rules/` | `.cursor/rules/` | disabled |
|
|
142
|
+
| Windsurf | `~/.windsurf/rules/` | `.windsurf/rules/` | disabled |
|
|
143
|
+
| Cline | `~/Documents/Cline/Rules/` | `.clinerules/` | disabled |
|
|
144
|
+
| Roo Code | `~/.roo/rules/` | `.roo/rules/` | disabled |
|
|
145
|
+
| Continue | `~/.continue/rules/` | `.continue/rules/` | disabled |
|
|
146
|
+
| GitHub Copilot | `~/.github/instructions/` | `.github/instructions/` | disabled |
|
|
147
|
+
| Aider | `~/.aider/skills/` | `.aider/skills/` | disabled |
|
|
148
|
+
| OpenCode | `~/.config/opencode/skills/` | `.opencode/skills/` | disabled |
|
|
149
|
+
| Zed | `~/.config/zed/prompt_overrides/` | `.zed/rules/` | disabled |
|
|
150
|
+
| Augment | `~/.augment/rules/` | `.augment/rules/` | disabled |
|
|
151
|
+
| Amp | `~/.amp/skills/` | `.amp/skills/` | disabled |
|
|
152
|
+
|
|
153
|
+
Enable a provider:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
asm config edit # opens config in $EDITOR — set "enabled": true for any provider
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Need a tool not listed? Add a custom provider entry to the config.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## FAQ
|
|
164
|
+
|
|
165
|
+
**Is it free?**
|
|
166
|
+
Yes. `asm` is MIT licensed and free forever. No accounts, no telemetry, no paywalls.
|
|
167
|
+
|
|
168
|
+
**Is it actively maintained?**
|
|
169
|
+
v1.10.0 shipped on March 18, 2026. The project has had 10 releases in the past week. Check the [changelog](docs/CHANGELOG.md) for the full history.
|
|
170
|
+
|
|
171
|
+
**Which AI agents does it support?**
|
|
172
|
+
15 providers built-in: Claude Code, Codex, OpenClaw, Cursor, Windsurf, Cline, Roo Code, Continue, GitHub Copilot, Aider, OpenCode, Zed, Augment, Amp, and a generic Agents provider. The first 4 are enabled by default; enable the rest via `asm config edit`. You can also add any custom agent that stores skills as directories with a `SKILL.md` file.
|
|
173
|
+
|
|
174
|
+
**How does it compare to managing skills manually?**
|
|
175
|
+
Manual management means remembering where each agent stores skills, cloning repos by hand, checking for duplicates yourself, and having no security scanning. `asm` automates all of that with one command.
|
|
176
|
+
|
|
177
|
+
**Can I use it with private repos?**
|
|
178
|
+
Yes. Use `--transport ssh` or `--transport auto` to clone private repos via SSH.
|
|
179
|
+
|
|
180
|
+
**Is it safe to install skills from GitHub?**
|
|
181
|
+
`asm` includes built-in security scanning that flags dangerous patterns (shell execution, network access, credential exposure, obfuscation) before installation. Run `asm audit security github:user/repo` to scan any skill before installing.
|
|
182
|
+
|
|
183
|
+
**What's the SKILL.md format?**
|
|
184
|
+
Every skill is a directory containing a `SKILL.md` file with YAML frontmatter (name, description, version) followed by markdown instructions the AI agent loads at runtime. Run `asm init my-skill` to scaffold one.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Start Managing Your Skills Today
|
|
189
|
+
|
|
190
|
+
You're already using AI agents. You're already installing skills. The only question is whether you keep doing it manually — or let `asm` handle it.
|
|
191
|
+
|
|
192
|
+
MIT licensed. Free forever. One install command.
|
|
193
|
+
|
|
194
|
+
<p align="center">
|
|
195
|
+
<a href="#get-started-in-30-seconds"><strong>Install agent-skill-manager →</strong></a>
|
|
196
|
+
</p>
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
<details>
|
|
201
|
+
<summary><strong>CLI Commands</strong></summary>
|
|
202
|
+
|
|
203
|
+
### Interactive TUI
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
asm # or: agent-skill-manager
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Commands
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
asm list # List all discovered skills
|
|
213
|
+
asm search <query> # Search by name/description/provider
|
|
214
|
+
asm inspect <skill-name> # Show detailed info for a skill
|
|
215
|
+
asm install <source> # Install a skill from GitHub
|
|
216
|
+
asm uninstall <skill-name> # Remove a skill (with confirmation)
|
|
217
|
+
asm audit # Detect duplicate skills
|
|
218
|
+
asm audit security <name> # Run security audit on a skill
|
|
219
|
+
asm index ingest <repo> # Index a skill repo for searching
|
|
220
|
+
asm index search <query> # Search indexed skills
|
|
221
|
+
asm index list # List indexed repositories
|
|
222
|
+
asm index remove <owner/repo> # Remove a repo from the index
|
|
223
|
+
asm config show # Print current config
|
|
224
|
+
asm config path # Print config file path
|
|
225
|
+
asm config reset # Reset config to defaults
|
|
226
|
+
asm config edit # Open config in $EDITOR
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Global Options
|
|
230
|
+
|
|
231
|
+
```text
|
|
232
|
+
-h, --help Show help for any command
|
|
233
|
+
-v, --version Print version and exit
|
|
234
|
+
--json Output as JSON (list, search, inspect, audit)
|
|
235
|
+
-s, --scope <scope> Filter: global, project, or both (default: both)
|
|
236
|
+
--sort <field> Sort by: name, version, or location (default: name)
|
|
237
|
+
-y, --yes Skip confirmation prompts
|
|
238
|
+
--no-color Disable ANSI colors
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Examples
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
# List all global skills sorted by provider location
|
|
245
|
+
asm list --scope global --sort location
|
|
246
|
+
|
|
247
|
+
# Search for skills and output JSON
|
|
248
|
+
asm search "code review" --json
|
|
249
|
+
|
|
250
|
+
# Inspect a specific skill
|
|
251
|
+
asm inspect my-skill
|
|
252
|
+
|
|
253
|
+
# Remove duplicates automatically
|
|
254
|
+
asm audit --yes
|
|
255
|
+
|
|
256
|
+
# Security audit a skill before installing
|
|
257
|
+
asm audit security github:user/repo
|
|
258
|
+
|
|
259
|
+
# Audit all installed skills
|
|
260
|
+
asm audit security --all
|
|
261
|
+
|
|
262
|
+
# Uninstall without confirmation
|
|
263
|
+
asm uninstall old-skill --yes
|
|
264
|
+
|
|
265
|
+
# Index a skill repo and search it
|
|
266
|
+
asm index ingest github:anthropics/skills
|
|
267
|
+
asm index search "frontend design" --json
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
</details>
|
|
271
|
+
|
|
272
|
+
<details>
|
|
273
|
+
<summary><strong>Installing Skills from GitHub</strong></summary>
|
|
274
|
+
|
|
275
|
+
Install skills directly from GitHub repositories — supports both single-skill repos and multi-skill collections:
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
# Single-skill repo (SKILL.md at root)
|
|
279
|
+
asm install github:user/my-skill
|
|
280
|
+
asm install github:user/my-skill#v1.0.0 -p claude
|
|
281
|
+
|
|
282
|
+
# Multi-skill repo (skills in subdirectories)
|
|
283
|
+
asm install github:user/skills --path skills/code-review
|
|
284
|
+
asm install github:user/skills --all -p claude -y
|
|
285
|
+
asm install github:user/skills # interactive picker
|
|
286
|
+
|
|
287
|
+
# Subfolder URL (auto-detects branch and path)
|
|
288
|
+
asm install https://github.com/user/skills/tree/main/skills/agent-config
|
|
289
|
+
asm install github:user/skills#main:skills/agent-config
|
|
290
|
+
|
|
291
|
+
# Private repos (SSH transport)
|
|
292
|
+
asm install github:user/private-skill --transport ssh
|
|
293
|
+
asm install github:user/private-skill -t auto # try HTTPS, fallback to SSH
|
|
294
|
+
|
|
295
|
+
# Other options
|
|
296
|
+
asm install github:user/my-skill --name custom-name
|
|
297
|
+
asm install github:user/my-skill --force
|
|
298
|
+
asm install github:user/my-skill -p claude --yes --json
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
**Source format:** `github:owner/repo[#branch-or-tag]` or `github:owner/repo#ref:path` for subfolder installs. HTTPS GitHub URLs with `/tree/` paths are also supported — the branch and subfolder are auto-detected.
|
|
302
|
+
|
|
303
|
+
**Install flags:**
|
|
304
|
+
|
|
305
|
+
| Flag | Description |
|
|
306
|
+
| ------------------------ | ------------------------------------------------------ |
|
|
307
|
+
| `-p, --tool <name>` | Target tool (claude, codex, cursor, windsurf, etc.) |
|
|
308
|
+
| `--name <name>` | Override skill directory name |
|
|
309
|
+
| `--path <subdir>` | Install a specific skill from a subdirectory |
|
|
310
|
+
| `--all` | Install all skills found in the repo |
|
|
311
|
+
| `-t, --transport <mode>` | Transport: `https`, `ssh`, or `auto` (default: `auto`) |
|
|
312
|
+
| `-f, --force` | Overwrite if skill already exists |
|
|
313
|
+
| `-y, --yes` | Skip confirmation prompt |
|
|
314
|
+
| `--json` | Output result as JSON |
|
|
315
|
+
|
|
316
|
+
**Multi-skill repo support:** When a repo doesn't have `SKILL.md` at the root, `asm` automatically scans for skills in subdirectories (up to 3 levels deep). In interactive mode, it presents a numbered picker. Use `--path` to target a specific skill or `--all` to batch-install everything.
|
|
317
|
+
|
|
318
|
+
The install command clones the repository, validates `SKILL.md` files, scans for security warnings, previews skill metadata, and installs to the selected provider's global skill directory. Requires `git` on PATH.
|
|
319
|
+
|
|
320
|
+
</details>
|
|
321
|
+
|
|
322
|
+
<details>
|
|
323
|
+
<summary><strong>TUI Keyboard Shortcuts</strong></summary>
|
|
324
|
+
|
|
325
|
+
| Key | Action |
|
|
326
|
+
| -------------- | ------------------------------------- |
|
|
327
|
+
| `↑/↓` or `j/k` | Navigate skill list |
|
|
328
|
+
| `Enter` | View skill details |
|
|
329
|
+
| `d` | Uninstall selected skill |
|
|
330
|
+
| `/` | Search / filter skills |
|
|
331
|
+
| `Esc` | Back / clear filter / close dialog |
|
|
332
|
+
| `Tab` | Cycle scope: Global → Project → Both |
|
|
333
|
+
| `s` | Cycle sort: Name → Version → Location |
|
|
334
|
+
| `r` | Refresh / rescan skills |
|
|
335
|
+
| `c` | Open configuration |
|
|
336
|
+
| `a` | Audit duplicates |
|
|
337
|
+
| `q` | Quit |
|
|
338
|
+
| `?` | Toggle help overlay |
|
|
339
|
+
|
|
340
|
+
</details>
|
|
341
|
+
|
|
342
|
+
<details>
|
|
343
|
+
<summary><strong>Configuration</strong></summary>
|
|
344
|
+
|
|
345
|
+
On first run, a config file is created at `~/.config/agent-skill-manager/config.json` with 15 default providers. The first 4 are enabled; the rest are disabled until you enable them:
|
|
346
|
+
|
|
347
|
+
```json
|
|
348
|
+
{
|
|
349
|
+
"version": 1,
|
|
350
|
+
"providers": [
|
|
351
|
+
{
|
|
352
|
+
"name": "claude",
|
|
353
|
+
"label": "Claude Code",
|
|
354
|
+
"global": "~/.claude/skills",
|
|
355
|
+
"project": ".claude/skills",
|
|
356
|
+
"enabled": true
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"name": "codex",
|
|
360
|
+
"label": "Codex",
|
|
361
|
+
"global": "~/.codex/skills",
|
|
362
|
+
"project": ".codex/skills",
|
|
363
|
+
"enabled": true
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"name": "openclaw",
|
|
367
|
+
"label": "OpenClaw",
|
|
368
|
+
"global": "~/.openclaw/skills",
|
|
369
|
+
"project": ".openclaw/skills",
|
|
370
|
+
"enabled": true
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"name": "agents",
|
|
374
|
+
"label": "Agents",
|
|
375
|
+
"global": "~/.agents/skills",
|
|
376
|
+
"project": ".agents/skills",
|
|
377
|
+
"enabled": true
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"name": "cursor",
|
|
381
|
+
"label": "Cursor",
|
|
382
|
+
"global": "~/.cursor/rules",
|
|
383
|
+
"project": ".cursor/rules",
|
|
384
|
+
"enabled": false
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"name": "windsurf",
|
|
388
|
+
"label": "Windsurf",
|
|
389
|
+
"global": "~/.windsurf/rules",
|
|
390
|
+
"project": ".windsurf/rules",
|
|
391
|
+
"enabled": false
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"name": "cline",
|
|
395
|
+
"label": "Cline",
|
|
396
|
+
"global": "~/Documents/Cline/Rules",
|
|
397
|
+
"project": ".clinerules",
|
|
398
|
+
"enabled": false
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"name": "roocode",
|
|
402
|
+
"label": "Roo Code",
|
|
403
|
+
"global": "~/.roo/rules",
|
|
404
|
+
"project": ".roo/rules",
|
|
405
|
+
"enabled": false
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"name": "continue",
|
|
409
|
+
"label": "Continue",
|
|
410
|
+
"global": "~/.continue/rules",
|
|
411
|
+
"project": ".continue/rules",
|
|
412
|
+
"enabled": false
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"name": "copilot",
|
|
416
|
+
"label": "GitHub Copilot",
|
|
417
|
+
"global": "~/.github/instructions",
|
|
418
|
+
"project": ".github/instructions",
|
|
419
|
+
"enabled": false
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"name": "aider",
|
|
423
|
+
"label": "Aider",
|
|
424
|
+
"global": "~/.aider/skills",
|
|
425
|
+
"project": ".aider/skills",
|
|
426
|
+
"enabled": false
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"name": "opencode",
|
|
430
|
+
"label": "OpenCode",
|
|
431
|
+
"global": "~/.config/opencode/skills",
|
|
432
|
+
"project": ".opencode/skills",
|
|
433
|
+
"enabled": false
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"name": "zed",
|
|
437
|
+
"label": "Zed",
|
|
438
|
+
"global": "~/.config/zed/prompt_overrides",
|
|
439
|
+
"project": ".zed/rules",
|
|
440
|
+
"enabled": false
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"name": "augment",
|
|
444
|
+
"label": "Augment",
|
|
445
|
+
"global": "~/.augment/rules",
|
|
446
|
+
"project": ".augment/rules",
|
|
447
|
+
"enabled": false
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"name": "amp",
|
|
451
|
+
"label": "Amp",
|
|
452
|
+
"global": "~/.amp/skills",
|
|
453
|
+
"project": ".amp/skills",
|
|
454
|
+
"enabled": false
|
|
455
|
+
}
|
|
456
|
+
],
|
|
457
|
+
"customPaths": [],
|
|
458
|
+
"preferences": {
|
|
459
|
+
"defaultScope": "both",
|
|
460
|
+
"defaultSort": "name"
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
- **Enable providers** — Set `"enabled": true` to start scanning a provider
|
|
466
|
+
- **Custom paths** — Add arbitrary directories via `customPaths`
|
|
467
|
+
- **Disable providers** — Set `"enabled": false` to skip scanning a provider
|
|
468
|
+
- **Preferences** — Set default scope and sort order
|
|
469
|
+
|
|
470
|
+
Manage config from the CLI (`asm config show|path|reset|edit`) or toggle providers in the TUI by pressing `c`.
|
|
471
|
+
|
|
472
|
+
</details>
|
|
473
|
+
|
|
474
|
+
<details>
|
|
475
|
+
<summary><strong>SKILL.md Format</strong></summary>
|
|
476
|
+
|
|
477
|
+
Every skill is a directory containing a `SKILL.md` file. The file starts with a YAML frontmatter block followed by markdown instructions that the AI agent loads at runtime.
|
|
478
|
+
|
|
479
|
+
### Frontmatter
|
|
480
|
+
|
|
481
|
+
```yaml
|
|
482
|
+
---
|
|
483
|
+
name: my-skill
|
|
484
|
+
description: "A short description of what this skill does"
|
|
485
|
+
license: "MIT"
|
|
486
|
+
metadata:
|
|
487
|
+
version: 1.0.0
|
|
488
|
+
creator: "Your Name <you@example.com>"
|
|
489
|
+
---
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
| Field | Required | Description |
|
|
493
|
+
| ------------------ | :------: | --------------------------------------------------- |
|
|
494
|
+
| `name` | yes | Unique skill identifier (used in list/search) |
|
|
495
|
+
| `description` | yes | One-line summary shown in listings |
|
|
496
|
+
| `license` | no | SPDX license identifier (e.g., `MIT`, `Apache-2.0`) |
|
|
497
|
+
| `metadata.version` | no | Semver version string (defaults to `0.0.0`) |
|
|
498
|
+
| `metadata.creator` | no | Author name and optional email |
|
|
499
|
+
|
|
500
|
+
> **Version resolution:** `asm` prefers `metadata.version` over a top-level `version` field. If neither is present, the version defaults to `0.0.0`. Both formats are supported for backward compatibility.
|
|
501
|
+
|
|
502
|
+
### Body
|
|
503
|
+
|
|
504
|
+
The markdown body after the frontmatter is loaded by the AI agent as the skill's instructions. A typical structure:
|
|
505
|
+
|
|
506
|
+
```markdown
|
|
507
|
+
# my-skill
|
|
508
|
+
|
|
509
|
+
Describe what this skill does here.
|
|
510
|
+
|
|
511
|
+
## When to Use
|
|
512
|
+
|
|
513
|
+
- Trigger conditions for this skill
|
|
514
|
+
|
|
515
|
+
## Instructions
|
|
516
|
+
|
|
517
|
+
- Step-by-step instructions for the agent
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
### Scaffold a new skill
|
|
521
|
+
|
|
522
|
+
```bash
|
|
523
|
+
asm init my-skill # creates my-skill/SKILL.md in the default provider
|
|
524
|
+
asm init my-skill -p claude # creates in Claude Code's skill directory
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
</details>
|
|
528
|
+
|
|
529
|
+
<details>
|
|
530
|
+
<summary><strong>From Source</strong></summary>
|
|
531
|
+
|
|
532
|
+
```bash
|
|
533
|
+
git clone https://github.com/luongnv89/agent-skill-manager.git
|
|
534
|
+
cd agent-skill-manager
|
|
535
|
+
bun install
|
|
536
|
+
bun run build # bundle to dist/
|
|
537
|
+
bun run start # run from source (development)
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
### Advanced Install
|
|
541
|
+
|
|
542
|
+
```bash
|
|
543
|
+
# Download and inspect the install script before running
|
|
544
|
+
curl -sSL https://raw.githubusercontent.com/luongnv89/agent-skill-manager/main/install.sh -o install.sh
|
|
545
|
+
less install.sh # review the script
|
|
546
|
+
bash install.sh
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
</details>
|
|
550
|
+
|
|
551
|
+
<details>
|
|
552
|
+
<summary><strong>Project Structure</strong></summary>
|
|
553
|
+
|
|
554
|
+
```text
|
|
555
|
+
agent-skill-manager/
|
|
556
|
+
├── bin/ # CLI entry point (source)
|
|
557
|
+
│ └── agent-skill-manager.ts
|
|
558
|
+
├── dist/ # Built bundle (npm package ships this)
|
|
559
|
+
│ └── agent-skill-manager.js
|
|
560
|
+
├── scripts/
|
|
561
|
+
│ └── build.ts # Build script with version injection
|
|
562
|
+
├── src/
|
|
563
|
+
│ ├── index.ts # TUI app bootstrap & keyboard handling
|
|
564
|
+
│ ├── cli.ts # CLI command parser & dispatcher
|
|
565
|
+
│ ├── config.ts # Config loading & saving
|
|
566
|
+
│ ├── scanner.ts # Skill directory scanning & filtering
|
|
567
|
+
│ ├── auditor.ts # Duplicate detection & reporting
|
|
568
|
+
│ ├── installer.ts # GitHub skill installation pipeline
|
|
569
|
+
│ ├── uninstaller.ts # Safe skill removal logic
|
|
570
|
+
│ ├── formatter.ts # Output formatting (tables, detail, JSON)
|
|
571
|
+
│ ├── utils/
|
|
572
|
+
│ │ ├── types.ts # Shared TypeScript types
|
|
573
|
+
│ │ ├── colors.ts # TUI color palette
|
|
574
|
+
│ │ ├── version.ts # Version constant
|
|
575
|
+
│ │ ├── frontmatter.ts # SKILL.md frontmatter parser
|
|
576
|
+
│ │ └── editor.ts # $EDITOR command parser
|
|
577
|
+
│ └── views/
|
|
578
|
+
│ ├── dashboard.ts # Main dashboard layout
|
|
579
|
+
│ ├── skill-list.ts # Scrollable skill list
|
|
580
|
+
│ ├── skill-detail.ts # Skill detail overlay
|
|
581
|
+
│ ├── confirm.ts # Uninstall confirmation dialog
|
|
582
|
+
│ ├── duplicates.ts # Duplicate audit overlay
|
|
583
|
+
│ ├── config.ts # In-TUI config editor
|
|
584
|
+
│ └── help.ts # Help overlay
|
|
585
|
+
├── docs/ # Extended documentation
|
|
586
|
+
│ ├── ARCHITECTURE.md # System design & data flow
|
|
587
|
+
│ ├── DEVELOPMENT.md # Local setup & debugging
|
|
588
|
+
│ ├── DEPLOYMENT.md # Publishing & CI pipeline
|
|
589
|
+
│ ├── CHANGELOG.md # Version history
|
|
590
|
+
│ └── brand_kit.md # Logo, colors, typography
|
|
591
|
+
├── assets/
|
|
592
|
+
│ ├── logo/ # SVG logos (full, mark, wordmark, icon, favicon)
|
|
593
|
+
│ └── screenshots/ # TUI screenshots
|
|
594
|
+
├── install.sh # One-command installer (curl | bash)
|
|
595
|
+
├── package.json
|
|
596
|
+
├── tsconfig.json
|
|
597
|
+
└── README.md
|
|
598
|
+
```
|
|
599
|
+
|
|
600
|
+
</details>
|
|
601
|
+
|
|
602
|
+
<details>
|
|
603
|
+
<summary><strong>Tech Stack</strong></summary>
|
|
604
|
+
|
|
605
|
+
- **Runtime:** [Bun](https://bun.sh) >= 1.0.0
|
|
606
|
+
- **Language:** TypeScript (ESNext, strict mode)
|
|
607
|
+
- **Build:** Bun bundler (ships pre-built via npm)
|
|
608
|
+
- **TUI Framework:** [OpenTUI](https://github.com/nicholasgasior/opentui)
|
|
609
|
+
- **Testing:** Bun test runner
|
|
610
|
+
- **CI:** GitHub Actions + pre-commit hooks
|
|
611
|
+
|
|
612
|
+
</details>
|
|
613
|
+
|
|
614
|
+
<details>
|
|
615
|
+
<summary><strong>Documentation</strong></summary>
|
|
616
|
+
|
|
617
|
+
| Document | Description |
|
|
618
|
+
| ------------------------------------- | ---------------------------------------- |
|
|
619
|
+
| [Architecture](docs/ARCHITECTURE.md) | System design, components, and data flow |
|
|
620
|
+
| [Development](docs/DEVELOPMENT.md) | Local setup, testing, and debugging |
|
|
621
|
+
| [Deployment](docs/DEPLOYMENT.md) | Publishing and CI pipeline |
|
|
622
|
+
| [Changelog](docs/CHANGELOG.md) | Version history |
|
|
623
|
+
| [Brand Kit](docs/brand_kit.md) | Logo, colors, and typography |
|
|
624
|
+
| [Contributing](CONTRIBUTING.md) | How to contribute |
|
|
625
|
+
| [Security](SECURITY.md) | Vulnerability reporting |
|
|
626
|
+
| [Code of Conduct](CODE_OF_CONDUCT.md) | Community guidelines |
|
|
627
|
+
|
|
628
|
+
</details>
|
|
629
|
+
|
|
630
|
+
---
|
|
631
|
+
|
|
632
|
+
## Roadmap
|
|
633
|
+
|
|
634
|
+
Track our progress and upcoming features on the [project kanban board](https://github.com/users/luongnv89/projects/6). See [prd.md](prd.md) for the full product requirements and [tasks.md](tasks.md) for the sprint-based development plan.
|
|
635
|
+
|
|
636
|
+
## Contributing
|
|
637
|
+
|
|
638
|
+
Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
639
|
+
|
|
640
|
+
## License
|
|
641
|
+
|
|
642
|
+
[MIT](LICENSE) — free to use, modify, and distribute. See the [LICENSE](LICENSE) file for details.
|