agent-skill-manager 2.13.0 → 2.15.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.md +588 -714
- package/data/skill-index/Affitor_affiliate-skills.json +2375 -323
- package/data/skill-index/AvdLee_Core-Data-Agent-Skill.json +44 -6
- package/data/skill-index/AvdLee_Swift-Concurrency-Agent-Skill.json +49 -11
- package/data/skill-index/AvdLee_Swift-Testing-Agent-Skill.json +44 -6
- package/data/skill-index/AvdLee_SwiftUI-Agent-Skill.json +100 -24
- package/data/skill-index/AvdLee_Xcode-Build-Optimization-Agent-Skill.json +262 -34
- package/data/skill-index/Dimillian_Skills.json +699 -91
- package/data/skill-index/Egonex-AI_Understand-Anything.json +578 -81
- package/data/skill-index/Eronred_aso-skills.json +1729 -209
- package/data/skill-index/GPTomics_bioSkills.json +33358 -9410
- package/data/skill-index/Galaxy-Dawn_claude-scholar.json +1966 -256
- package/data/skill-index/Imbad0202_academic-research-skills.json +256 -98
- package/data/skill-index/K-Dense-AI_claude-scientific-skills.json +14175 -5202
- package/data/skill-index/Leonxlnx_taste-skill.json +570 -76
- package/data/skill-index/Master-cai_Research-Paper-Writing-Skills.json +44 -6
- package/data/skill-index/MiniMax-AI_skills.json +1007 -133
- package/data/skill-index/Paramchoudhary_ResumeSkills.json +1290 -114
- package/data/skill-index/ParthJadhav_app-store-screenshots.json +185 -0
- package/data/skill-index/addyosmani_agent-skills.json +1146 -222
- package/data/skill-index/affaan-m_everything-claude-code.json +18337 -5085
- package/data/skill-index/alirezarezvani_claude-skills.json +21303 -2755
- package/data/skill-index/anthropics_skills.json +1249 -161
- package/data/skill-index/antonbabenko_terraform-skill.json +44 -6
- package/data/skill-index/badlogic_pi-skills.json +349 -45
- package/data/skill-index/briiirussell_cybersecurity-skills.json +1474 -183
- package/data/skill-index/bytedance_deer-flow.json +1574 -226
- package/data/skill-index/cloudai-x_threejs-skills.json +2007 -0
- package/data/skill-index/coreyhaines31_marketingskills.json +3227 -661
- package/data/skill-index/davidondrej_skills.json +10480 -0
- package/data/skill-index/emilkowalski_skills.json +2302 -0
- package/data/skill-index/entireio_skills.json +713 -60
- package/data/skill-index/garrytan_gstack.json +3113 -509
- package/data/skill-index/github_awesome-copilot.json +31610 -8236
- package/data/skill-index/google_skills.json +17724 -921
- package/data/skill-index/heygen-com_hyperframes.json +2999 -449
- package/data/skill-index/himself65_finance-skills.json +1614 -254
- package/data/skill-index/ivan-magda_uikit-expert-skill.json +49 -11
- package/data/skill-index/kemiljk_fluid-design.json +44 -6
- package/data/skill-index/kepano_obsidian-skills.json +217 -27
- package/data/skill-index/luongnv89_asm.json +1992 -13
- package/data/skill-index/luongnv89_idd.json +1452 -0
- package/data/skill-index/luongnv89_skills.json +2832 -852
- package/data/skill-index/mattpocock_skills.json +2943 -815
- package/data/skill-index/mvanhorn_last30days-skill.json +58 -14
- package/data/skill-index/nextlevelbuilder_ui-ux-pro-max-skill.json +407 -147
- package/data/skill-index/obra_superpowers.json +653 -127
- package/data/skill-index/oliver-zehentleitner_keep-the-why.json +185 -0
- package/data/skill-index/romainsimon_paperasse.json +273 -45
- package/data/skill-index/rudrankriyam_app-store-connect-cli-skills.json +1542 -246
- package/data/skill-index/santifer_career-ops.json +61 -23
- package/data/skill-index/sickn33_antigravity-awesome-skills.json +158205 -31989
- package/data/skill-index/slavingia_skills.json +436 -56
- package/data/skill-index/twostraws_Swift-Concurrency-Agent-Skill.json +44 -6
- package/data/skill-index/twostraws_Swift-Testing-Agent-Skill.json +44 -6
- package/data/skill-index/twostraws_SwiftData-Agent-Skill.json +44 -6
- package/data/skill-index/twostraws_SwiftUI-Agent-Skill.json +44 -6
- package/data/skill-index/warpdotdev_oz-skills.json +651 -81
- package/data/skill-index/zarazhangrui_follow-builders.json +44 -6
- package/data/skill-index-resources.json +57 -3
- package/dist/agent-skill-manager.js +803 -613
- package/dist/chunk-BQ4RW237.js +20 -0
- package/dist/chunk-LH2C3PE7.js +3 -0
- package/dist/chunk-LS24FFOX.js +3 -0
- package/dist/chunk-RSVWCEZR.js +2 -0
- package/dist/config-AZYQEQOQ.js +2 -0
- package/dist/devtools-2L45W5A2.js +11 -0
- package/dist/lock-NN2MADX7.js +2 -0
- package/dist/src-BD3KFE5H.js +119 -0
- package/package.json +48 -22
- package/dist/chunk-7BMOBFGJ.js +0 -2
- package/dist/chunk-APSM2WG3.js +0 -3
- package/dist/chunk-GHPE6SB3.js +0 -3
- package/dist/chunk-HY3VQ3SV.js +0 -19
- package/dist/config-FRM3YOMA.js +0 -2
- package/dist/devtools-6JCLZ364.js +0 -8
- package/dist/lock-6S53S4SC.js +0 -2
- package/dist/src-3UQIRSQN.js +0 -108
package/README.md
CHANGED
|
@@ -9,700 +9,672 @@
|
|
|
9
9
|
<p align="center">
|
|
10
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
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/
|
|
12
|
+
<a href="https://github.com/luongnv89/asm/stargazers"><img src="https://img.shields.io/github/stars/luongnv89/asm.svg?style=social" alt="GitHub stars" /></a>
|
|
13
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/
|
|
15
|
-
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node.js-%E2%89%A5%
|
|
14
|
+
<a href="https://github.com/luongnv89/asm/actions"><img src="https://github.com/luongnv89/asm/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
15
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node.js-%E2%89%A5%2022-339933.svg" alt="Node.js" /></a>
|
|
16
16
|
</p>
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
# CLI to install and manage agent skills
|
|
19
19
|
|
|
20
|
-
|
|
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>
|
|
20
|
+
**agent-skill-manager** (`asm`) is a scriptable CLI built for AI agents and automation — install, search, audit, and organize skills across Claude Code, Codex, Cursor, and 16 more tools. Every command supports `--json` and `--yes` for non-interactive use. An optional TUI (`asm`) is available for local browsing.
|
|
24
21
|
|
|
25
|
-
|
|
26
|
-
<a href="#get-started-in-30-seconds"><strong>Get Started in 30 Seconds →</strong></a>
|
|
27
|
-
|
|
|
28
|
-
<a href="https://luongnv.com/asm/#/skills"><strong>Browse 3,800+ Skills Online →</strong></a>
|
|
29
|
-
</p>
|
|
22
|
+
[**Get Started**](#getting-started) · [**Browse 4,300+ skills**](https://luongnv.com/asm/#/skills) · [**Full docs**](#documentation)
|
|
30
23
|
|
|
31
|
-
|
|
24
|
+
## Problems `asm` solves
|
|
32
25
|
|
|
33
|
-
|
|
26
|
+
| Pain | Without `asm` | With `asm` |
|
|
27
|
+
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
28
|
+
| Scattered installs | Same skill copied into `~/.claude/skills/`, `~/.codex/skills/`, `~/.cursor/rules/` — different versions, no single view | One `asm list` across all 19 providers and scopes |
|
|
29
|
+
| No inventory | `ls` through hidden dirs; no idea what is installed, duplicated, or outdated | `asm search`, `asm inspect`, `asm stats`, `asm audit` |
|
|
30
|
+
| Invisible context cost | Every installed skill's description is resident in the agent's prompt on every message, whether or not it ever fires | `asm stats --tokens`, `asm audit residency` |
|
|
31
|
+
| Install just to read once | Installing is the only way to get a skill in front of an agent — and it stays resident forever afterwards | `asm get <skill>` prints the body and installs nothing |
|
|
32
|
+
| Risky manual installs | Clone repos, copy folders, hope `SKILL.md` is valid | `asm install` validates frontmatter, scans security, pins registry commits |
|
|
33
|
+
| Agent-unfriendly output | Human-only copy-paste workflows | Structured JSON via `--json`; skip prompts with `--yes` |
|
|
34
|
+
| New agent, new chore | Every tool adds another skill directory to track | Add or disable providers in one config file |
|
|
34
35
|
|
|
35
|
-
|
|
36
|
+
## At a glance
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
| | |
|
|
39
|
+
| ------------------- | ------------------------------------------------------------------------------ |
|
|
40
|
+
| **Catalog** | 4,394 skills from 54 repos — [browse online](https://luongnv.com/asm/#/skills) |
|
|
41
|
+
| **Providers** | 19 agents (Claude, Codex, Cursor, Windsurf, Copilot, …) |
|
|
42
|
+
| **Agent-ready CLI** | `--json`, `--yes`, `--machine` on list, search, install, audit, eval |
|
|
43
|
+
| **Security** | Pre-install scan for shell exec, network access, credential exposure |
|
|
44
|
+
| **License** | MIT — no accounts, no telemetry |
|
|
38
45
|
|
|
39
|
-
|
|
46
|
+
## How it works
|
|
47
|
+
|
|
48
|
+
```mermaid
|
|
49
|
+
graph LR
|
|
50
|
+
A[AI agent / script] --> B["asm command --json"]
|
|
51
|
+
B --> C[Discover skill dirs]
|
|
52
|
+
B --> D[Install / audit / search]
|
|
53
|
+
D --> E{Security scan}
|
|
54
|
+
E --> F[Validate SKILL.md]
|
|
55
|
+
F --> G[Agent provider paths]
|
|
56
|
+
H[GitHub / Registry] --> D
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
1. Install `asm` once (npm or curl).
|
|
60
|
+
2. Run commands from your agent, shell, or CI — no prompts when you pass `--yes`.
|
|
61
|
+
3. Parse JSON output to decide what to install, remove, or audit next.
|
|
62
|
+
|
|
63
|
+
## Screenshots
|
|
40
64
|
|
|
41
65
|
<p align="center">
|
|
42
|
-
<img src="assets/screenshots/tui.png" alt="
|
|
66
|
+
<img src="assets/screenshots/tui.png" alt="asm TUI — browsing installed skills across providers" width="800" />
|
|
67
|
+
<br/><em>The optional TUI (<code>asm</code> with no args) — filter, inspect, and audit skills across every provider from one dashboard.</em>
|
|
43
68
|
</p>
|
|
44
69
|
|
|
45
|
-
|
|
70
|
+
## Features
|
|
46
71
|
|
|
47
|
-
|
|
72
|
+
| Feature | What you get |
|
|
73
|
+
| ------------------------ | -------------------------------------------------------------------- |
|
|
74
|
+
| Cross-provider inventory | `asm list --json` — every skill, every agent, one response |
|
|
75
|
+
| One-command install | `asm install github:user/repo` or `asm install skill-name` |
|
|
76
|
+
| Agent-parseable output | `--json` on list, search, inspect, install, audit |
|
|
77
|
+
| Duplicate audit | `asm audit --yes` removes redundant skills non-interactively |
|
|
78
|
+
| Attention budget | `asm stats --tokens` shows resident vs body token cost per tool |
|
|
79
|
+
| Residency audit | `asm audit residency` ranks skills to demote out of resident context |
|
|
80
|
+
| Reference tier | `asm get <skill>` delivers a body once, at zero residency |
|
|
81
|
+
| Security scan | `asm audit security` before install |
|
|
82
|
+
| Authoring pipeline | `asm init`, `asm link`, `asm eval`, `asm publish` |
|
|
83
|
+
| Bundles | `asm bundle install` — curated sets in one pass |
|
|
84
|
+
| Local library | `asm install --library` — install once, `asm activate` per provider |
|
|
85
|
+
| Cross-tool linking | Reinstall or symlink when a skill already exists in another tool |
|
|
48
86
|
|
|
49
|
-
|
|
87
|
+
## Getting started
|
|
50
88
|
|
|
51
|
-
|
|
52
|
-
- **No visibility** — there's no quick way to see what's installed, what's duplicated, or what's outdated across all your agents
|
|
53
|
-
- **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
|
|
89
|
+
Install (npm):
|
|
54
90
|
|
|
55
|
-
|
|
91
|
+
```bash
|
|
92
|
+
npm install -g agent-skill-manager
|
|
93
|
+
```
|
|
56
94
|
|
|
57
|
-
|
|
95
|
+
List installed skills (JSON for agents):
|
|
58
96
|
|
|
59
|
-
|
|
97
|
+
```bash
|
|
98
|
+
asm list --json
|
|
99
|
+
```
|
|
60
100
|
|
|
61
|
-
|
|
62
|
-
- **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.
|
|
63
|
-
- **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.
|
|
64
|
-
- **Create, test, and publish skills** — Scaffold new skills with `asm init`, symlink them for live development with `asm link`, audit for security issues, verify metadata, and publish to the [ASM Registry](https://github.com/luongnv89/asm-registry) with a single command. [See the full local dev workflow ↓](#build-test-and-ship-your-own-skills)
|
|
65
|
-
- **Works with every major agent** — 19 providers built-in: Claude Code, Codex, OpenClaw, Cursor, Windsurf, Cline, Roo Code, Continue, GitHub Copilot, Aider, OpenCode, Zed, Augment, Amp, Gemini CLI, Google Antigravity, Pi, Hermes, and a generic Agents provider. Add custom providers in seconds via config.
|
|
66
|
-
- **Two interfaces, one tool** — Full interactive TUI with keyboard navigation, search, and detail views. Or use the CLI with `--json` for scripting and automation.
|
|
101
|
+
Install a skill:
|
|
67
102
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
</p>
|
|
103
|
+
```bash
|
|
104
|
+
asm install github:anthropics/skills --yes
|
|
105
|
+
```
|
|
72
106
|
|
|
73
|
-
|
|
107
|
+
Search installed and catalog skills:
|
|
74
108
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
4. **Stay safe** — security scan skills before installing, detect duplicates, and clean up with confidence
|
|
109
|
+
```bash
|
|
110
|
+
asm search "code review" --json
|
|
111
|
+
```
|
|
79
112
|
|
|
80
|
-
|
|
81
|
-
<a href="#get-started-in-30-seconds"><strong>Start Managing Your Skills →</strong></a>
|
|
82
|
-
</p>
|
|
113
|
+
Alternative install: `curl -sSL https://raw.githubusercontent.com/luongnv89/asm/main/install.sh | bash`
|
|
83
114
|
|
|
84
|
-
|
|
85
|
-
<img src="assets/screenshots/asm-search-code-review.png" alt="asm search — find installed and available skills" width="700" />
|
|
86
|
-
<br/><em>asm search code-review — finds installed skills and suggests new ones from indexed repos</em>
|
|
87
|
-
</p>
|
|
115
|
+
Node.js 22+ required. Optional TUI: run `asm` with no arguments.
|
|
88
116
|
|
|
89
|
-
|
|
117
|
+
## Common tasks
|
|
118
|
+
|
|
119
|
+
| Task | Command |
|
|
120
|
+
| ----------------------------- | ------------------------------------------------ |
|
|
121
|
+
| Machine-readable inventory | `asm list --json` |
|
|
122
|
+
| Skill metadata for agents | `asm inspect my-skill --json` |
|
|
123
|
+
| Non-interactive install | `asm install code-review -p claude --yes --json` |
|
|
124
|
+
| Remove duplicates | `asm audit --yes` |
|
|
125
|
+
| See your context cost | `asm stats --tokens` |
|
|
126
|
+
| Find skills to demote | `asm audit residency` |
|
|
127
|
+
| Use a skill without residency | `asm get code-review` |
|
|
128
|
+
| Scan before install | `asm audit security github:user/repo` |
|
|
129
|
+
| Scaffold a new skill | `asm init my-skill -p claude` |
|
|
130
|
+
| Live dev via symlink | `asm link ./my-skill -p claude` |
|
|
131
|
+
| Publish to registry | `asm publish ./my-skill --yes` |
|
|
132
|
+
| Install a bundle | `asm bundle install frontend-dev --yes` |
|
|
90
133
|
|
|
91
|
-
|
|
134
|
+
Full command reference, flags, and examples: [CLI Commands](#cli-commands). Catalog UI and bundles: [luongnv.com/asm](https://luongnv.com/asm/).
|
|
92
135
|
|
|
93
|
-
|
|
136
|
+
## Attention budget
|
|
94
137
|
|
|
95
|
-
|
|
138
|
+
Disk is cheap; context is not. Every installed skill's frontmatter
|
|
139
|
+
`description` sits in the agent's system prompt on **every message**, whether or
|
|
140
|
+
not the skill ever fires. The full `SKILL.md` body only costs anything when the
|
|
141
|
+
skill actually fires.
|
|
96
142
|
|
|
97
|
-
|
|
143
|
+
`asm` reports the two separately — token counts are estimates and always render
|
|
144
|
+
with a leading `~`:
|
|
98
145
|
|
|
99
146
|
```bash
|
|
100
|
-
asm
|
|
147
|
+
asm stats --tokens # resident vs body tokens, per tool and per scope
|
|
148
|
+
asm stats --tokens --json # same data for scripts and agents
|
|
101
149
|
```
|
|
102
150
|
|
|
103
|
-
|
|
151
|
+
```text
|
|
152
|
+
Attention Budget
|
|
153
|
+
----------------------------------------
|
|
104
154
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
```
|
|
155
|
+
Resident = frontmatter descriptions, paid on every message.
|
|
156
|
+
Bodies = full SKILL.md, paid only when a skill fires.
|
|
108
157
|
|
|
109
|
-
|
|
158
|
+
Tool Skills Resident Bodies
|
|
159
|
+
Claude Code 74 ~5k tokens ~281k tokens
|
|
160
|
+
Codex 10 ~736 tokens ~76k tokens
|
|
161
|
+
---------------------------------------------
|
|
162
|
+
Total 84 ~5.7k tokens ~357k tokens
|
|
110
163
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
164
|
+
By Scope
|
|
165
|
+
global 71 ~4.9k tokens ~300k tokens
|
|
166
|
+
project 13 ~836 tokens ~57k tokens
|
|
114
167
|
|
|
115
|
-
|
|
168
|
+
Heaviest resident descriptions
|
|
169
|
+
claude-api ~1.2k tokens (claude, global)
|
|
170
|
+
docx ~233 tokens (claude, global)
|
|
171
|
+
pptx ~217 tokens (claude, global)
|
|
172
|
+
code-review ~198 tokens (claude, global)
|
|
173
|
+
frontend-design ~176 tokens (claude, project)
|
|
174
|
+
dataviz ~164 tokens (claude, global)
|
|
175
|
+
skill-creator ~151 tokens (claude, global)
|
|
176
|
+
xlsx ~143 tokens (claude, global)
|
|
177
|
+
pdf ~138 tokens (claude, global)
|
|
178
|
+
release-manager ~129 tokens (codex, global)
|
|
116
179
|
|
|
117
|
-
|
|
180
|
+
Median resident cost: ~48 tokens
|
|
181
|
+
Run asm audit residency for demotion advice
|
|
182
|
+
```
|
|
118
183
|
|
|
119
|
-
|
|
184
|
+
### Residency audit
|
|
120
185
|
|
|
121
|
-
|
|
186
|
+
`asm audit residency` ranks the installed skills that are not earning their
|
|
187
|
+
resident context and pairs each one with a command that works for how that
|
|
188
|
+
skill is actually installed. It only reports — nothing is deactivated,
|
|
189
|
+
disabled, or removed unless you run one of the suggested commands yourself.
|
|
122
190
|
|
|
123
191
|
```bash
|
|
124
|
-
|
|
125
|
-
asm
|
|
192
|
+
asm audit residency
|
|
193
|
+
asm audit residency --json
|
|
194
|
+
```
|
|
126
195
|
|
|
127
|
-
|
|
128
|
-
asm link ./my-skill -p codex
|
|
196
|
+
The advice assumes this demotion ladder:
|
|
129
197
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
198
|
+
| Tier | `asm` mechanism | Residency |
|
|
199
|
+
| ------------------------- | ----------------------------------------- | ---------------------------- |
|
|
200
|
+
| Installed (auto-triggers) | provider directory / `asm activate` | description resident, always |
|
|
201
|
+
| Saved (adapt, no trigger) | `asm install --library`, `asm deactivate` | none until `asm activate` |
|
|
202
|
+
| Disabled (kept on disk) | `asm disable` (reverse with `asm enable`) | none |
|
|
203
|
+
| Reference (read on use) | `asm get` — nothing on disk at all | none |
|
|
133
204
|
|
|
134
|
-
|
|
205
|
+
Which command a candidate gets depends on how it is installed. `asm deactivate`
|
|
206
|
+
only works on a live symlink into the `asm` library, so it is suggested only
|
|
207
|
+
there; everything else gets `asm disable`, which is universal and reversible.
|
|
208
|
+
The `asm deactivate` path additionally gets `asm get <skill>` as a second
|
|
209
|
+
destination: deactivating removes the provider symlink but leaves the library
|
|
210
|
+
copy, so the body is still one command away. The `asm disable` path does not,
|
|
211
|
+
because disabling renames the canonical `SKILL.md` — for a library-linked skill
|
|
212
|
+
that is the library copy itself — leaving nothing for `asm get` to read.
|
|
213
|
+
Skills provided by plugin marketplaces are counted in the totals but never
|
|
214
|
+
listed as candidates — no `asm` command demotes them.
|
|
135
215
|
|
|
136
|
-
|
|
216
|
+
Two of the signals the report would like to use — trigger collision and
|
|
217
|
+
last-used counts — have no data source in `asm` yet. They are listed as
|
|
218
|
+
unavailable rather than silently dropped, so the report still works today.
|
|
137
219
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
220
|
+
No network calls, accounts, or telemetry are involved: both reports run
|
|
221
|
+
entirely against your local filesystem.
|
|
222
|
+
|
|
223
|
+
### Reference tier: use a skill without installing it
|
|
141
224
|
|
|
142
|
-
|
|
225
|
+
Demoting a skill does not mean losing it. `asm get <skill>` resolves a skill and
|
|
226
|
+
writes its `SKILL.md` body to **stdout** — no provider directory, no library
|
|
227
|
+
entry, no residency. The skill is paid for once, at the point of use, and costs
|
|
228
|
+
nothing afterwards.
|
|
143
229
|
|
|
144
230
|
```bash
|
|
145
|
-
|
|
146
|
-
asm
|
|
231
|
+
asm get code-review # body to stdout
|
|
232
|
+
asm get code-review > /tmp/SKILL.md # save it without installing
|
|
233
|
+
asm get github:owner/repo:skills/review # any `asm install` shorthand
|
|
234
|
+
asm get code-review --json # name, description, tier, source, tokenCount, security, content
|
|
147
235
|
```
|
|
148
236
|
|
|
149
|
-
|
|
237
|
+
That makes `asm` usable as delivery infrastructure, not only as an installer.
|
|
238
|
+
An agent can pull a skill in for a single task and drop it again:
|
|
150
239
|
|
|
151
240
|
```bash
|
|
152
|
-
asm
|
|
241
|
+
asm get code-review | your-agent --system-prompt-file -
|
|
153
242
|
```
|
|
154
243
|
|
|
155
|
-
|
|
244
|
+
`<skill>` walks a resolution ladder, and the rung that answered is reported as
|
|
245
|
+
the `tier` so provenance is always visible:
|
|
156
246
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
247
|
+
| Order | Tier | Resolves |
|
|
248
|
+
| ----- | ----------- | ----------------------------------------------------- |
|
|
249
|
+
| 1 | `installed` | a skill already installed in one of your agents |
|
|
250
|
+
| 2 | `library` | a library skill, **including deactivated ones** |
|
|
251
|
+
| 3 | `index` | an indexed catalog skill, matched by exact name |
|
|
252
|
+
| 4 | `registry` | the ASM registry — same route as `asm install <name>` |
|
|
160
253
|
|
|
161
|
-
|
|
254
|
+
An explicit `github:owner/repo[#ref][:path]` shorthand, a GitHub URL, or a local
|
|
255
|
+
path skips the ladder. A name that matches more than one indexed repo or
|
|
256
|
+
registry author is never guessed: `asm get` exits non-zero and lists the
|
|
257
|
+
qualified candidates.
|
|
162
258
|
|
|
163
|
-
|
|
259
|
+
The catalog stores metadata, not bodies, so an `index`, `registry` or remote
|
|
260
|
+
`asm get` costs a shallow clone into a temp directory, which is deleted before
|
|
261
|
+
the command returns. Those fetches run the **same pre-install security scan
|
|
262
|
+
`asm install` runs**; the verdict goes to stderr and into `--json` under
|
|
263
|
+
`security`. It reports rather than blocks — `asm get` writes nothing — and
|
|
264
|
+
`--audit` prints the full `asm audit security` report for the fetched skill.
|
|
164
265
|
|
|
165
|
-
|
|
266
|
+
Output discipline: stdout carries the body (or, with `--json`, a single JSON
|
|
267
|
+
object) and nothing else, so piping and redirecting are safe. Provenance,
|
|
268
|
+
progress, and the security verdict go to stderr.
|
|
166
269
|
|
|
167
|
-
|
|
168
|
-
asm audit security my-skill
|
|
169
|
-
```
|
|
270
|
+
## FAQ
|
|
170
271
|
|
|
171
|
-
|
|
272
|
+
**Is it free?**
|
|
273
|
+
MIT licensed. No accounts or paywalls.
|
|
172
274
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
```
|
|
275
|
+
**Is this built for AI agents?**
|
|
276
|
+
Yes. Commands return structured JSON (`--json`), accept non-interactive flags (`--yes`, `--machine`), and map to discrete actions an agent can chain — list inventory, search catalog, install, audit, uninstall.
|
|
176
277
|
|
|
177
|
-
|
|
278
|
+
**Which agents are supported?**
|
|
279
|
+
19 providers: Claude Code, Codex, OpenClaw, Cursor, Windsurf, Cline, Roo Code, Continue, GitHub Copilot, Aider, OpenCode, Zed, Augment, Amp, Gemini CLI, Google Antigravity, Pi, Hermes, and a generic Agents provider. Disable any via `asm config edit`.
|
|
178
280
|
|
|
179
|
-
|
|
180
|
-
asm
|
|
181
|
-
```
|
|
281
|
+
**What about the TUI?**
|
|
282
|
+
Run `asm` with no args for an optional local browser. The CLI is the primary interface for scripts, CI, and agent tool calls.
|
|
182
283
|
|
|
183
|
-
|
|
284
|
+
**Private repos?**
|
|
285
|
+
`asm install github:user/repo --transport ssh --yes`
|
|
184
286
|
|
|
185
|
-
|
|
287
|
+
**SKILL.md format?**
|
|
288
|
+
A directory with `SKILL.md` (YAML frontmatter + markdown body). Run `asm init my-skill` to scaffold one.
|
|
186
289
|
|
|
187
|
-
|
|
290
|
+
## Get started
|
|
188
291
|
|
|
189
292
|
```bash
|
|
190
|
-
|
|
293
|
+
npm install -g agent-skill-manager
|
|
191
294
|
```
|
|
192
295
|
|
|
193
|
-
Machine-readable output for CI:
|
|
194
|
-
|
|
195
296
|
```bash
|
|
196
|
-
asm
|
|
297
|
+
asm list --json
|
|
197
298
|
```
|
|
198
299
|
|
|
199
|
-
|
|
300
|
+
[**Browse catalog**](https://luongnv.com/asm/#/skills) · [**Documentation**](#documentation) · [**Contributing**](CONTRIBUTING.md) · MIT Licensed
|
|
200
301
|
|
|
201
|
-
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
<details>
|
|
305
|
+
<summary><strong>Build, test, and ship skills</strong></summary>
|
|
202
306
|
|
|
203
|
-
|
|
307
|
+
### Scaffold
|
|
204
308
|
|
|
205
309
|
```bash
|
|
206
|
-
asm
|
|
310
|
+
asm init my-skill
|
|
207
311
|
```
|
|
208
312
|
|
|
209
|
-
Install to a specific tool:
|
|
210
|
-
|
|
211
313
|
```bash
|
|
212
|
-
asm
|
|
314
|
+
asm init my-skill -p claude
|
|
213
315
|
```
|
|
214
316
|
|
|
215
|
-
Install a specific skill from a multi-skill repo:
|
|
216
|
-
|
|
217
317
|
```bash
|
|
218
|
-
asm
|
|
318
|
+
asm init my-skill --path ./skills
|
|
219
319
|
```
|
|
220
320
|
|
|
221
|
-
|
|
321
|
+
### Develop with live reload
|
|
222
322
|
|
|
223
323
|
```bash
|
|
224
|
-
asm
|
|
324
|
+
asm link ./my-skill -p claude
|
|
225
325
|
```
|
|
226
326
|
|
|
227
|
-
Non-interactive install (useful for CI):
|
|
228
|
-
|
|
229
327
|
```bash
|
|
230
|
-
asm
|
|
328
|
+
asm link ./skill-a ./skill-b ./skill-c -p claude
|
|
231
329
|
```
|
|
232
330
|
|
|
233
|
-
This catches issues that local development misses — broken repo structure, missing files, invalid frontmatter in a clean install context.
|
|
234
|
-
|
|
235
|
-
### 6. Publish to the ASM Registry
|
|
236
|
-
|
|
237
|
-
Once your skill is ready and on GitHub, submit it to the [ASM Registry](https://github.com/luongnv89/asm-registry) so anyone can install it by name:
|
|
238
|
-
|
|
239
331
|
```bash
|
|
240
|
-
asm
|
|
332
|
+
asm link ./my-skills-folder -p claude
|
|
241
333
|
```
|
|
242
334
|
|
|
243
|
-
This runs a security audit, generates a signed manifest, forks the registry, and opens a pull request automatically. Once merged, your skill is globally discoverable:
|
|
244
|
-
|
|
245
335
|
```bash
|
|
246
|
-
|
|
247
|
-
asm install my-skill
|
|
336
|
+
asm link ./my-skill --name my-alias -p claude --force
|
|
248
337
|
```
|
|
249
338
|
|
|
250
|
-
|
|
339
|
+
### Audit and inspect
|
|
251
340
|
|
|
252
341
|
```bash
|
|
253
|
-
asm
|
|
342
|
+
asm audit security my-skill
|
|
254
343
|
```
|
|
255
344
|
|
|
256
|
-
Override security warnings (caution: review findings first):
|
|
257
|
-
|
|
258
345
|
```bash
|
|
259
|
-
asm
|
|
346
|
+
asm audit security ./path/to/my-skill
|
|
260
347
|
```
|
|
261
348
|
|
|
262
|
-
|
|
349
|
+
```bash
|
|
350
|
+
asm audit security --all
|
|
351
|
+
```
|
|
263
352
|
|
|
264
353
|
```bash
|
|
265
|
-
asm
|
|
354
|
+
asm inspect my-skill
|
|
266
355
|
```
|
|
267
356
|
|
|
268
|
-
|
|
357
|
+
```bash
|
|
358
|
+
asm inspect my-skill --json
|
|
359
|
+
```
|
|
269
360
|
|
|
270
|
-
###
|
|
361
|
+
### Test install flow
|
|
271
362
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
4. Test with your AI agent
|
|
276
|
-
5. **Security audit** — `asm audit security awesome-skill`
|
|
277
|
-
6. **Verify metadata** — `asm inspect awesome-skill`
|
|
278
|
-
7. **Score quality** — `asm eval ./awesome-skill`
|
|
279
|
-
8. Push to GitHub
|
|
280
|
-
9. **Verify install flow** — `asm install github:you/awesome-skill`
|
|
281
|
-
10. **Publish to registry** — `asm publish ./awesome-skill`
|
|
363
|
+
```bash
|
|
364
|
+
asm install github:you/awesome-skill
|
|
365
|
+
```
|
|
282
366
|
|
|
283
|
-
|
|
367
|
+
```bash
|
|
368
|
+
asm install github:you/awesome-skill -p claude --force --yes --json
|
|
369
|
+
```
|
|
284
370
|
|
|
285
|
-
|
|
371
|
+
### Publish to ASM Registry
|
|
286
372
|
|
|
287
|
-
|
|
373
|
+
```bash
|
|
374
|
+
asm publish ./my-skill
|
|
375
|
+
```
|
|
288
376
|
|
|
289
|
-
|
|
377
|
+
```bash
|
|
378
|
+
asm publish --dry-run ./my-skill
|
|
379
|
+
```
|
|
290
380
|
|
|
291
|
-
|
|
381
|
+
Requires [`gh` CLI](https://cli.github.com) authenticated with `gh auth login`.
|
|
292
382
|
|
|
293
|
-
|
|
383
|
+
### Typical workflow
|
|
294
384
|
|
|
295
|
-
1.
|
|
385
|
+
1. `asm init awesome-skill -p claude`
|
|
386
|
+
2. Edit `SKILL.md`
|
|
387
|
+
3. `asm link ./awesome-skill -p claude`
|
|
388
|
+
4. Test with your agent
|
|
389
|
+
5. `asm audit security awesome-skill`
|
|
390
|
+
6. `asm inspect awesome-skill`
|
|
391
|
+
7. `asm eval ./awesome-skill`
|
|
392
|
+
8. Push to GitHub
|
|
393
|
+
9. `asm install github:you/awesome-skill`
|
|
394
|
+
10. `asm publish ./awesome-skill`
|
|
296
395
|
|
|
297
|
-
|
|
396
|
+
</details>
|
|
298
397
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
- Suspicious base64-encoded strings (40+ character base64 blocks with padding)
|
|
302
|
-
- Hex-escape sequences (4+ consecutive `\xNN` escapes)
|
|
303
|
-
- Hardcoded credentials (`API_KEY`, `SECRET_KEY`, or `PASSWORD` assignments)
|
|
398
|
+
<details>
|
|
399
|
+
<summary><strong>Skill verification and quality eval</strong></summary>
|
|
304
400
|
|
|
305
|
-
|
|
401
|
+
Indexed skills are evaluated automatically. Skills passing all criteria get a **verified** badge in the catalog.
|
|
306
402
|
|
|
307
|
-
|
|
403
|
+
**Verification criteria (all required):**
|
|
308
404
|
|
|
309
|
-
|
|
405
|
+
1. Valid frontmatter with `name` and `description`
|
|
406
|
+
2. Body content with at least 20 characters of instruction text
|
|
407
|
+
3. No malicious patterns (`atob()`, suspicious base64, hex escapes, hardcoded credentials)
|
|
408
|
+
4. Directory contains a readable `SKILL.md`
|
|
310
409
|
|
|
311
410
|
```bash
|
|
312
|
-
# Index your repo -- verification runs automatically during ingestion
|
|
313
411
|
asm index ingest github:your-user/your-repo
|
|
412
|
+
```
|
|
314
413
|
|
|
315
|
-
|
|
414
|
+
```bash
|
|
316
415
|
asm index search "your-skill" --json
|
|
317
416
|
```
|
|
318
417
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
### Quality Evaluation (`asm eval`)
|
|
322
|
-
|
|
323
|
-
Static verification tells you the SKILL.md is well-formed. `asm eval` goes further: the built-in `quality` provider runs a scored rubric over structure, frontmatter, clarity, prompt engineering, context efficiency, safety, testability, and naming — and emits per-category scores plus concrete suggestions for improvement. Zero setup, zero API keys, zero external binaries.
|
|
418
|
+
**Quality scoring** (`asm eval`) runs a rubric over structure, clarity, safety, and naming:
|
|
324
419
|
|
|
325
420
|
```bash
|
|
326
|
-
# Score the skill and print recommendations
|
|
327
421
|
asm eval ./my-skill
|
|
422
|
+
```
|
|
328
423
|
|
|
329
|
-
|
|
424
|
+
```bash
|
|
330
425
|
asm eval ./my-skill --machine
|
|
426
|
+
```
|
|
331
427
|
|
|
332
|
-
|
|
428
|
+
```bash
|
|
333
429
|
asm eval ./my-skill --fix
|
|
430
|
+
```
|
|
334
431
|
|
|
335
|
-
|
|
432
|
+
```bash
|
|
336
433
|
asm eval-providers list
|
|
337
434
|
```
|
|
338
435
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
---
|
|
436
|
+
See [`docs/eval-providers.md`](./docs/eval-providers.md) for the provider model.
|
|
342
437
|
|
|
343
|
-
|
|
438
|
+
</details>
|
|
344
439
|
|
|
345
|
-
|
|
440
|
+
<details>
|
|
441
|
+
<summary><strong>ASM Registry</strong></summary>
|
|
346
442
|
|
|
347
|
-
|
|
443
|
+
The [ASM Registry](https://github.com/luongnv89/asm-registry) lists community-published skills. Install by name — no GitHub URL needed.
|
|
348
444
|
|
|
349
445
|
```bash
|
|
350
|
-
# Install by bare name (searches the registry)
|
|
351
446
|
asm install code-review
|
|
352
|
-
|
|
353
|
-
# Install by scoped name (author/skill — always unambiguous)
|
|
354
|
-
asm install luongnv89/code-review
|
|
355
|
-
|
|
356
|
-
# Force a fresh registry fetch (bypasses the 1-hour cache)
|
|
357
|
-
asm install code-review --no-cache
|
|
358
447
|
```
|
|
359
448
|
|
|
360
|
-
`asm install` resolves the name against the registry index, downloads the manifest, clones the exact pinned commit, and installs the skill to your agent.
|
|
361
|
-
|
|
362
|
-
### Publish your skill to the registry
|
|
363
|
-
|
|
364
|
-
```bash
|
|
365
|
-
asm publish ./my-skill
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
The publish pipeline:
|
|
369
|
-
|
|
370
|
-
1. **Validates** your `SKILL.md` frontmatter (name, description, version)
|
|
371
|
-
2. **Security audit** — blocks dangerous skills automatically; warns on risky patterns
|
|
372
|
-
3. **Generates a manifest** with the current commit SHA and a `skill_path` for multi-skill repos
|
|
373
|
-
4. **Opens a PR** against [luongnv89/asm-registry](https://github.com/luongnv89/asm-registry) via the `gh` CLI
|
|
374
|
-
|
|
375
|
-
The registry CI validates schema, checks author identity, runs a duplicate check, typosquat detection, and an independent security scan before any maintainer reviews. Once merged, the index rebuilds automatically and your skill is live.
|
|
376
|
-
|
|
377
|
-
| Flag | Description |
|
|
378
|
-
| ----------- | ------------------------------------------ |
|
|
379
|
-
| `--dry-run` | Preview the manifest without creating a PR |
|
|
380
|
-
| `--force` | Override warning-level security findings |
|
|
381
|
-
| `--yes` | Skip the confirmation prompt |
|
|
382
|
-
| `--machine` | Output as a machine-readable JSON envelope |
|
|
383
|
-
|
|
384
|
-
### How registry resolution works
|
|
385
|
-
|
|
386
|
-
When you run `asm install code-review`:
|
|
387
|
-
|
|
388
|
-
1. `asm` fetches the registry index (cached for 1 hour at `~/.config/agent-skill-manager/registry-cache.json`)
|
|
389
|
-
2. Finds the manifest for `code-review` — including the pinned `commit` and `skill_path`
|
|
390
|
-
3. Clones the repository at that exact commit and navigates to the skill subdirectory
|
|
391
|
-
4. Installs as if you had run `asm install github:author/repo#commit:skill_path`
|
|
392
|
-
|
|
393
|
-
If multiple authors publish a skill with the same name, `asm` shows a disambiguation prompt. Use a scoped name (`author/skill`) to skip it.
|
|
394
|
-
|
|
395
|
-
---
|
|
396
|
-
|
|
397
|
-
## Get Started in 30 Seconds
|
|
398
|
-
|
|
399
|
-
### npm (recommended)
|
|
400
|
-
|
|
401
449
|
```bash
|
|
402
|
-
|
|
450
|
+
asm install luongnv89/code-review
|
|
403
451
|
```
|
|
404
452
|
|
|
405
|
-
> Runs on **Node.js ≥ 18** for both the CLI and the interactive TUI. No other runtime required.
|
|
406
|
-
|
|
407
|
-
### One-liner install
|
|
408
|
-
|
|
409
453
|
```bash
|
|
410
|
-
|
|
454
|
+
asm install code-review --no-cache
|
|
411
455
|
```
|
|
412
456
|
|
|
413
|
-
This installs `agent-skill-manager` globally. Then just run:
|
|
414
|
-
|
|
415
457
|
```bash
|
|
416
|
-
asm
|
|
458
|
+
asm publish ./my-skill
|
|
417
459
|
```
|
|
418
460
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
### Shadowed installs
|
|
426
|
-
|
|
427
|
-
If you have multiple `asm` binaries on `PATH` (for example, a leftover install from an older package manager), shells resolve whichever appears first and a fresh upgrade can be silently shadowed.
|
|
461
|
+
| Flag | Description |
|
|
462
|
+
| ----------- | ---------------------------------------- |
|
|
463
|
+
| `--dry-run` | Preview manifest without creating a PR |
|
|
464
|
+
| `--force` | Override warning-level security findings |
|
|
465
|
+
| `--yes` | Skip confirmation |
|
|
466
|
+
| `--machine` | JSON output |
|
|
428
467
|
|
|
429
|
-
**
|
|
468
|
+
**Resolution flow:** fetch index (1-hour cache) → find manifest with pinned commit → clone at exact commit → install.
|
|
430
469
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
---
|
|
434
|
-
|
|
435
|
-
## Open-Source Skill Collections
|
|
436
|
-
|
|
437
|
-
A curated list of skill repositories you can install with a single command. Over **2,800 skills** available across these collections:
|
|
438
|
-
|
|
439
|
-
### Top agent skills repositories
|
|
470
|
+
</details>
|
|
440
471
|
|
|
441
|
-
|
|
472
|
+
<details>
|
|
473
|
+
<summary><strong>Open-source skill collections</strong></summary>
|
|
442
474
|
|
|
443
|
-
|
|
475
|
+
Over **2,800 skills** across curated repositories. Use `asm search <term>` to discover, then `asm install github:owner/repo`.
|
|
444
476
|
|
|
445
|
-
|
|
446
|
-
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------- | -----: | -----: |
|
|
447
|
-
| [anthropic-skills](https://github.com/anthropics/skills) | Official Agent Skills from Anthropic | 95,957 | 18 |
|
|
448
|
-
| [superpowers](https://github.com/obra/superpowers) | Agentic skills framework & development methodology | 89,816 | 14 |
|
|
449
|
-
| [everything-claude-code](https://github.com/affaan-m/everything-claude-code) | Performance optimization system for Claude Code, Codex, and beyond | 81,392 | 183 |
|
|
450
|
-
| [agency-agents](https://github.com/msitarzewski/agency-agents) | Specialized expert agents with personality and proven deliverables | 50,749 | — |
|
|
451
|
-
| [ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) | Design intelligence for building professional UI/UX | 43,112 | 7 |
|
|
452
|
-
| [antigravity-awesome-skills](https://github.com/sickn33/antigravity-awesome-skills) | 1,000+ battle-tested skills for Claude Code, Cursor, and more | 25,047 | 1,322 |
|
|
453
|
-
| [marketingskills](https://github.com/coreyhaines31/marketingskills) | Marketing skills — CRO, copywriting, SEO, analytics, growth | 14,099 | 33 |
|
|
454
|
-
| [agentskills](https://github.com/agentskills/agentskills) | Specification and documentation for Agent Skills | 13,342 | — |
|
|
455
|
-
| [claude-skills](https://github.com/alirezarezvani/claude-skills) | 192 skills for engineering, marketing, product, compliance, C-level | 7,434 | 451 |
|
|
456
|
-
| [taste-skill](https://github.com/Leonxlnx/taste-skill) | Gives your AI good taste — stops generic, boring output | 3,389 | 7 |
|
|
457
|
-
| [affiliate-skills](https://github.com/Affitor/affiliate-skills) | Full affiliate marketing funnel: research to deploy | 99 | 48 |
|
|
458
|
-
| [skills](https://github.com/luongnv89/skills) | Reusable skills to supercharge your AI agents | 1 | 35 |
|
|
477
|
+
> Last updated: 2026-07-07
|
|
459
478
|
|
|
460
|
-
|
|
479
|
+
| Repository | Description | Stars | Skills |
|
|
480
|
+
| ----------------------------------------------------------------------------------- | ----------------------------------------------- | -----: | -----: |
|
|
481
|
+
| [anthropic-skills](https://github.com/anthropics/skills) | Official Agent Skills from Anthropic | 95,957 | 18 |
|
|
482
|
+
| [superpowers](https://github.com/obra/superpowers) | Agentic skills framework | 89,816 | 14 |
|
|
483
|
+
| [everything-claude-code](https://github.com/affaan-m/everything-claude-code) | Performance optimization for Claude Code, Codex | 81,392 | 183 |
|
|
484
|
+
| [agency-agents](https://github.com/msitarzewski/agency-agents) | Specialized expert agents | 50,749 | — |
|
|
485
|
+
| [ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) | Design intelligence for UI/UX | 43,112 | 7 |
|
|
486
|
+
| [antigravity-awesome-skills](https://github.com/sickn33/antigravity-awesome-skills) | 1,000+ skills for Claude Code, Cursor | 25,047 | 1,322 |
|
|
487
|
+
| [marketingskills](https://github.com/coreyhaines31/marketingskills) | Marketing — CRO, SEO, growth | 14,099 | 33 |
|
|
488
|
+
| [agentskills](https://github.com/agentskills/agentskills) | Agent Skills specification | 13,342 | — |
|
|
489
|
+
| [claude-skills](https://github.com/alirezarezvani/claude-skills) | 192 skills across engineering, marketing | 7,434 | 451 |
|
|
490
|
+
| [taste-skill](https://github.com/Leonxlnx/taste-skill) | Stops generic AI output | 3,389 | 7 |
|
|
491
|
+
| [affiliate-skills](https://github.com/Affitor/affiliate-skills) | Affiliate marketing funnel | 99 | 48 |
|
|
492
|
+
| [skills](https://github.com/luongnv89/skills) | Reusable agent skills | 1 | 35 |
|
|
461
493
|
|
|
462
494
|
```bash
|
|
463
495
|
asm install github:anthropics/skills
|
|
464
496
|
```
|
|
465
497
|
|
|
466
|
-
Or install everything at once:
|
|
467
|
-
|
|
468
498
|
```bash
|
|
469
499
|
asm install github:anthropics/skills --all
|
|
470
500
|
```
|
|
471
501
|
|
|
472
|
-
|
|
473
|
-
<img src="assets/screenshots/asm-inspect-oss-ready.png" alt="asm inspect — detailed skill information" width="700" />
|
|
474
|
-
<br/><em>asm inspect oss-ready — version, creator, and every tool installation at once</em>
|
|
475
|
-
</p>
|
|
476
|
-
|
|
477
|
-
---
|
|
478
|
-
|
|
479
|
-
## Supported Agent Tools
|
|
480
|
-
|
|
481
|
-
`asm` ships with **19 built-in providers**, all enabled by default. Disable any you don't need via `asm config edit`.
|
|
482
|
-
|
|
483
|
-
| Tool | Global Path | Project Path | Default |
|
|
484
|
-
| ------------------ | --------------------------------- | ----------------------- | :-----: |
|
|
485
|
-
| Claude Code | `~/.claude/skills/` | `.claude/skills/` | enabled |
|
|
486
|
-
| Codex | `~/.codex/skills/` | `.codex/skills/` | enabled |
|
|
487
|
-
| OpenClaw | `~/.openclaw/skills/` | `.openclaw/skills/` | enabled |
|
|
488
|
-
| Agents (generic) | `~/.agents/skills/` | `.agents/skills/` | enabled |
|
|
489
|
-
| Cursor | `~/.cursor/rules/` | `.cursor/rules/` | enabled |
|
|
490
|
-
| Windsurf | `~/.windsurf/rules/` | `.windsurf/rules/` | enabled |
|
|
491
|
-
| Cline | `~/Documents/Cline/Rules/` | `.clinerules/` | enabled |
|
|
492
|
-
| Roo Code | `~/.roo/rules/` | `.roo/rules/` | enabled |
|
|
493
|
-
| Continue | `~/.continue/rules/` | `.continue/rules/` | enabled |
|
|
494
|
-
| GitHub Copilot | `~/.github/instructions/` | `.github/instructions/` | enabled |
|
|
495
|
-
| Aider | `~/.aider/skills/` | `.aider/skills/` | enabled |
|
|
496
|
-
| OpenCode | `~/.config/opencode/skills/` | `.opencode/skills/` | enabled |
|
|
497
|
-
| Zed | `~/.config/zed/prompt_overrides/` | `.zed/rules/` | enabled |
|
|
498
|
-
| Augment | `~/.augment/rules/` | `.augment/rules/` | enabled |
|
|
499
|
-
| Amp | `~/.amp/skills/` | `.amp/skills/` | enabled |
|
|
500
|
-
| Gemini CLI | `~/.gemini/skills/` | `.gemini/skills/` | enabled |
|
|
501
|
-
| Google Antigravity | `~/.antigravity/skills/` | `.antigravity/skills/` | enabled |
|
|
502
|
-
| Pi | `~/.pi/skills/` | `.pi/skills/` | enabled |
|
|
503
|
-
| Hermes | `~/.hermes/skills/` | `.hermes/skills/` | enabled |
|
|
504
|
-
|
|
505
|
-
Disable a provider — opens config in `$EDITOR`, set `"enabled": false` for any provider:
|
|
506
|
-
|
|
507
|
-
```bash
|
|
508
|
-
asm config edit
|
|
509
|
-
```
|
|
510
|
-
|
|
511
|
-
Need a tool not listed? Add a custom provider entry to the config.
|
|
512
|
-
|
|
513
|
-
---
|
|
514
|
-
|
|
515
|
-
## FAQ
|
|
516
|
-
|
|
517
|
-
**Is it free?**
|
|
518
|
-
Yes. `asm` is MIT licensed and free forever. No accounts, no telemetry, no paywalls.
|
|
519
|
-
|
|
520
|
-
**Is it actively maintained?**
|
|
521
|
-
Yes — actively developed with frequent tagged releases (46 and counting, latest v2.11.0). Check the [changelog](docs/CHANGELOG.md) for the full history.
|
|
522
|
-
|
|
523
|
-
**Which AI agents does it support?**
|
|
524
|
-
19 providers built-in: Claude Code, Codex, OpenClaw, Cursor, Windsurf, Cline, Roo Code, Continue, GitHub Copilot, Aider, OpenCode, Zed, Augment, Amp, Gemini CLI, Google Antigravity, Pi, Hermes, and a generic Agents provider. All 19 are enabled by default; disable any you don't need via `asm config edit`. You can also add any custom agent that stores skills as directories with a `SKILL.md` file.
|
|
525
|
-
|
|
526
|
-
**How does it compare to managing skills manually?**
|
|
527
|
-
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.
|
|
528
|
-
|
|
529
|
-
<p align="center">
|
|
530
|
-
<img src="assets/screenshots/asm-audit.png" alt="asm audit — duplicate detection across providers" width="700" />
|
|
531
|
-
<br/><em>asm audit — finds duplicate groups and tells you exactly which to keep</em>
|
|
532
|
-
</p>
|
|
533
|
-
|
|
534
|
-
**Can I use it with private repos?**
|
|
535
|
-
Yes. Use `--transport ssh` or `--transport auto` to clone private repos via SSH.
|
|
536
|
-
|
|
537
|
-
**Is it safe to install skills from GitHub?**
|
|
538
|
-
`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.
|
|
539
|
-
|
|
540
|
-
<p align="center">
|
|
541
|
-
<img src="assets/screenshots/asm-audit-security-oss-ready.png" alt="asm audit security — security scanning report" width="700" />
|
|
542
|
-
<br/><em>asm audit security oss-ready — flags external URLs, shell execution, and credential access</em>
|
|
543
|
-
</p>
|
|
502
|
+
</details>
|
|
544
503
|
|
|
545
|
-
|
|
546
|
-
|
|
504
|
+
<details>
|
|
505
|
+
<summary><strong>Supported agent tools</strong></summary>
|
|
506
|
+
|
|
507
|
+
19 built-in providers, all enabled by default. Disable via `asm config edit`.
|
|
508
|
+
|
|
509
|
+
| Tool | Global Path | Project Path |
|
|
510
|
+
| ------------------ | --------------------------------- | ----------------------- |
|
|
511
|
+
| Claude Code | `~/.claude/skills/` | `.claude/skills/` |
|
|
512
|
+
| Codex | `~/.codex/skills/` | `.codex/skills/` |
|
|
513
|
+
| OpenClaw | `~/.openclaw/skills/` | `.openclaw/skills/` |
|
|
514
|
+
| Agents (generic) | `~/.agents/skills/` | `.agents/skills/` |
|
|
515
|
+
| Cursor | `~/.cursor/rules/` | `.cursor/rules/` |
|
|
516
|
+
| Windsurf | `~/.windsurf/rules/` | `.windsurf/rules/` |
|
|
517
|
+
| Cline | `~/Documents/Cline/Rules/` | `.clinerules/` |
|
|
518
|
+
| Roo Code | `~/.roo/rules/` | `.roo/rules/` |
|
|
519
|
+
| Continue | `~/.continue/rules/` | `.continue/rules/` |
|
|
520
|
+
| GitHub Copilot | `~/.github/instructions/` | `.github/instructions/` |
|
|
521
|
+
| Aider | `~/.aider/skills/` | `.aider/skills/` |
|
|
522
|
+
| OpenCode | `~/.config/opencode/skills/` | `.opencode/skills/` |
|
|
523
|
+
| Zed | `~/.config/zed/prompt_overrides/` | `.zed/rules/` |
|
|
524
|
+
| Augment | `~/.augment/rules/` | `.augment/rules/` |
|
|
525
|
+
| Amp | `~/.amp/skills/` | `.amp/skills/` |
|
|
526
|
+
| Gemini CLI | `~/.gemini/skills/` | `.gemini/skills/` |
|
|
527
|
+
| Google Antigravity | `~/.antigravity/skills/` | `.antigravity/skills/` |
|
|
528
|
+
| Pi | `~/.pi/skills/` | `.pi/skills/` |
|
|
529
|
+
| Hermes | `~/.hermes/skills/` | `.hermes/skills/` |
|
|
530
|
+
|
|
531
|
+
Add custom providers in config.
|
|
547
532
|
|
|
548
|
-
|
|
533
|
+
</details>
|
|
549
534
|
|
|
550
|
-
|
|
535
|
+
<details>
|
|
536
|
+
<summary><strong>Troubleshooting: shadowed installs</strong></summary>
|
|
551
537
|
|
|
552
|
-
|
|
538
|
+
Multiple `asm` binaries on `PATH` can shadow a fresh upgrade.
|
|
553
539
|
|
|
554
|
-
|
|
540
|
+
**Diagnose:** `asm --version` warns about multiple binaries. Run `asm doctor` for a full report.
|
|
555
541
|
|
|
556
|
-
|
|
557
|
-
<a href="#get-started-in-30-seconds"><strong>Install agent-skill-manager →</strong></a>
|
|
558
|
-
</p>
|
|
542
|
+
**Fix:** Remove the stale install with your package manager, then confirm with `asm --version`.
|
|
559
543
|
|
|
560
|
-
|
|
544
|
+
</details>
|
|
561
545
|
|
|
562
|
-
<details>
|
|
546
|
+
<details id="cli-commands">
|
|
563
547
|
<summary><strong>CLI Commands</strong></summary>
|
|
564
548
|
|
|
565
|
-
### Interactive TUI
|
|
566
|
-
|
|
567
|
-
```bash
|
|
568
|
-
asm
|
|
569
|
-
```
|
|
570
|
-
|
|
571
549
|
### Commands
|
|
572
550
|
|
|
573
|
-
| Command
|
|
574
|
-
| ------------------------------- |
|
|
575
|
-
| `asm list`
|
|
576
|
-
| `asm search <query>`
|
|
577
|
-
| `asm inspect <skill-name>`
|
|
578
|
-
| `asm
|
|
579
|
-
| `asm
|
|
580
|
-
| `asm
|
|
581
|
-
| `asm
|
|
582
|
-
| `asm
|
|
583
|
-
| `asm
|
|
584
|
-
| `asm audit
|
|
585
|
-
| `asm
|
|
586
|
-
| `asm
|
|
587
|
-
| `asm
|
|
588
|
-
| `asm
|
|
589
|
-
| `asm
|
|
590
|
-
| `asm
|
|
591
|
-
| `asm
|
|
592
|
-
| `asm index
|
|
593
|
-
| `asm
|
|
594
|
-
| `asm
|
|
595
|
-
| `asm
|
|
596
|
-
| `asm
|
|
597
|
-
| `asm
|
|
598
|
-
| `asm
|
|
599
|
-
| `asm
|
|
600
|
-
| `asm
|
|
601
|
-
| `asm
|
|
602
|
-
| `asm
|
|
603
|
-
| `asm
|
|
604
|
-
|
|
605
|
-
|
|
551
|
+
| Command | Description |
|
|
552
|
+
| ------------------------------- | ----------------------------------------- | ----------------------------------------- |
|
|
553
|
+
| `asm list` | List all discovered skills |
|
|
554
|
+
| `asm search <query>` | Search by name/description/provider |
|
|
555
|
+
| `asm inspect <skill-name>` | Show detailed info for a skill |
|
|
556
|
+
| `asm get <skill>` | Print a skill's body, install nothing |
|
|
557
|
+
| `asm install <source>` | Install from GitHub or registry |
|
|
558
|
+
| `asm publish [path]` | Publish to ASM Registry |
|
|
559
|
+
| `asm uninstall <skill-name>` | Remove a skill |
|
|
560
|
+
| `asm init <name>` | Scaffold a new skill |
|
|
561
|
+
| `asm link <path> [<path2> ...]` | Symlink skills for live dev |
|
|
562
|
+
| `asm audit` | Detect duplicate skills |
|
|
563
|
+
| `asm audit security <name>` | Security audit |
|
|
564
|
+
| `asm audit residency` | Rank skills that do not earn residency |
|
|
565
|
+
| `asm eval <skill>` | Score skill quality |
|
|
566
|
+
| `asm eval-providers list` | List eval providers |
|
|
567
|
+
| `asm stats` | Aggregate installed skill metrics |
|
|
568
|
+
| `asm stats repo <repo>` | Per-repo indexed skill stats |
|
|
569
|
+
| `asm stats author <owner>` | Per-author indexed skill stats |
|
|
570
|
+
| `asm stats index` | Indexed catalog stats summary |
|
|
571
|
+
| `asm activate <skill>` | Link a library skill into a provider |
|
|
572
|
+
| `asm deactivate <skill>` | Remove a library activation symlink |
|
|
573
|
+
| `asm library` | Manage centrally installed library skills |
|
|
574
|
+
| `asm library list` | List local library skills |
|
|
575
|
+
| `asm library update <skill>` | Update one local library skill |
|
|
576
|
+
| `asm library update --all` | Update all local library skills |
|
|
577
|
+
| `asm export` | Export inventory as JSON |
|
|
578
|
+
| `asm import <file>` | Import skills from exported manifest |
|
|
579
|
+
| `asm outdated` | Show outdated skills |
|
|
580
|
+
| `asm update [name...]` | Update outdated skills |
|
|
581
|
+
| `asm disable <target>` | Disable skill(s) without uninstalling |
|
|
582
|
+
| `asm enable <target>` | Re-enable disabled skill(s) |
|
|
583
|
+
| `asm index ingest <repo>` | Index a skill repo |
|
|
584
|
+
| `asm index search <query>` | Search indexed skills |
|
|
585
|
+
| `asm index list` | List indexed repos |
|
|
586
|
+
| `asm index remove <owner/repo>` | Remove repo from index |
|
|
587
|
+
| `asm bundle list` | List bundles (`--predefined`) |
|
|
588
|
+
| `asm bundle install <name>` | Install every skill in a bundle |
|
|
589
|
+
| `asm bundle create <name>` | Create bundle from installed skills |
|
|
590
|
+
| `asm bundle show <name>` | Show bundle details |
|
|
591
|
+
| `asm bundle modify <name>` | Add/remove skills |
|
|
592
|
+
| `asm bundle export <name>` | Export bundle to JSON |
|
|
593
|
+
| `asm bundle remove <name>` | Remove saved bundle |
|
|
594
|
+
| `asm config show` | Print config |
|
|
595
|
+
| `asm config path` | Print config path |
|
|
596
|
+
| `asm config reset` | Reset to defaults |
|
|
597
|
+
| `asm config edit` | Open config in `$EDITOR` |
|
|
598
|
+
| `asm doctor` | Run environment health checks and diagnostics |
|
|
599
|
+
|
|
600
|
+
### Global options
|
|
606
601
|
|
|
607
602
|
```text
|
|
608
|
-
-h, --help Show help
|
|
609
|
-
-v, --version Print version
|
|
610
|
-
--json
|
|
611
|
-
|
|
612
|
-
--
|
|
613
|
-
-
|
|
603
|
+
-h, --help Show help
|
|
604
|
+
-v, --version Print version
|
|
605
|
+
--json JSON output
|
|
606
|
+
--machine Stable machine-readable JSON envelope (v1)
|
|
607
|
+
-s, --scope <scope> global, project, or both
|
|
608
|
+
-p, --tool <name> Filter by tool (list, search)
|
|
609
|
+
--sort <field> name, version, or location
|
|
610
|
+
--flat Show one row per tool instance (list, search)
|
|
611
|
+
--model-invocable Only skills the model can invoke
|
|
612
|
+
--user-invocable Only skills the user can invoke
|
|
613
|
+
-y, --yes Skip confirmations
|
|
614
614
|
--no-color Disable ANSI colors
|
|
615
|
+
-V, --verbose Show debug output
|
|
615
616
|
```
|
|
616
617
|
|
|
617
618
|
### Examples
|
|
618
619
|
|
|
619
|
-
List all global skills sorted by provider location:
|
|
620
|
-
|
|
621
620
|
```bash
|
|
622
621
|
asm list --scope global --sort location
|
|
623
622
|
```
|
|
624
623
|
|
|
625
|
-
When you have many skills installed, `asm list` offers condensed views:
|
|
626
|
-
|
|
627
624
|
```bash
|
|
628
|
-
asm list --summary
|
|
629
|
-
asm list --compact # one line per skill
|
|
630
|
-
asm list --group-by tool # group rows under tool headers
|
|
631
|
-
asm list --limit 20 # show only the first 20 rows
|
|
625
|
+
asm list --summary
|
|
632
626
|
```
|
|
633
627
|
|
|
634
|
-
|
|
628
|
+
```bash
|
|
629
|
+
asm list --compact --group-by tool --limit 20
|
|
630
|
+
```
|
|
635
631
|
|
|
636
632
|
```bash
|
|
637
|
-
asm
|
|
633
|
+
asm list --model-invocable --user-invocable
|
|
638
634
|
```
|
|
639
635
|
|
|
640
|
-
|
|
636
|
+
Listings and `asm inspect` show invocability as `model`, `user`, or `both` (never collapsed). `--model-invocable` and `--user-invocable` are independent; both flags keep skills that match both (typically `both`).
|
|
641
637
|
|
|
642
638
|
```bash
|
|
643
|
-
asm
|
|
639
|
+
asm search "code review" --json
|
|
644
640
|
```
|
|
645
641
|
|
|
646
|
-
Remove duplicates automatically:
|
|
647
|
-
|
|
648
642
|
```bash
|
|
649
643
|
asm audit --yes
|
|
650
644
|
```
|
|
651
645
|
|
|
652
|
-
Security audit a skill before installing:
|
|
653
|
-
|
|
654
646
|
```bash
|
|
655
647
|
asm audit security github:user/repo
|
|
656
648
|
```
|
|
657
649
|
|
|
658
|
-
Audit all installed skills:
|
|
659
|
-
|
|
660
650
|
```bash
|
|
661
651
|
asm audit security --all
|
|
662
652
|
```
|
|
663
653
|
|
|
664
|
-
Score a skill with the static quality provider:
|
|
665
|
-
|
|
666
|
-
```bash
|
|
667
|
-
asm eval ./my-skill
|
|
668
|
-
```
|
|
669
|
-
|
|
670
|
-
List registered eval providers:
|
|
671
|
-
|
|
672
654
|
```bash
|
|
673
|
-
asm
|
|
655
|
+
asm stats --tokens
|
|
674
656
|
```
|
|
675
657
|
|
|
676
|
-
Scaffold a skill, link it for live testing, audit, and inspect:
|
|
677
|
-
|
|
678
658
|
```bash
|
|
679
|
-
asm
|
|
659
|
+
asm audit residency --json
|
|
680
660
|
```
|
|
681
661
|
|
|
682
662
|
```bash
|
|
683
|
-
|
|
684
|
-
asm link ./my-skill -p claude
|
|
685
|
-
|
|
686
|
-
# Link multiple skills at once
|
|
687
|
-
asm link ./skill-a ./skill-b -p claude
|
|
663
|
+
asm eval ./my-skill
|
|
688
664
|
```
|
|
689
665
|
|
|
690
666
|
```bash
|
|
691
|
-
asm
|
|
667
|
+
asm init my-skill -p claude
|
|
692
668
|
```
|
|
693
669
|
|
|
694
670
|
```bash
|
|
695
|
-
asm
|
|
671
|
+
asm link ./my-skill -p claude
|
|
696
672
|
```
|
|
697
673
|
|
|
698
|
-
Uninstall without confirmation:
|
|
699
|
-
|
|
700
674
|
```bash
|
|
701
675
|
asm uninstall old-skill --yes
|
|
702
676
|
```
|
|
703
677
|
|
|
704
|
-
Index a skill repo and search it:
|
|
705
|
-
|
|
706
678
|
```bash
|
|
707
679
|
asm index ingest github:anthropics/skills
|
|
708
680
|
```
|
|
@@ -711,43 +683,33 @@ asm index ingest github:anthropics/skills
|
|
|
711
683
|
asm index search "frontend design" --json
|
|
712
684
|
```
|
|
713
685
|
|
|
714
|
-
**
|
|
686
|
+
**Bundles** — pre-defined sets for common workflows. Browse at [luongnv.com/asm/#/bundles](https://luongnv.com/asm/#/bundles):
|
|
715
687
|
|
|
716
688
|
```bash
|
|
717
689
|
asm bundle list --predefined
|
|
718
690
|
```
|
|
719
691
|
|
|
720
|
-
Install every skill in a pre-defined bundle:
|
|
721
|
-
|
|
722
692
|
```bash
|
|
723
693
|
asm bundle install frontend-dev
|
|
724
694
|
```
|
|
725
695
|
|
|
726
|
-
Install from a bundle file (custom or shared):
|
|
727
|
-
|
|
728
696
|
```bash
|
|
729
697
|
asm bundle install ./my-bundle.json
|
|
730
698
|
```
|
|
731
699
|
|
|
732
|
-
Build a custom bundle from your installed skills, then export it to share:
|
|
733
|
-
|
|
734
700
|
```bash
|
|
735
701
|
asm bundle create my-workflow
|
|
736
702
|
asm bundle export my-workflow ./my-workflow.json
|
|
737
703
|
```
|
|
738
704
|
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
**iOS/Swift catalog note:** ASM indexes public, installable Swift and Apple-platform skill repos from maintainers such as Hacking with Swift (`twostraws`), Antoine van der Lee (`AvdLee`), Dimillian, Rudrank Riyam, and Ivan Magda. Use `asm bundle install ios-release` for a curated SwiftUI, concurrency, testing, persistence, Xcode build, App Store, and release-management starter set, or search the catalog for `swift`, `swiftui`, `swift testing`, `uikit`, `swiftdata`, or `app store connect` to install individual skills. Sources that are private, landing-page-only, or do not expose discoverable `SKILL.md` content are not added as enabled catalog entries.
|
|
705
|
+
**iOS/Swift catalog:** ASM indexes public Swift/Apple skill repos. Use `asm bundle install ios-release` or search for `swift`, `swiftui`, `swift testing`, `uikit`, `swiftdata`, `app store connect`.
|
|
742
706
|
|
|
743
707
|
</details>
|
|
744
708
|
|
|
745
709
|
<details>
|
|
746
|
-
<summary><strong>Installing
|
|
747
|
-
|
|
748
|
-
Install skills directly from GitHub repositories — supports both single-skill repos and multi-skill collections.
|
|
710
|
+
<summary><strong>Installing skills from GitHub</strong></summary>
|
|
749
711
|
|
|
750
|
-
**Single-skill repo
|
|
712
|
+
**Single-skill repo:**
|
|
751
713
|
|
|
752
714
|
```bash
|
|
753
715
|
asm install github:user/my-skill
|
|
@@ -757,7 +719,7 @@ asm install github:user/my-skill
|
|
|
757
719
|
asm install github:user/my-skill#v1.0.0 -p claude
|
|
758
720
|
```
|
|
759
721
|
|
|
760
|
-
**Multi-skill repo
|
|
722
|
+
**Multi-skill repo:**
|
|
761
723
|
|
|
762
724
|
```bash
|
|
763
725
|
asm install github:user/skills --path skills/code-review
|
|
@@ -767,13 +729,7 @@ asm install github:user/skills --path skills/code-review
|
|
|
767
729
|
asm install github:user/skills --all -p claude -y
|
|
768
730
|
```
|
|
769
731
|
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
```bash
|
|
773
|
-
asm install github:user/skills
|
|
774
|
-
```
|
|
775
|
-
|
|
776
|
-
**Subfolder URL** (auto-detects branch and path):
|
|
732
|
+
**Subfolder URL:**
|
|
777
733
|
|
|
778
734
|
```bash
|
|
779
735
|
asm install https://github.com/user/skills/tree/main/skills/agent-config
|
|
@@ -783,91 +739,67 @@ asm install https://github.com/user/skills/tree/main/skills/agent-config
|
|
|
783
739
|
asm install github:user/skills#main:skills/agent-config
|
|
784
740
|
```
|
|
785
741
|
|
|
786
|
-
**Private repos
|
|
742
|
+
**Private repos:**
|
|
787
743
|
|
|
788
744
|
```bash
|
|
789
745
|
asm install github:user/private-skill --transport ssh
|
|
790
746
|
```
|
|
791
747
|
|
|
792
|
-
Try HTTPS, fallback to SSH:
|
|
793
|
-
|
|
794
748
|
```bash
|
|
795
749
|
asm install github:user/private-skill -t auto
|
|
796
750
|
```
|
|
797
751
|
|
|
798
|
-
**Vercel skills CLI
|
|
752
|
+
**Vercel skills CLI:**
|
|
799
753
|
|
|
800
754
|
```bash
|
|
801
755
|
asm install github:user/skills --method vercel --skill my-skill
|
|
802
756
|
```
|
|
803
757
|
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
```
|
|
817
|
-
|
|
818
|
-
```bash
|
|
819
|
-
asm install github:user/my-skill -p claude --yes --json
|
|
820
|
-
```
|
|
758
|
+
| Flag | Description |
|
|
759
|
+
| ------------------------ | ------------------------------ |
|
|
760
|
+
| `-p, --tool <name>` | Target agent |
|
|
761
|
+
| `--name <name>` | Override directory name |
|
|
762
|
+
| `--path <subdir>` | Install from subdirectory |
|
|
763
|
+
| `--all` | Install all skills in repo |
|
|
764
|
+
| `-m, --method <method>` | `default` or `vercel` |
|
|
765
|
+
| `-t, --transport <mode>` | `https`, `ssh`, or `auto` |
|
|
766
|
+
| `--library` | Install into the local library |
|
|
767
|
+
| `-f, --force` | Overwrite existing |
|
|
768
|
+
| `-y, --yes` | Skip confirmation |
|
|
769
|
+
| `--json` | JSON output |
|
|
821
770
|
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
**Install flags:**
|
|
825
|
-
|
|
826
|
-
| Flag | Description |
|
|
827
|
-
| ------------------------ | ---------------------------------------------------------- |
|
|
828
|
-
| `-p, --tool <name>` | Target tool (claude, codex, cursor, windsurf, etc.) |
|
|
829
|
-
| `--name <name>` | Override skill directory name |
|
|
830
|
-
| `--path <subdir>` | Install a specific skill from a subdirectory |
|
|
831
|
-
| `--all` | Install all skills found in the repo |
|
|
832
|
-
| `-m, --method <method>` | Install method: `default` or `vercel` (default: `default`) |
|
|
833
|
-
| `--skill <name>` | Alias for `--path` (Vercel skills CLI compatibility) |
|
|
834
|
-
| `-t, --transport <mode>` | Transport: `https`, `ssh`, or `auto` (default: `auto`) |
|
|
835
|
-
| `-f, --force` | Overwrite if skill already exists |
|
|
836
|
-
| `-y, --yes` | Skip confirmation prompt |
|
|
837
|
-
| `--json` | Output result as JSON |
|
|
838
|
-
|
|
839
|
-
**Multi-skill repo support:** `asm` scans for skills in subdirectories (up to 5 levels deep). Repos with only nested skills use that scan by default. Repos with **both** a root `SKILL.md` and nested skills install the root skill by default; use `--all` to install every discovered skill (root plus nested). In interactive mode, discovery shows a numbered picker. Use `--path` to target a specific skill.
|
|
840
|
-
|
|
841
|
-
**Indexing (`asm index ingest` / `npm run preindex`):** Discovery always includes a root `SKILL.md` when present **and** any nested skills in subdirectories, so curated indexes do not silently drop skills when a repo adds a root-level skill.
|
|
842
|
-
|
|
843
|
-
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.
|
|
771
|
+
Multi-skill repos: scans up to 5 levels deep. Root `SKILL.md` installs by default; use `--all` for every skill. Requires `git` on PATH.
|
|
844
772
|
|
|
845
773
|
</details>
|
|
846
774
|
|
|
847
775
|
<details>
|
|
848
|
-
<summary><strong>TUI
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
|
855
|
-
|
|
|
856
|
-
|
|
|
857
|
-
| `
|
|
858
|
-
| `
|
|
859
|
-
|
|
|
860
|
-
| `
|
|
861
|
-
| `
|
|
862
|
-
| `
|
|
863
|
-
|
|
|
776
|
+
<summary><strong>Optional TUI (run <code>asm</code> with no args)</strong></summary>
|
|
777
|
+
|
|
778
|
+
Local browser for skills. The CLI above is the primary interface for agents and automation.
|
|
779
|
+
|
|
780
|
+
### Keyboard shortcuts
|
|
781
|
+
|
|
782
|
+
| Key | Action |
|
|
783
|
+
| -------------- | ---------------- |
|
|
784
|
+
| `↑/↓` or `j/k` | Navigate list |
|
|
785
|
+
| `Enter` | View details |
|
|
786
|
+
| `d` | Uninstall |
|
|
787
|
+
| `/` | Search / filter |
|
|
788
|
+
| `Esc` | Back / clear |
|
|
789
|
+
| `Tab` | Cycle scope |
|
|
790
|
+
| `s` | Cycle sort |
|
|
791
|
+
| `r` | Refresh |
|
|
792
|
+
| `c` | Configuration |
|
|
793
|
+
| `a` | Audit duplicates |
|
|
794
|
+
| `q` | Quit |
|
|
795
|
+
| `?` | Help |
|
|
864
796
|
|
|
865
797
|
</details>
|
|
866
798
|
|
|
867
799
|
<details>
|
|
868
800
|
<summary><strong>Configuration</strong></summary>
|
|
869
801
|
|
|
870
|
-
On first run,
|
|
802
|
+
On first run, config is created at `~/.config/agent-skill-manager/config.json`:
|
|
871
803
|
|
|
872
804
|
```json
|
|
873
805
|
{
|
|
@@ -887,6 +819,27 @@ On first run, a config file is created at `~/.config/agent-skill-manager/config.
|
|
|
887
819
|
"project": ".codex/skills",
|
|
888
820
|
"enabled": true
|
|
889
821
|
},
|
|
822
|
+
{
|
|
823
|
+
"name": "opencode",
|
|
824
|
+
"label": "OpenCode",
|
|
825
|
+
"global": "~/.config/opencode/skills",
|
|
826
|
+
"project": ".opencode/skills",
|
|
827
|
+
"enabled": true
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"name": "pi",
|
|
831
|
+
"label": "Pi",
|
|
832
|
+
"global": "~/.pi/skills",
|
|
833
|
+
"project": ".pi/skills",
|
|
834
|
+
"enabled": true
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"name": "hermes",
|
|
838
|
+
"label": "Hermes",
|
|
839
|
+
"global": "~/.hermes/skills",
|
|
840
|
+
"project": ".hermes/skills",
|
|
841
|
+
"enabled": true
|
|
842
|
+
},
|
|
890
843
|
{
|
|
891
844
|
"name": "openclaw",
|
|
892
845
|
"label": "OpenClaw",
|
|
@@ -906,91 +859,84 @@ On first run, a config file is created at `~/.config/agent-skill-manager/config.
|
|
|
906
859
|
"label": "Cursor",
|
|
907
860
|
"global": "~/.cursor/rules",
|
|
908
861
|
"project": ".cursor/rules",
|
|
909
|
-
"enabled":
|
|
862
|
+
"enabled": true
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"name": "copilot",
|
|
866
|
+
"label": "GitHub Copilot",
|
|
867
|
+
"global": "~/.github/instructions",
|
|
868
|
+
"project": ".github/instructions",
|
|
869
|
+
"enabled": true
|
|
910
870
|
},
|
|
911
871
|
{
|
|
912
872
|
"name": "windsurf",
|
|
913
873
|
"label": "Windsurf",
|
|
914
874
|
"global": "~/.windsurf/rules",
|
|
915
875
|
"project": ".windsurf/rules",
|
|
916
|
-
"enabled":
|
|
876
|
+
"enabled": true
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
"name": "antigravity",
|
|
880
|
+
"label": "Google Antigravity",
|
|
881
|
+
"global": "~/.antigravity/skills",
|
|
882
|
+
"project": ".antigravity/skills",
|
|
883
|
+
"enabled": true
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"name": "gemini",
|
|
887
|
+
"label": "Gemini CLI",
|
|
888
|
+
"global": "~/.gemini/skills",
|
|
889
|
+
"project": ".gemini/skills",
|
|
890
|
+
"enabled": true
|
|
917
891
|
},
|
|
918
892
|
{
|
|
919
893
|
"name": "cline",
|
|
920
894
|
"label": "Cline",
|
|
921
895
|
"global": "~/Documents/Cline/Rules",
|
|
922
896
|
"project": ".clinerules",
|
|
923
|
-
"enabled":
|
|
897
|
+
"enabled": true
|
|
924
898
|
},
|
|
925
899
|
{
|
|
926
900
|
"name": "roocode",
|
|
927
901
|
"label": "Roo Code",
|
|
928
902
|
"global": "~/.roo/rules",
|
|
929
903
|
"project": ".roo/rules",
|
|
930
|
-
"enabled":
|
|
904
|
+
"enabled": true
|
|
931
905
|
},
|
|
932
906
|
{
|
|
933
907
|
"name": "continue",
|
|
934
908
|
"label": "Continue",
|
|
935
909
|
"global": "~/.continue/rules",
|
|
936
910
|
"project": ".continue/rules",
|
|
937
|
-
"enabled":
|
|
938
|
-
},
|
|
939
|
-
{
|
|
940
|
-
"name": "copilot",
|
|
941
|
-
"label": "GitHub Copilot",
|
|
942
|
-
"global": "~/.github/instructions",
|
|
943
|
-
"project": ".github/instructions",
|
|
944
|
-
"enabled": false
|
|
911
|
+
"enabled": true
|
|
945
912
|
},
|
|
946
913
|
{
|
|
947
914
|
"name": "aider",
|
|
948
915
|
"label": "Aider",
|
|
949
916
|
"global": "~/.aider/skills",
|
|
950
917
|
"project": ".aider/skills",
|
|
951
|
-
"enabled":
|
|
952
|
-
},
|
|
953
|
-
{
|
|
954
|
-
"name": "opencode",
|
|
955
|
-
"label": "OpenCode",
|
|
956
|
-
"global": "~/.config/opencode/skills",
|
|
957
|
-
"project": ".opencode/skills",
|
|
958
|
-
"enabled": false
|
|
918
|
+
"enabled": true
|
|
959
919
|
},
|
|
960
920
|
{
|
|
961
921
|
"name": "zed",
|
|
962
922
|
"label": "Zed",
|
|
963
923
|
"global": "~/.config/zed/prompt_overrides",
|
|
964
924
|
"project": ".zed/rules",
|
|
965
|
-
"enabled":
|
|
925
|
+
"enabled": true
|
|
966
926
|
},
|
|
967
927
|
{
|
|
968
928
|
"name": "augment",
|
|
969
929
|
"label": "Augment",
|
|
970
930
|
"global": "~/.augment/rules",
|
|
971
931
|
"project": ".augment/rules",
|
|
972
|
-
"enabled":
|
|
932
|
+
"enabled": true
|
|
973
933
|
},
|
|
974
934
|
{
|
|
975
935
|
"name": "amp",
|
|
976
936
|
"label": "Amp",
|
|
977
937
|
"global": "~/.amp/skills",
|
|
978
938
|
"project": ".amp/skills",
|
|
979
|
-
"enabled":
|
|
980
|
-
},
|
|
981
|
-
{
|
|
982
|
-
"name": "gemini",
|
|
983
|
-
"label": "Gemini CLI",
|
|
984
|
-
"global": "~/.gemini/skills",
|
|
985
|
-
"project": ".gemini/skills",
|
|
986
|
-
"enabled": false
|
|
987
|
-
},
|
|
988
|
-
{
|
|
989
|
-
"name": "antigravity",
|
|
990
|
-
"label": "Google Antigravity",
|
|
991
|
-
"global": "~/.antigravity/skills",
|
|
992
|
-
"project": ".antigravity/skills",
|
|
993
|
-
"enabled": false
|
|
939
|
+
"enabled": true
|
|
994
940
|
}
|
|
995
941
|
],
|
|
996
942
|
"customPaths": [],
|
|
@@ -1001,26 +947,22 @@ On first run, a config file is created at `~/.config/agent-skill-manager/config.
|
|
|
1001
947
|
}
|
|
1002
948
|
```
|
|
1003
949
|
|
|
1004
|
-
-
|
|
1005
|
-
-
|
|
1006
|
-
-
|
|
1007
|
-
-
|
|
1008
|
-
|
|
1009
|
-
Manage config from the CLI (`asm config show|path|reset|edit`) or toggle providers in the TUI by pressing `c`.
|
|
950
|
+
- All 19 providers are enabled by default
|
|
951
|
+
- Set `"enabled": false` to skip a provider you don't use
|
|
952
|
+
- Add arbitrary directories via `customPaths`
|
|
953
|
+
- Manage via `asm config show|path|reset|edit` or press `c` in the TUI
|
|
1010
954
|
|
|
1011
955
|
</details>
|
|
1012
956
|
|
|
1013
957
|
<details>
|
|
1014
|
-
<summary><strong>SKILL.md
|
|
958
|
+
<summary><strong>SKILL.md format</strong></summary>
|
|
1015
959
|
|
|
1016
|
-
Every skill is a directory
|
|
1017
|
-
|
|
1018
|
-
### Frontmatter
|
|
960
|
+
Every skill is a directory with a `SKILL.md` file — YAML frontmatter plus markdown instructions.
|
|
1019
961
|
|
|
1020
962
|
```yaml
|
|
1021
963
|
---
|
|
1022
964
|
name: my-skill
|
|
1023
|
-
description: "
|
|
965
|
+
description: "What this skill does"
|
|
1024
966
|
license: "MIT"
|
|
1025
967
|
compatibility: "Claude Code, Codex"
|
|
1026
968
|
allowed-tools: Bash Read Grep Glob WebFetch
|
|
@@ -1031,47 +973,21 @@ metadata:
|
|
|
1031
973
|
---
|
|
1032
974
|
```
|
|
1033
975
|
|
|
1034
|
-
| Field | Required | Description
|
|
1035
|
-
| ------------------ |
|
|
1036
|
-
| `name` |
|
|
1037
|
-
| `description` |
|
|
1038
|
-
| `license` |
|
|
1039
|
-
| `compatibility` |
|
|
1040
|
-
| `allowed-tools` |
|
|
1041
|
-
| `effort` |
|
|
1042
|
-
| `metadata.version` |
|
|
1043
|
-
| `metadata.creator` |
|
|
1044
|
-
|
|
1045
|
-
> **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.
|
|
1046
|
-
|
|
1047
|
-
### Body
|
|
1048
|
-
|
|
1049
|
-
The markdown body after the frontmatter is loaded by the AI agent as the skill's instructions. A typical structure:
|
|
1050
|
-
|
|
1051
|
-
```markdown
|
|
1052
|
-
# my-skill
|
|
1053
|
-
|
|
1054
|
-
Describe what this skill does here.
|
|
1055
|
-
|
|
1056
|
-
## When to Use
|
|
1057
|
-
|
|
1058
|
-
- Trigger conditions for this skill
|
|
1059
|
-
|
|
1060
|
-
## Instructions
|
|
1061
|
-
|
|
1062
|
-
- Step-by-step instructions for the agent
|
|
1063
|
-
```
|
|
1064
|
-
|
|
1065
|
-
### Scaffold a new skill
|
|
1066
|
-
|
|
1067
|
-
Creates `my-skill/SKILL.md` in the default provider:
|
|
976
|
+
| Field | Required | Description |
|
|
977
|
+
| ------------------ | -------- | ------------------------------ |
|
|
978
|
+
| `name` | yes | Unique identifier |
|
|
979
|
+
| `description` | yes | One-line summary |
|
|
980
|
+
| `license` | no | SPDX identifier |
|
|
981
|
+
| `compatibility` | no | Compatible agents |
|
|
982
|
+
| `allowed-tools` | no | Tools the skill uses |
|
|
983
|
+
| `effort` | no | `low`, `medium`, `high`, `max` |
|
|
984
|
+
| `metadata.version` | no | Semver (default `0.0.0`) |
|
|
985
|
+
| `metadata.creator` | no | Author |
|
|
1068
986
|
|
|
1069
987
|
```bash
|
|
1070
988
|
asm init my-skill
|
|
1071
989
|
```
|
|
1072
990
|
|
|
1073
|
-
Creates in Claude Code's skill directory:
|
|
1074
|
-
|
|
1075
991
|
```bash
|
|
1076
992
|
asm init my-skill -p claude
|
|
1077
993
|
```
|
|
@@ -1079,159 +995,117 @@ asm init my-skill -p claude
|
|
|
1079
995
|
</details>
|
|
1080
996
|
|
|
1081
997
|
<details>
|
|
1082
|
-
<summary><strong>From
|
|
998
|
+
<summary><strong>From source</strong></summary>
|
|
1083
999
|
|
|
1084
1000
|
```bash
|
|
1085
|
-
git clone https://github.com/luongnv89/
|
|
1086
|
-
cd
|
|
1001
|
+
git clone https://github.com/luongnv89/asm.git
|
|
1002
|
+
cd asm
|
|
1087
1003
|
npm install
|
|
1088
1004
|
```
|
|
1089
1005
|
|
|
1090
|
-
Bundle to `dist/`:
|
|
1091
|
-
|
|
1092
1006
|
```bash
|
|
1093
1007
|
npm run build
|
|
1094
1008
|
```
|
|
1095
1009
|
|
|
1096
|
-
Run from source (development):
|
|
1097
|
-
|
|
1098
1010
|
```bash
|
|
1099
1011
|
npm start
|
|
1100
1012
|
```
|
|
1101
1013
|
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
Download and inspect the install script before running:
|
|
1105
|
-
|
|
1106
|
-
```bash
|
|
1107
|
-
curl -sSL https://raw.githubusercontent.com/luongnv89/agent-skill-manager/main/install.sh -o install.sh
|
|
1108
|
-
```
|
|
1014
|
+
Inspect install script before running:
|
|
1109
1015
|
|
|
1110
1016
|
```bash
|
|
1017
|
+
curl -sSL https://raw.githubusercontent.com/luongnv89/asm/main/install.sh -o install.sh
|
|
1111
1018
|
less install.sh
|
|
1112
|
-
```
|
|
1113
|
-
|
|
1114
|
-
```bash
|
|
1115
1019
|
bash install.sh
|
|
1116
1020
|
```
|
|
1117
1021
|
|
|
1118
1022
|
</details>
|
|
1119
1023
|
|
|
1120
1024
|
<details>
|
|
1121
|
-
<summary><strong>Project
|
|
1025
|
+
<summary><strong>Project structure</strong></summary>
|
|
1122
1026
|
|
|
1123
1027
|
```text
|
|
1124
|
-
|
|
1125
|
-
├── bin/ # CLI entry point
|
|
1126
|
-
|
|
1127
|
-
├──
|
|
1128
|
-
│ └── agent-skill-manager.js
|
|
1129
|
-
├── scripts/
|
|
1130
|
-
│ └── build.ts # Build script with version injection
|
|
1028
|
+
asm/
|
|
1029
|
+
├── bin/ # CLI entry point
|
|
1030
|
+
├── dist/ # Built bundle (npm ships this)
|
|
1031
|
+
├── scripts/ # Build, preindex, catalog
|
|
1131
1032
|
├── src/
|
|
1132
|
-
│ ├── index.tsx # TUI
|
|
1133
|
-
│ ├── cli.ts # CLI
|
|
1134
|
-
│ ├──
|
|
1135
|
-
│ ├──
|
|
1136
|
-
│
|
|
1137
|
-
│ ├── installer.ts # GitHub skill installation pipeline
|
|
1138
|
-
│ ├── uninstaller.ts # Safe skill removal logic
|
|
1139
|
-
│ ├── formatter.ts # Output formatting (tables, detail, JSON)
|
|
1140
|
-
│ ├── utils/
|
|
1141
|
-
│ │ ├── types.ts # Shared TypeScript types
|
|
1142
|
-
│ │ ├── colors.ts # TUI color palette
|
|
1143
|
-
│ │ ├── version.ts # Version constant
|
|
1144
|
-
│ │ ├── frontmatter.ts # SKILL.md frontmatter parser
|
|
1145
|
-
│ │ └── editor.ts # $EDITOR command parser
|
|
1146
|
-
│ └── views/
|
|
1147
|
-
│ ├── dashboard.tsx # Main dashboard layout
|
|
1148
|
-
│ ├── skill-list.tsx # Scrollable skill list
|
|
1149
|
-
│ ├── skill-detail.tsx # Skill detail view
|
|
1150
|
-
│ ├── confirm.tsx # Uninstall confirmation dialog
|
|
1151
|
-
│ ├── duplicates.tsx # Duplicate audit view
|
|
1152
|
-
│ ├── config.tsx # In-TUI config editor
|
|
1153
|
-
│ └── help.tsx # Help view
|
|
1033
|
+
│ ├── index.tsx # TUI (ink)
|
|
1034
|
+
│ ├── cli.ts # CLI dispatcher
|
|
1035
|
+
│ ├── scanner.ts # Skill discovery
|
|
1036
|
+
│ ├── installer.ts # GitHub install pipeline
|
|
1037
|
+
│ └── views/ # TUI views
|
|
1154
1038
|
├── docs/ # Extended documentation
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
│ ├── CHANGELOG.md # Version history
|
|
1159
|
-
│ └── brand_kit.md # Logo, colors, typography
|
|
1160
|
-
├── assets/
|
|
1161
|
-
│ ├── logo/ # SVG logos (full, mark, wordmark, icon, favicon)
|
|
1162
|
-
│ └── screenshots/ # TUI screenshots
|
|
1163
|
-
├── install.sh # One-command installer (curl | bash)
|
|
1164
|
-
├── package.json
|
|
1165
|
-
├── tsconfig.json
|
|
1166
|
-
└── README.md
|
|
1039
|
+
├── assets/ # Logos and screenshots
|
|
1040
|
+
├── install.sh # curl installer
|
|
1041
|
+
└── package.json
|
|
1167
1042
|
```
|
|
1168
1043
|
|
|
1169
1044
|
</details>
|
|
1170
1045
|
|
|
1171
1046
|
<details>
|
|
1172
|
-
<summary><strong>Tech
|
|
1047
|
+
<summary><strong>Tech stack</strong></summary>
|
|
1173
1048
|
|
|
1174
|
-
- **Runtime:** Node.js
|
|
1175
|
-
- **Language:** TypeScript + TSX
|
|
1176
|
-
- **Build:** esbuild
|
|
1177
|
-
- **TUI
|
|
1178
|
-
- **Testing:** Vitest
|
|
1049
|
+
- **Runtime:** Node.js 22+
|
|
1050
|
+
- **Language:** TypeScript + TSX
|
|
1051
|
+
- **Build:** esbuild
|
|
1052
|
+
- **TUI:** [Ink](https://github.com/vadimdemedes/ink) + [@inkjs/ui](https://github.com/vadimdemedes/ink-ui)
|
|
1053
|
+
- **Testing:** Vitest
|
|
1179
1054
|
- **CI:** GitHub Actions + pre-commit hooks
|
|
1180
1055
|
|
|
1181
1056
|
</details>
|
|
1182
1057
|
|
|
1183
|
-
<details>
|
|
1058
|
+
<details id="documentation">
|
|
1184
1059
|
<summary><strong>Documentation</strong></summary>
|
|
1185
1060
|
|
|
1186
|
-
| Document | Description
|
|
1187
|
-
| ---------------------------------------- |
|
|
1188
|
-
| [Architecture](docs/ARCHITECTURE.md) | System design
|
|
1189
|
-
| [Eval Providers](docs/eval-providers.md) | Pluggable eval framework
|
|
1190
|
-
| [Development](docs/DEVELOPMENT.md) | Local setup
|
|
1191
|
-
| [Deployment](docs/DEPLOYMENT.md) | Publishing and CI
|
|
1192
|
-
| [Changelog](docs/CHANGELOG.md) | Version history
|
|
1193
|
-
| [Brand Kit](docs/brand_kit.md) | Logo, colors,
|
|
1194
|
-
| [Contributing](CONTRIBUTING.md) | How to contribute
|
|
1195
|
-
| [Security](SECURITY.md) | Vulnerability reporting
|
|
1196
|
-
| [Code of Conduct](CODE_OF_CONDUCT.md) | Community guidelines
|
|
1061
|
+
| Document | Description |
|
|
1062
|
+
| ---------------------------------------- | --------------------------- |
|
|
1063
|
+
| [Architecture](docs/ARCHITECTURE.md) | System design and data flow |
|
|
1064
|
+
| [Eval Providers](docs/eval-providers.md) | Pluggable eval framework |
|
|
1065
|
+
| [Development](docs/DEVELOPMENT.md) | Local setup and debugging |
|
|
1066
|
+
| [Deployment](docs/DEPLOYMENT.md) | Publishing and CI |
|
|
1067
|
+
| [Changelog](docs/CHANGELOG.md) | Version history |
|
|
1068
|
+
| [Brand Kit](docs/brand_kit.md) | Logo, colors, typography |
|
|
1069
|
+
| [Contributing](CONTRIBUTING.md) | How to contribute |
|
|
1070
|
+
| [Security](SECURITY.md) | Vulnerability reporting |
|
|
1071
|
+
| [Code of Conduct](CODE_OF_CONDUCT.md) | Community guidelines |
|
|
1072
|
+
|
|
1073
|
+
**Landing page:** [luongnv.com/asm](https://luongnv.com/asm/) — catalog, bundles, author/repo stats, filtered search.
|
|
1197
1074
|
|
|
1198
1075
|
</details>
|
|
1199
1076
|
|
|
1200
1077
|
---
|
|
1201
1078
|
|
|
1202
|
-
<!-- NOTE:
|
|
1203
|
-
When updating contributors or dependencies, edit that JSON file first, then sync this section and website/index.html. -->
|
|
1079
|
+
<!-- NOTE: Single source of truth for acknowledgements is website/data/acknowledgements.json -->
|
|
1204
1080
|
|
|
1205
1081
|
## Acknowledgements
|
|
1206
1082
|
|
|
1207
1083
|
### Contributors
|
|
1208
1084
|
|
|
1209
|
-
| Contributor | PRs
|
|
1210
|
-
| ------------------------------------------ |
|
|
1211
|
-
| [@luongnv89](https://github.com/luongnv89) | [38 merged PRs](https://github.com/luongnv89/
|
|
1212
|
-
| [@Mordris](https://github.com/Mordris) | [#111](https://github.com/luongnv89/
|
|
1085
|
+
| Contributor | PRs |
|
|
1086
|
+
| ------------------------------------------ | ------------------------------------------------------------------------------------------------ |
|
|
1087
|
+
| [@luongnv89](https://github.com/luongnv89) | [38 merged PRs](https://github.com/luongnv89/asm/pulls?q=is%3Apr+is%3Amerged+author%3Aluongnv89) |
|
|
1088
|
+
| [@Mordris](https://github.com/Mordris) | [#111](https://github.com/luongnv89/asm/pull/111) |
|
|
1213
1089
|
|
|
1214
1090
|
### Dependencies
|
|
1215
1091
|
|
|
1216
|
-
| Library | Description
|
|
1217
|
-
| ------------------------------------------------------- |
|
|
1218
|
-
| [ink](https://github.com/vadimdemedes/ink) | React renderer for
|
|
1219
|
-
| [@inkjs/ui](https://github.com/vadimdemedes/ink-ui) | Prebuilt ink components
|
|
1220
|
-
| [react](https://github.com/facebook/react) | UI
|
|
1221
|
-
| [react-dom](https://github.com/facebook/react) |
|
|
1222
|
-
| [react-window](https://github.com/bvaughn/react-window) |
|
|
1223
|
-
| [yaml](https://github.com/eemeli/yaml) |
|
|
1224
|
-
|
|
1225
|
-
---
|
|
1092
|
+
| Library | Description |
|
|
1093
|
+
| ------------------------------------------------------- | ------------------------------- |
|
|
1094
|
+
| [ink](https://github.com/vadimdemedes/ink) | React renderer for the TUI |
|
|
1095
|
+
| [@inkjs/ui](https://github.com/vadimdemedes/ink-ui) | Prebuilt ink components |
|
|
1096
|
+
| [react](https://github.com/facebook/react) | UI for TUI and web catalog |
|
|
1097
|
+
| [react-dom](https://github.com/facebook/react) | DOM renderer for catalog |
|
|
1098
|
+
| [react-window](https://github.com/bvaughn/react-window) | List virtualization for catalog |
|
|
1099
|
+
| [yaml](https://github.com/eemeli/yaml) | SKILL.md frontmatter parser |
|
|
1226
1100
|
|
|
1227
1101
|
## Roadmap
|
|
1228
1102
|
|
|
1229
|
-
|
|
1103
|
+
[Project kanban](https://github.com/users/luongnv89/projects/6) · [prd.md](prd.md) · [tasks.md](tasks.md)
|
|
1230
1104
|
|
|
1231
1105
|
## Contributing
|
|
1232
1106
|
|
|
1233
|
-
|
|
1107
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
1234
1108
|
|
|
1235
1109
|
## License
|
|
1236
1110
|
|
|
1237
|
-
[MIT](LICENSE)
|
|
1111
|
+
[MIT](LICENSE)
|