agent-skill-manager 1.20.0 → 1.21.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
@@ -62,7 +62,7 @@ The more AI agents you use, the worse this gets. Every new tool adds another ski
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
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** — 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.
65
+ - **Works with every major agent** — 18 providers built-in: Claude Code, Codex, OpenClaw, Cursor, Windsurf, Cline, Roo Code, Continue, GitHub Copilot, Aider, OpenCode, Zed, Augment, Amp, Gemini CLI, Google Antigravity, Hermes, 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
 
68
68
  <p align="center">
@@ -275,9 +275,10 @@ asm publish --yes ./my-skill
275
275
  4. Test with your AI agent
276
276
  5. **Security audit** — `asm audit security awesome-skill`
277
277
  6. **Verify metadata** — `asm inspect awesome-skill`
278
- 7. Push to GitHub
279
- 8. **Verify install flow** — `asm install github:you/awesome-skill`
280
- 9. **Publish to registry** — `asm publish ./awesome-skill`
278
+ 7. **Score quality** — `asm eval ./awesome-skill` (add `--runtime` for skillgrade runtime evals)
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`
281
282
 
282
283
  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.
283
284
 
@@ -317,6 +318,37 @@ asm index search "your-skill" --json
317
318
 
318
319
  Each indexed skill in the output JSON includes `"verified": true` or `"verified": false`. If verification fails, the ingestion debug log (set `ASM_DEBUG=1`) prints the specific reasons.
319
320
 
321
+ ### Runtime Evaluation (`asm eval`)
322
+
323
+ Static verification tells you the SKILL.md is well-formed. `asm eval` goes further and answers two orthogonal questions about any skill on disk:
324
+
325
+ 1. **Is it well-written?** — `quality@1.0.0` ships by default and runs a scored rubric over structure, frontmatter, clarity, and safety.
326
+ 2. **Does it actually work?** — `asm eval --runtime` shells out to [skillgrade](https://github.com/mgechev/skillgrade) for deterministic + LLM-judge runtime evals in a Docker sandbox, with CI-ready exit codes.
327
+
328
+ **Zero-setup install:** skillgrade ships as a direct dependency of `asm`. After `npm install -g agent-skill-manager`, `asm eval --runtime` just works — no `npm i -g skillgrade`, no PATH hijacking. Override with `ASM_SKILLGRADE_BIN=/path/to/skillgrade` if you want to point at a different binary.
329
+
330
+ ```bash
331
+ # Static quality lint (default)
332
+ asm eval ./my-skill
333
+
334
+ # Scaffold eval.yaml for runtime tests
335
+ asm eval ./my-skill --runtime init
336
+
337
+ # Run the skillgrade runtime provider
338
+ asm eval ./my-skill --runtime --preset smoke
339
+
340
+ # CI-friendly JSON
341
+ asm eval ./my-skill --runtime --machine --threshold 0.8
342
+
343
+ # List registered eval providers
344
+ asm eval-providers list
345
+
346
+ # Diff two provider versions before promoting an upgrade
347
+ asm eval ./my-skill --compare skillgrade@1.0.0,skillgrade@2.0.0-next
348
+ ```
349
+
350
+ The eval surface is a pluggable provider framework: each provider implements a common `EvalProvider` contract and resolves via semver range, so you can pin a version in `~/.asm/config.yml`, diff two versions side-by-side with `--compare`, and add new providers without touching the CLI. See [`docs/eval-providers.md`](./docs/eval-providers.md) for the provider model and [`docs/skillgrade-integration.md`](./docs/skillgrade-integration.md) for skillgrade install, presets, and CI usage.
351
+
320
352
  ---
321
353
 
322
354
  ## ASM Registry — Install and Publish Skills by Name
@@ -443,7 +475,7 @@ asm install github:anthropics/skills --all
443
475
 
444
476
  ## Supported Agent Tools
445
477
 
446
- `asm` ships with **17 built-in providers**, all enabled by default. Disable any you don't need via `asm config edit`.
478
+ `asm` ships with **18 built-in providers**, all enabled by default. Disable any you don't need via `asm config edit`.
447
479
 
448
480
  | Tool | Global Path | Project Path | Default |
449
481
  | ------------------ | --------------------------------- | ----------------------- | :-----: |
@@ -464,6 +496,7 @@ asm install github:anthropics/skills --all
464
496
  | Amp | `~/.amp/skills/` | `.amp/skills/` | enabled |
465
497
  | Gemini CLI | `~/.gemini/skills/` | `.gemini/skills/` | enabled |
466
498
  | Google Antigravity | `~/.antigravity/skills/` | `.antigravity/skills/` | enabled |
499
+ | Hermes | `~/.hermes/skills/` | `.hermes/skills/` | enabled |
467
500
 
468
501
  Disable a provider — opens config in `$EDITOR`, set `"enabled": false` for any provider:
469
502
 
@@ -481,10 +514,10 @@ Need a tool not listed? Add a custom provider entry to the config.
481
514
  Yes. `asm` is MIT licensed and free forever. No accounts, no telemetry, no paywalls.
482
515
 
483
516
  **Is it actively maintained?**
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.
517
+ v1.21.0 shipped on April 19, 2026. The project has had 30 releases. Check the [changelog](docs/CHANGELOG.md) for the full history.
485
518
 
486
519
  **Which AI agents does it support?**
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.
520
+ 18 providers built-in: Claude Code, Codex, OpenClaw, Cursor, Windsurf, Cline, Roo Code, Continue, GitHub Copilot, Aider, OpenCode, Zed, Augment, Amp, Gemini CLI, Google Antigravity, Hermes, and a generic Agents provider. All 18 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.
488
521
 
489
522
  **How does it compare to managing skills manually?**
490
523
  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.
@@ -545,6 +578,9 @@ asm
545
578
  | `asm link <path> [<path2> ...]` | Symlink one or more local skills for live development |
546
579
  | `asm audit` | Detect duplicate skills |
547
580
  | `asm audit security <name>` | Run security audit on a skill |
581
+ | `asm eval <skill>` | Score a skill via the pluggable eval framework |
582
+ | `asm eval <skill> --runtime` | Runtime evaluation via skillgrade (LLM-judge) |
583
+ | `asm eval-providers list` | List registered eval providers and versions |
548
584
  | `asm stats` | Show aggregate skill metrics dashboard |
549
585
  | `asm export` | Export skill inventory as JSON manifest |
550
586
  | `asm index ingest <repo>` | Index a skill repo for searching |
@@ -606,6 +642,24 @@ Audit all installed skills:
606
642
  asm audit security --all
607
643
  ```
