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.
Get Started · Browse 4,300+ skills · Full docs
| Pain | Without asm |
With asm |
|---|---|---|
| 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 |
| No inventory | ls through hidden dirs; no idea what is installed, duplicated, or outdated |
asm search, asm inspect, asm stats, asm audit |
| Risky manual installs | Clone repos, copy folders, hope SKILL.md is valid |
asm install validates frontmatter, scans security, pins registry commits |
| Agent-unfriendly output | Human-only copy-paste workflows | Structured JSON via --json; skip prompts with --yes |
| New agent, new chore | Every tool adds another skill directory to track | Add or disable providers in one config file |
| Catalog | 4,394 skills from 54 repos — browse online |
| Providers | 19 agents (Claude, Codex, Cursor, Windsurf, Copilot, …) |
| Agent-ready CLI | --json, --yes, --machine on list, search, install, audit, eval |
| Security | Pre-install scan for shell exec, network access, credential exposure |
| License | MIT — no accounts, no telemetry |
graph LR
A[AI agent / script] --> B["asm command --json"]
B --> C[Discover skill dirs]
B --> D[Install / audit / search]
D --> E{Security scan}
E --> F[Validate SKILL.md]
F --> G[Agent provider paths]
H[GitHub / Registry] --> D
- Install
asmonce (npm or curl). - Run commands from your agent, shell, or CI — no prompts when you pass
--yes. - Parse JSON output to decide what to install, remove, or audit next.
| Feature | What you get |
|---|---|
| Cross-provider inventory | asm list --json — every skill, every agent, one response |
| One-command install | asm install github:user/repo or asm install skill-name |
| Agent-parseable output | --json on list, search, inspect, install, audit |
| Duplicate audit | asm audit --yes removes redundant skills non-interactively |
| Security scan | asm audit security before install |
| Authoring pipeline | asm init, asm link, asm eval, asm publish |
| Bundles | asm bundle install — curated sets in one pass |
| Local library | asm install --library — install once, asm activate per provider |
| Cross-tool linking | Reinstall or symlink when a skill already exists in another tool |
Install (npm):
npm install -g agent-skill-managerList installed skills (JSON for agents):
asm list --jsonInstall a skill:
asm install github:anthropics/skills --yesSearch installed and catalog skills:
asm search "code review" --jsonAlternative install: curl -sSL https://raw.githubusercontent.com/luongnv89/agent-skill-manager/main/install.sh | bash
Node.js 18+ required. Optional TUI: run asm with no arguments.
| Task | Command |
|---|---|
| Machine-readable inventory | asm list --json |
| Skill metadata for agents | asm inspect my-skill --json |
| Non-interactive install | asm install code-review -p claude --yes --json |
| Remove duplicates | asm audit --yes |
| Scan before install | asm audit security github:user/repo |
| Scaffold a new skill | asm init my-skill -p claude |
| Live dev via symlink | asm link ./my-skill -p claude |
| Publish to registry | asm publish ./my-skill --yes |
| Install a bundle | asm bundle install frontend-dev --yes |
Full command reference, flags, and examples: CLI Commands. Catalog UI and bundles: luongnv.com/asm.
Is it free? MIT licensed. No accounts or paywalls.
Is this built for AI agents?
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.
Which agents are supported?
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.
What about the TUI?
Run asm with no args for an optional local browser. The CLI is the primary interface for scripts, CI, and agent tool calls.
Private repos?
asm install github:user/repo --transport ssh --yes
SKILL.md format?
A directory with SKILL.md (YAML frontmatter + markdown body). Run asm init my-skill to scaffold one.
npm install -g agent-skill-managerasm list --jsonBrowse catalog · Documentation · Contributing · MIT Licensed
Build, test, and ship skills
asm init my-skillasm init my-skill -p claudeasm init my-skill --path ./skillsasm link ./my-skill -p claudeasm link ./skill-a ./skill-b ./skill-c -p claudeasm link ./my-skills-folder -p claudeasm link ./my-skill --name my-alias -p claude --forceasm audit security my-skillasm audit security ./path/to/my-skillasm audit security --allasm inspect my-skillasm inspect my-skill --jsonasm install github:you/awesome-skillasm install github:you/awesome-skill -p claude --force --yes --jsonasm publish ./my-skillasm publish --dry-run ./my-skillRequires gh CLI authenticated with gh auth login.
asm init awesome-skill -p claude- Edit
SKILL.md asm link ./awesome-skill -p claude- Test with your agent
asm audit security awesome-skillasm inspect awesome-skillasm eval ./awesome-skill- Push to GitHub
asm install github:you/awesome-skillasm publish ./awesome-skill
Skill verification and quality eval
Indexed skills are evaluated automatically. Skills passing all criteria get a verified badge in the catalog.
Verification criteria (all required):
- Valid frontmatter with
nameanddescription - Body content with at least 20 characters of instruction text
- No malicious patterns (
atob(), suspicious base64, hex escapes, hardcoded credentials) - Directory contains a readable
SKILL.md
asm index ingest github:your-user/your-repoasm index search "your-skill" --jsonQuality scoring (asm eval) runs a rubric over structure, clarity, safety, and naming:
asm eval ./my-skillasm eval ./my-skill --machineasm eval ./my-skill --fixasm eval-providers listSee docs/eval-providers.md for the provider model.
ASM Registry
The ASM Registry lists community-published skills. Install by name — no GitHub URL needed.
asm install code-reviewasm install luongnv89/code-reviewasm install code-review --no-cacheasm publish ./my-skill| Flag | Description |
|---|---|
--dry-run |
Preview manifest without creating a PR |
--force |
Override warning-level security findings |
--yes |
Skip confirmation |
--machine |
JSON output |
Resolution flow: fetch index (1-hour cache) → find manifest with pinned commit → clone at exact commit → install.
Open-source skill collections
Over 2,800 skills across curated repositories. Use asm search <term> to discover, then asm install github:owner/repo.
Last updated: 2026-07-07
| Repository | Description | Stars | Skills |
|---|---|---|---|
| anthropic-skills | Official Agent Skills from Anthropic | 95,957 | 18 |
| superpowers | Agentic skills framework | 89,816 | 14 |
| everything-claude-code | Performance optimization for Claude Code, Codex | 81,392 | 183 |
| agency-agents | Specialized expert agents | 50,749 | — |
| ui-ux-pro-max-skill | Design intelligence for UI/UX | 43,112 | 7 |
| antigravity-awesome-skills | 1,000+ skills for Claude Code, Cursor | 25,047 | 1,322 |
| marketingskills | Marketing — CRO, SEO, growth | 14,099 | 33 |
| agentskills | Agent Skills specification | 13,342 | — |
| claude-skills | 192 skills across engineering, marketing | 7,434 | 451 |
| taste-skill | Stops generic AI output | 3,389 | 7 |
| affiliate-skills | Affiliate marketing funnel | 99 | 48 |
| skills | Reusable agent skills | 1 | 35 |
asm install github:anthropics/skillsasm install github:anthropics/skills --allSupported agent tools
19 built-in providers, all enabled by default. Disable via asm config edit.
| Tool | Global Path | Project Path |
|---|---|---|
| Claude Code | ~/.claude/skills/ |
.claude/skills/ |
| Codex | ~/.codex/skills/ |
.codex/skills/ |
| OpenClaw | ~/.openclaw/skills/ |
.openclaw/skills/ |
| Agents (generic) | ~/.agents/skills/ |
.agents/skills/ |
| Cursor | ~/.cursor/rules/ |
.cursor/rules/ |
| Windsurf | ~/.windsurf/rules/ |
.windsurf/rules/ |
| Cline | ~/Documents/Cline/Rules/ |
.clinerules/ |
| Roo Code | ~/.roo/rules/ |
.roo/rules/ |
| Continue | ~/.continue/rules/ |
.continue/rules/ |
| GitHub Copilot | ~/.github/instructions/ |
.github/instructions/ |
| Aider | ~/.aider/skills/ |
.aider/skills/ |
| OpenCode | ~/.config/opencode/skills/ |
.opencode/skills/ |
| Zed | ~/.config/zed/prompt_overrides/ |
.zed/rules/ |
| Augment | ~/.augment/rules/ |
.augment/rules/ |
| Amp | ~/.amp/skills/ |
.amp/skills/ |
| Gemini CLI | ~/.gemini/skills/ |
.gemini/skills/ |
| Google Antigravity | ~/.antigravity/skills/ |
.antigravity/skills/ |
| Pi | ~/.pi/skills/ |
.pi/skills/ |
| Hermes | ~/.hermes/skills/ |
.hermes/skills/ |
Add custom providers in config.
Troubleshooting: shadowed installs
Multiple asm binaries on PATH can shadow a fresh upgrade.
Diagnose: asm --version warns about multiple binaries. Run asm doctor for a full report.
Fix: Remove the stale install with your package manager, then confirm with asm --version.
CLI Commands
| Command | Description |
| ------------------------------- | ------------------------------------ | ----------------------------------------- |
| asm list | List all discovered skills |
| asm search <query> | Search by name/description/provider |
| asm inspect <skill-name> | Show detailed info for a skill |
| asm install <source> | Install from GitHub or registry |
| asm publish [path] | Publish to ASM Registry |
| asm uninstall <skill-name> | Remove a skill |
| asm init <name> | Scaffold a new skill |
| asm link <path> [<path2> ...] | Symlink skills for live dev |
| asm audit | Detect duplicate skills |
| asm audit security <name> | Security audit |
| asm eval <skill> | Score skill quality |
| asm eval-providers list | List eval providers |
| asm stats | Aggregate installed skill metrics |
| asm stats repo <repo> | Per-repo indexed skill stats |
| asm stats author <owner> | Per-author indexed skill stats |
| asm stats index | Indexed catalog stats summary |
| asm activate <skill> | Link a library skill into a provider |
| asm deactivate <skill> | Remove a library activation symlink |
| asm library list | update | Manage centrally installed library skills |
| asm export | Export inventory as JSON |
| asm index ingest <repo> | Index a skill repo |
| asm index search <query> | Search indexed skills |
| asm index list | List indexed repos |
| asm index remove <owner/repo> | Remove repo from index |
| asm bundle list | List bundles (--predefined) |
| asm bundle install <name> | Install every skill in a bundle |
| asm bundle create <name> | Create bundle from installed skills |
| asm bundle show <name> | Show bundle details |
| asm bundle modify <name> | Add/remove skills |
| asm bundle export <name> | Export bundle to JSON |
| asm bundle remove <name> | Remove saved bundle |
| asm config show | Print config |
| asm config path | Print config path |
| asm config reset | Reset to defaults |
| asm config edit | Open config in $EDITOR |
-h, --help Show help
-v, --version Print version
--json JSON output
-s, --scope <scope> global, project, or both
--sort <field> name, version, or location
-y, --yes Skip confirmations
--no-color Disable ANSI colors
asm list --scope global --sort locationasm list --summaryasm list --compact --group-by tool --limit 20asm search "code review" --jsonasm audit --yesasm audit security github:user/repoasm audit security --allasm eval ./my-skillasm init my-skill -p claudeasm link ./my-skill -p claudeasm uninstall old-skill --yesasm index ingest github:anthropics/skillsasm index search "frontend design" --jsonBundles — pre-defined sets for common workflows. Browse at luongnv.com/asm/#/bundles:
asm bundle list --predefinedasm bundle install frontend-devasm bundle install ./my-bundle.jsonasm bundle create my-workflow
asm bundle export my-workflow ./my-workflow.jsoniOS/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.
Installing skills from GitHub
Single-skill repo:
asm install github:user/my-skillasm install github:user/my-skill#v1.0.0 -p claudeMulti-skill repo:
asm install github:user/skills --path skills/code-reviewasm install github:user/skills --all -p claude -ySubfolder URL:
asm install https://github.com/user/skills/tree/main/skills/agent-configasm install github:user/skills#main:skills/agent-configPrivate repos:
asm install github:user/private-skill --transport sshasm install github:user/private-skill -t autoVercel skills CLI:
asm install github:user/skills --method vercel --skill my-skill| Flag | Description |
|---|---|
-p, --tool <name> |
Target agent |
--name <name> |
Override directory name |
--path <subdir> |
Install from subdirectory |
--all |
Install all skills in repo |
-m, --method <method> |
default or vercel |
-t, --transport <mode> |
https, ssh, or auto |
--library |
Install into the local library |
-f, --force |
Overwrite existing |
-y, --yes |
Skip confirmation |
--json |
JSON output |
Multi-skill repos: scans up to 5 levels deep. Root SKILL.md installs by default; use --all for every skill. Requires git on PATH.
Optional TUI (run asm with no args)
Local browser for skills. The CLI above is the primary interface for agents and automation.
| Key | Action |
|---|---|
↑/↓ or j/k |
Navigate list |
Enter |
View details |
d |
Uninstall |
/ |
Search / filter |
Esc |
Back / clear |
Tab |
Cycle scope |
s |
Cycle sort |
r |
Refresh |
c |
Configuration |
a |
Audit duplicates |
q |
Quit |
? |
Help |
Configuration
On first run, config is created at ~/.config/agent-skill-manager/config.json:
{
"version": 1,
"providers": [
{
"name": "claude",
"label": "Claude Code",
"global": "~/.claude/skills",
"project": ".claude/skills",
"enabled": true
},
{
"name": "codex",
"label": "Codex",
"global": "~/.codex/skills",
"project": ".codex/skills",
"enabled": true
},
{
"name": "openclaw",
"label": "OpenClaw",
"global": "~/.openclaw/skills",
"project": ".openclaw/skills",
"enabled": true
},
{
"name": "agents",
"label": "Agents",
"global": "~/.agents/skills",
"project": ".agents/skills",
"enabled": true
},
{
"name": "cursor",
"label": "Cursor",
"global": "~/.cursor/rules",
"project": ".cursor/rules",
"enabled": false
},
{
"name": "windsurf",
"label": "Windsurf",
"global": "~/.windsurf/rules",
"project": ".windsurf/rules",
"enabled": false
},
{
"name": "cline",
"label": "Cline",
"global": "~/Documents/Cline/Rules",
"project": ".clinerules",
"enabled": false
},
{
"name": "roocode",
"label": "Roo Code",
"global": "~/.roo/rules",
"project": ".roo/rules",
"enabled": false
},
{
"name": "continue",
"label": "Continue",
"global": "~/.continue/rules",
"project": ".continue/rules",
"enabled": false
},
{
"name": "copilot",
"label": "GitHub Copilot",
"global": "~/.github/instructions",
"project": ".github/instructions",
"enabled": false
},
{
"name": "aider",
"label": "Aider",
"global": "~/.aider/skills",
"project": ".aider/skills",
"enabled": false
},
{
"name": "opencode",
"label": "OpenCode",
"global": "~/.config/opencode/skills",
"project": ".opencode/skills",
"enabled": false
},
{
"name": "zed",
"label": "Zed",
"global": "~/.config/zed/prompt_overrides",
"project": ".zed/rules",
"enabled": false
},
{
"name": "augment",
"label": "Augment",
"global": "~/.augment/rules",
"project": ".augment/rules",
"enabled": false
},
{
"name": "amp",
"label": "Amp",
"global": "~/.amp/skills",
"project": ".amp/skills",
"enabled": false
},
{
"name": "gemini",
"label": "Gemini CLI",
"global": "~/.gemini/skills",
"project": ".gemini/skills",
"enabled": false
},
{
"name": "antigravity",
"label": "Google Antigravity",
"global": "~/.antigravity/skills",
"project": ".antigravity/skills",
"enabled": false
}
],
"customPaths": [],
"preferences": {
"defaultScope": "both",
"defaultSort": "name"
}
}- Set
"enabled": trueto start scanning a provider - Add arbitrary directories via
customPaths - Set
"enabled": falseto skip a provider - Manage via
asm config show|path|reset|editor presscin the TUI
SKILL.md format
Every skill is a directory with a SKILL.md file — YAML frontmatter plus markdown instructions.
---
name: my-skill
description: "What this skill does"
license: "MIT"
compatibility: "Claude Code, Codex"
allowed-tools: Bash Read Grep Glob WebFetch
effort: medium
metadata:
version: 1.0.0
creator: "Your Name <you@example.com>"
---| Field | Required | Description |
|---|---|---|
name |
yes | Unique identifier |
description |
yes | One-line summary |
license |
no | SPDX identifier |
compatibility |
no | Compatible agents |
allowed-tools |
no | Tools the skill uses |
effort |
no | low, medium, high, max |
metadata.version |
no | Semver (default 0.0.0) |
metadata.creator |
no | Author |
asm init my-skillasm init my-skill -p claudeFrom source
git clone https://github.com/luongnv89/agent-skill-manager.git
cd agent-skill-manager
npm installnpm run buildnpm startInspect install script before running:
curl -sSL https://raw.githubusercontent.com/luongnv89/agent-skill-manager/main/install.sh -o install.sh
less install.sh
bash install.shProject structure
agent-skill-manager/
├── bin/ # CLI entry point
├── dist/ # Built bundle (npm ships this)
├── scripts/ # Build, preindex, catalog
├── src/
│ ├── index.tsx # TUI (ink)
│ ├── cli.ts # CLI dispatcher
│ ├── scanner.ts # Skill discovery
│ ├── installer.ts # GitHub install pipeline
│ └── views/ # TUI views
├── docs/ # Extended documentation
├── assets/ # Logos and screenshots
├── install.sh # curl installer
└── package.json
Tech stack
Documentation
| Document | Description |
|---|---|
| Architecture | System design and data flow |
| Eval Providers | Pluggable eval framework |
| Development | Local setup and debugging |
| Deployment | Publishing and CI |
| Changelog | Version history |
| Brand Kit | Logo, colors, typography |
| Contributing | How to contribute |
| Security | Vulnerability reporting |
| Code of Conduct | Community guidelines |
Landing page: luongnv.com/asm — catalog, bundles, author/repo stats, filtered search.
| Contributor | PRs |
|---|---|
| @luongnv89 | 38 merged PRs |
| @Mordris | #111 |
| Library | Description |
|---|---|
| ink | React renderer for the TUI |
| @inkjs/ui | Prebuilt ink components |
| react | UI for TUI and web catalog |
| react-dom | DOM renderer for catalog |
| react-window | List virtualization for catalog |
| yaml | SKILL.md frontmatter parser |
Project kanban · prd.md · tasks.md
See CONTRIBUTING.md.