agent-skill-manager 1.19.0 → 1.20.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 CHANGED
@@ -61,7 +61,7 @@ The more AI agents you use, the worse this gets. Every new tool adds another ski
61
61
  - **See everything at once** — List, search, and filter skills across all providers and scopes from one dashboard. No more `ls`-ing through hidden directories.
62
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
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 and test skills locally** — Scaffold new skills with `asm init`, symlink them for live development with `asm link`, audit for security issues, and verify metadata all before publishing. [See the full local dev workflow ↓](#build-test-and-ship-your-own-skills)
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
65
  - **Works with every major agent** — 17 providers built-in: Claude Code, Codex, OpenClaw, Cursor, Windsurf, Cline, Roo Code, Continue, GitHub Copilot, Aider, OpenCode, Zed, Augment, Amp, Gemini CLI, Google Antigravity, and a generic Agents provider. Add custom providers in seconds via config.
66
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.
67
67
 
@@ -116,19 +116,49 @@ This creates a `my-skill/SKILL.md` with valid YAML frontmatter and a markdown te
116
116
 
117
117
  ### 2. Develop with live reload via symlink
118
118
 
119
- Symlink into Claude Code's skill directory:
119
+ `asm link` creates a symlink from your local skill directory into an agent's skill folder. Because it's a symlink, every edit you make to the source is immediately visible to the agent — no reinstall needed.
120
+
121
+ #### Target a specific tool
120
122
 
121
123
  ```bash
124
+ # Link into Claude Code
122
125
  asm link ./my-skill -p claude
126
+
127
+ # Link into Codex
128
+ asm link ./my-skill -p codex
129
+
130
+ # Interactive — pick the tool from a prompt
131
+ asm link ./my-skill
123
132
  ```
124
133
 
125
- Or into Codex, or any other tool:
134
+ #### Link multiple skills at once
135
+
136
+ Pass several paths in a single command to link them all in one step:
126
137
 
127
138
  ```bash
128
- asm link ./my-skill -p codex
139
+ asm link ./skill-a ./skill-b ./skill-c -p claude
140
+ ```
141
+
142
+ You can also point at a folder that contains multiple skills (each in its own subdirectory with a `SKILL.md`):
143
+
144
+ ```bash
145
+ # Link every skill found inside ./my-skills-folder
146
+ asm link ./my-skills-folder -p claude
147
+ ```
148
+
149
+ #### Override the symlink name
150
+
151
+ ```bash
152
+ asm link ./my-skill --name my-alias -p claude
153
+ ```
154
+
155
+ #### Force-overwrite an existing symlink
156
+
157
+ ```bash
158
+ asm link ./my-skill -p claude --force
129
159
  ```
130
160
 
131
- Edit the source files — changes are reflected immediately in the agent. No reinstall needed. This is the fastest iteration loop for skill development.
161
+ Edit the source files — changes are reflected immediately in the agent. This is the fastest iteration loop for skill development.
132
162
 
133
163
  ### 3. Audit your skill for security issues
134
164
 
@@ -202,6 +232,41 @@ asm install github:you/awesome-skill -p claude --yes --json
202
232
 
203
233
  This catches issues that local development misses — broken repo structure, missing files, invalid frontmatter in a clean install context.
204
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
+ ```bash
240
+ asm publish ./my-skill
241
+ ```
242
+
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
+ ```bash
246
+ # Anyone can install it by name — no URL needed
247
+ asm install my-skill
248
+ ```
249
+
250
+ Preview what the manifest will look like before submitting:
251
+
252
+ ```bash
253
+ asm publish --dry-run ./my-skill
254
+ ```
255
+
256
+ Override security warnings (caution: review findings first):
257
+
258
+ ```bash
259
+ asm publish --force ./my-skill
260
+ ```
261
+
262
+ Skip confirmation in CI:
263
+
264
+ ```bash
265
+ asm publish --yes ./my-skill
266
+ ```
267
+
268
+ > **Requires:** [`gh` CLI](https://cli.github.com) authenticated with `gh auth login`. The publish command uses `gh` to fork the registry, create a branch, write the manifest, and open the PR — all without leaving your terminal.
269
+
205
270
  ### Typical local development workflow
206
271
 
207
272
  1. **Scaffold** — `asm init awesome-skill -p claude`
@@ -212,6 +277,7 @@ This catches issues that local development misses — broken repo structure, mis
212
277
  6. **Verify metadata** — `asm inspect awesome-skill`
213
278
  7. Push to GitHub
214
279
  8. **Verify install flow** — `asm install github:you/awesome-skill`
280
+ 9. **Publish to registry** — `asm publish ./awesome-skill`
215
281
 
216
282
  Whether you're building skills for yourself or publishing them for the community, `asm` gives you the full create → develop → audit → ship pipeline in one tool.
217
283
 
@@ -253,6 +319,60 @@ Each indexed skill in the output JSON includes `"verified": true` or `"verified"
253
319
 
254
320
  ---
255
321
 
322
+ ## ASM Registry — Install and Publish Skills by Name
323
+
324
+ The [ASM Registry](https://github.com/luongnv89/asm-registry) is the curated index of community-published skills. Once a skill is listed, anyone can install it by name — no GitHub URL needed.
325
+
326
+ ### Install from the registry
327
+
328
+ ```bash
329
+ # Install by bare name (searches the registry)
330
+ asm install code-review
331
+
332
+ # Install by scoped name (author/skill — always unambiguous)
333
+ asm install luongnv89/code-review
334
+
335
+ # Force a fresh registry fetch (bypasses the 1-hour cache)
336
+ asm install code-review --no-cache
337
+ ```
338
+
339
+ `asm install` resolves the name against the registry index, downloads the manifest, clones the exact pinned commit, and installs the skill to your agent.
340
+
341
+ ### Publish your skill to the registry
342
+
343
+ ```bash
344
+ asm publish ./my-skill
345
+ ```
346
+
347
+ The publish pipeline:
348
+
349
+ 1. **Validates** your `SKILL.md` frontmatter (name, description, version)
350
+ 2. **Security audit** — blocks dangerous skills automatically; warns on risky patterns
351
+ 3. **Generates a manifest** with the current commit SHA and a `skill_path` for multi-skill repos
352
+ 4. **Opens a PR** against [luongnv89/asm-registry](https://github.com/luongnv89/asm-registry) via the `gh` CLI
353
+
354
+ 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.
355
+
356
+ | Flag | Description |
357
+ | ----------- | ------------------------------------------ |
358
+ | `--dry-run` | Preview the manifest without creating a PR |
359
+ | `--force` | Override warning-level security findings |
360
+ | `--yes` | Skip the confirmation prompt |
361
+ | `--machine` | Output as a machine-readable JSON envelope |
362
+
363
+ ### How registry resolution works
364
+
365
+ When you run `asm install code-review`:
366
+
367
+ 1. `asm` fetches the registry index (cached for 1 hour at `~/.config/agent-skill-manager/registry-cache.json`)
368
+ 2. Finds the manifest for `code-review` — including the pinned `commit` and `skill_path`
369
+ 3. Clones the repository at that exact commit and navigates to the skill subdirectory
370
+ 4. Installs as if you had run `asm install github:author/repo#commit:skill_path`
371
+
372
+ If multiple authors publish a skill with the same name, `asm` shows a disambiguation prompt. Use a scoped name (`author/skill`) to skip it.
373
+
374
+ ---
375
+
256
376
  ## Get Started in 30 Seconds
257
377
 
258
378
  ### npm (recommended)
@@ -361,7 +481,7 @@ Need a tool not listed? Add a custom provider entry to the config.
361
481
  Yes. `asm` is MIT licensed and free forever. No accounts, no telemetry, no paywalls.
362
482
 
363
483
  **Is it actively maintained?**
364
- v1.19.0 shipped on March 28, 2026. The project has had 28 releases. Check the [changelog](docs/CHANGELOG.md) for the full history.
484
+ v1.20.0 shipped on April 12, 2026. The project has had 29 releases. Check the [changelog](docs/CHANGELOG.md) for the full history.
365
485
 
366
486
  **Which AI agents does it support?**
367
487
  17 providers built-in: Claude Code, Codex, OpenClaw, Cursor, Windsurf, Cline, Roo Code, Continue, GitHub Copilot, Aider, OpenCode, Zed, Augment, Amp, Gemini CLI, Google Antigravity, and a generic Agents provider. All 17 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.
@@ -413,27 +533,28 @@ asm
413
533
 
414
534
  ### Commands
415
535
 
416
- | Command | Description |
417
- | ------------------------------- | ------------------------------------------- |
418
- | `asm list` | List all discovered skills |
419
- | `asm search <query>` | Search by name/description/provider |
420
- | `asm inspect <skill-name>` | Show detailed info for a skill |
421
- | `asm install <source>` | Install a skill from GitHub |
422
- | `asm uninstall <skill-name>` | Remove a skill (with confirmation) |
423
- | `asm init <name>` | Scaffold a new skill with SKILL.md template |
424
- | `asm link <path>` | Symlink a local skill for live development |
425
- | `asm audit` | Detect duplicate skills |
426
- | `asm audit security <name>` | Run security audit on a skill |
427
- | `asm stats` | Show aggregate skill metrics dashboard |
428
- | `asm export` | Export skill inventory as JSON manifest |
429
- | `asm index ingest <repo>` | Index a skill repo for searching |
430
- | `asm index search <query>` | Search indexed skills |
431
- | `asm index list` | List indexed repositories |
432
- | `asm index remove <owner/repo>` | Remove a repo from the index |
433
- | `asm config show` | Print current config |
434
- | `asm config path` | Print config file path |
435
- | `asm config reset` | Reset config to defaults |
436
- | `asm config edit` | Open config in $EDITOR |
536
+ | Command | Description |
537
+ | ------------------------------- | ----------------------------------------------------- |
538
+ | `asm list` | List all discovered skills |
539
+ | `asm search <query>` | Search by name/description/provider |
540
+ | `asm inspect <skill-name>` | Show detailed info for a skill |
541
+ | `asm install <source>` | Install a skill from GitHub or the registry |
542
+ | `asm publish [path]` | Publish a skill to the ASM Registry |
543
+ | `asm uninstall <skill-name>` | Remove a skill (with confirmation) |
544
+ | `asm init <name>` | Scaffold a new skill with SKILL.md template |
545
+ | `asm link <path> [<path2> ...]` | Symlink one or more local skills for live development |
546
+ | `asm audit` | Detect duplicate skills |
547
+ | `asm audit security <name>` | Run security audit on a skill |
548
+ | `asm stats` | Show aggregate skill metrics dashboard |
549
+ | `asm export` | Export skill inventory as JSON manifest |
550
+ | `asm index ingest <repo>` | Index a skill repo for searching |
551
+ | `asm index search <query>` | Search indexed skills |
552
+ | `asm index list` | List indexed repositories |
553
+ | `asm index remove <owner/repo>` | Remove a repo from the index |
554
+ | `asm config show` | Print current config |
555
+ | `asm config path` | Print config file path |
556
+ | `asm config reset` | Reset config to defaults |
557
+ | `asm config edit` | Open config in $EDITOR |
437
558
 
438
559
  ### Global Options
439
560
 
@@ -492,7 +613,11 @@ asm init my-skill -p claude
492
613
  ```
493
614
 
494
615
  ```bash
616
+ # Link globally (available in all projects)
495
617
  asm link ./my-skill -p claude
618
+
619
+ # Link multiple skills at once
620
+ asm link ./skill-a ./skill-b -p claude
496
621
  ```
497
622
 
498
623
  ```bash