608
644
 
645
+ Score a skill with the static quality provider:
646
+
647
+ ```bash
648
+ asm eval ./my-skill
649
+ ```
650
+
651
+ Run the skillgrade runtime evaluator (requires `skillgrade` on PATH):
652
+
653
+ ```bash
654
+ asm eval ./my-skill --runtime --preset smoke
655
+ ```
656
+
657
+ List registered eval providers:
658
+
659
+ ```bash
660
+ asm eval-providers list
661
+ ```
662
+
609
663
  Scaffold a skill, link it for live testing, audit, and inspect:
610
664
 
611
665
  ```bash
@@ -769,7 +823,7 @@ The install command clones the repository, validates `SKILL.md` files, scans for
769
823
  <details>
770
824
  <summary><strong>Configuration</strong></summary>
771
825
 
772
- On first run, a config file is created at `~/.config/agent-skill-manager/config.json` with 17 default providers, all enabled:
826
+ On first run, a config file is created at `~/.config/agent-skill-manager/config.json` with 18 default providers, all enabled:
773
827
 
774
828
  ```json
775
829
  {
@@ -1085,16 +1139,18 @@ agent-skill-manager/
1085
1139
  <details>
1086
1140
  <summary><strong>Documentation</strong></summary>
1087
1141
 
1088
- | Document | Description |
1089
- | ------------------------------------- | ---------------------------------------- |
1090
- | [Architecture](docs/ARCHITECTURE.md) | System design, components, and data flow |
1091
- | [Development](docs/DEVELOPMENT.md) | Local setup, testing, and debugging |
1092
- | [Deployment](docs/DEPLOYMENT.md) | Publishing and CI pipeline |
1093
- | [Changelog](docs/CHANGELOG.md) | Version history |
1094
- | [Brand Kit](docs/brand_kit.md) | Logo, colors, and typography |
1095
- | [Contributing](CONTRIBUTING.md) | How to contribute |
1096
- | [Security](SECURITY.md) | Vulnerability reporting |
1097
- | [Code of Conduct](CODE_OF_CONDUCT.md) | Community guidelines |
1142
+ | Document | Description |
1143
+ | -------------------------------------------------------- | -------------------------------------------------------- |
1144
+ | [Architecture](docs/ARCHITECTURE.md) | System design, components, and data flow |
1145
+ | [Eval Providers](docs/eval-providers.md) | Pluggable eval framework, `--compare`, adding a provider |
1146
+ | [Skillgrade Integration](docs/skillgrade-integration.md) | Install, presets, CI usage, troubleshooting |
1147
+ | [Development](docs/DEVELOPMENT.md) | Local setup, testing, and debugging |
1148
+ | [Deployment](docs/DEPLOYMENT.md) | Publishing and CI pipeline |
1149
+ | [Changelog](docs/CHANGELOG.md) | Version history |
1150
+ | [Brand Kit](docs/brand_kit.md) | Logo, colors, and typography |
1151
+ | [Contributing](CONTRIBUTING.md) | How to contribute |
1152
+ | [Security](SECURITY.md) | Vulnerability reporting |
1153
+ | [Code of Conduct](CODE_OF_CONDUCT.md) | Community guidelines |
1098
1154
 
1099
1155
  </details>
1100
1156