
Security News
/Research
Popular node-ipc npm Package Infected with Credential Stealer
Socket detected malicious node-ipc versions with obfuscated stealer/backdoor behavior in a developing npm supply chain attack.
agent-skill-manager
Advanced tools
Interactive TUI for managing installed skills for AI coding agents (Claude Code, Codex, OpenClaw, and more)
Stop juggling skill directories across Claude Code, Codex, Cursor, Windsurf, and 10+ other AI agents.
agent-skill-manager (asm) gives you a single TUI and CLI to install, search, audit, and organize all your agent skills ā everywhere.
Get Started in 30 Seconds ā Ā Ā |Ā Ā Browse 2,800+ Skills Online ā
Don't want to install anything yet? Explore the full skill catalog online ā
Search, filter by category or repo, and copy install commands ā all from a single page. No signup, no backend, no tracking. Share filtered views via URL (e.g. ?q=code-review&cat=development).
You use Claude Code at work, Codex for side projects, and OpenClaw for experiments. Each tool keeps skills in its own hidden directory with its own conventions. Here's what that looks like in practice:
~/.claude/skills/, ~/.codex/skills/, ~/.openclaw/skills/, project-level .claude/skills/... you have the same skill installed three times and can't remember which version is whereThe more AI agents you use, the worse this gets. Every new tool adds another skill directory to babysit.
asm brings order to the chaosagent-skill-manager is a single command that manages skills across every AI coding agent you use. One TUI. One CLI. Every agent.
ls-ing through hidden directories.asm install github:user/repo handles cloning, validation, and placement. Supports single-skill repos, multi-skill collections, subfolder URLs, and private repos via SSH.asm init, symlink them for live development with asm link, audit for security issues, verify metadata, and publish to the ASM Registry with a single command. See the full local dev workflow ā--json for scripting and automation.
asm stats ā totals, disk usage, and per-provider breakdown at a glance
asm ā one command via npm or curlasm ā it auto-discovers skills across all configured agent directoriesStart Managing Your Skills ā
asm search code-review ā finds installed skills and suggests new ones from indexed repos
asm isn't just for consuming skills ā it's the complete toolkit for creating, developing, auditing, and testing skills locally before you share them.
Interactive mode ā pick a target tool:
asm init my-skill
Scaffold directly into Claude Code:
asm init my-skill -p claude
Scaffold in a custom directory:
asm init my-skill --path ./skills
This creates a my-skill/SKILL.md with valid YAML frontmatter and a markdown template ready to fill in.
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.
# Link into Claude Code
asm link ./my-skill -p claude
# Link into Codex
asm link ./my-skill -p codex
# Interactive ā pick the tool from a prompt
asm link ./my-skill
Pass several paths in a single command to link them all in one step:
asm link ./skill-a ./skill-b ./skill-c -p claude
You can also point at a folder that contains multiple skills (each in its own subdirectory with a SKILL.md):
# Link every skill found inside ./my-skills-folder
asm link ./my-skills-folder -p claude
asm link ./my-skill --name my-alias -p claude
asm link ./my-skill -p claude --force
Edit the source files ā changes are reflected immediately in the agent. This is the fastest iteration loop for skill development.
Audit an installed skill by name:
asm audit security my-skill
Audit a local directory:
asm audit security ./path/to/my-skill
Audit every installed skill:
asm audit security --all
The security scanner flags dangerous patterns ā shell execution, network access, credential exposure, obfuscation, and external URLs ā so you can catch problems before users install your skill.
Check name, version, description, file count:
asm inspect my-skill
Machine-readable output for CI:
asm inspect my-skill --json
Once your skill is on GitHub, verify that end users can install it cleanly.
Install your own skill as a user would:
asm install github:you/awesome-skill
Install to a specific tool:
asm install github:you/awesome-skill -p claude
Install a specific skill from a multi-skill repo:
asm install github:you/skills --path skills/awesome-skill
Force reinstall to test upgrades:
asm install github:you/awesome-skill --force
Non-interactive install (useful for CI):
asm install github:you/awesome-skill -p claude --yes --json
This catches issues that local development misses ā broken repo structure, missing files, invalid frontmatter in a clean install context.
Once your skill is ready and on GitHub, submit it to the ASM Registry so anyone can install it by name:
asm publish ./my-skill
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:
# Anyone can install it by name ā no URL needed
asm install my-skill
Preview what the manifest will look like before submitting:
asm publish --dry-run ./my-skill
Override security warnings (caution: review findings first):
asm publish --force ./my-skill
Skip confirmation in CI:
asm publish --yes ./my-skill
Requires:
ghCLI authenticated withgh auth login. The publish command usesghto fork the registry, create a branch, write the manifest, and open the PR ā all without leaving your terminal.
asm init awesome-skill -p claudeSKILL.mdasm link ./awesome-skill -p claudeasm audit security awesome-skillasm inspect awesome-skillasm eval ./awesome-skillasm install github:you/awesome-skillasm publish ./awesome-skillWhether 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.
Skills indexed by asm are automatically evaluated against a set of verification criteria. Skills that pass all criteria receive a verified badge in the catalog and "verified": true in the index JSON. Skills that fail any criterion are still indexed but marked as unverified.
A skill must satisfy all four of the following to be verified:
Valid frontmatter -- The SKILL.md file must contain YAML frontmatter with both a name and a description field. Empty or whitespace-only values fail this check.
Meaningful body content -- The markdown body (everything after the frontmatter block) must contain at least 20 characters of instruction text. A SKILL.md that is only frontmatter with no real guidance for the agent will fail.
No malicious patterns -- The full SKILL.md content is scanned for dangerous code patterns:
atob() calls (runtime base64 decoding / obfuscation)\xNN escapes)API_KEY, SECRET_KEY, or PASSWORD assignments)Proper structure -- The skill directory must exist and contain a SKILL.md file that the ingestion pipeline can read.
You can verify your skill before publishing:
# Index your repo -- verification runs automatically during ingestion
asm index ingest github:your-user/your-repo
# Check the output JSON for the verified field
asm index search "your-skill" --json
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.
asm eval)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.
# Score the skill and print recommendations
asm eval ./my-skill
# CI-friendly machine-readable output
asm eval ./my-skill --machine
# Apply deterministic auto-fixes to SKILL.md
asm eval ./my-skill --fix
# List registered eval providers
asm eval-providers list
The eval surface is a pluggable provider framework: each provider implements a common EvalProvider contract and resolves via semver range. See docs/eval-providers.md for the provider model.
The 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.
# Install by bare name (searches the registry)
asm install code-review
# Install by scoped name (author/skill ā always unambiguous)
asm install luongnv89/code-review
# Force a fresh registry fetch (bypasses the 1-hour cache)
asm install code-review --no-cache
asm install resolves the name against the registry index, downloads the manifest, clones the exact pinned commit, and installs the skill to your agent.
asm publish ./my-skill
The publish pipeline:
SKILL.md frontmatter (name, description, version)skill_path for multi-skill reposgh CLIThe 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.
| Flag | Description |
|---|---|
--dry-run | Preview the manifest without creating a PR |
--force | Override warning-level security findings |
--yes | Skip the confirmation prompt |
--machine | Output as a machine-readable JSON envelope |
When you run asm install code-review:
asm fetches the registry index (cached for 1 hour at ~/.config/agent-skill-manager/registry-cache.json)code-review ā including the pinned commit and skill_pathasm install github:author/repo#commit:skill_pathIf multiple authors publish a skill with the same name, asm shows a disambiguation prompt. Use a scoped name (author/skill) to skip it.
npm install -g agent-skill-manager
Runs on Node.js ā„ 18 for both the CLI and the interactive TUI. No other runtime required.
curl -sSL https://raw.githubusercontent.com/luongnv89/agent-skill-manager/main/install.sh | bash
This installs agent-skill-manager globally. Then just run:
asm
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.
Diagnose: asm --version detects and warns when it sees multiple asm binaries on PATH. For a full report, run asm doctor ā it lists the resolved path and any shadowed installs.
Fix: remove the stale install with your package manager, then re-run asm --version to confirm only one binary is left.
A curated list of skill repositories you can install with a single command. Over 2,800 skills available across these collections:
Last updated: 2026-03-28
| Repository | Description | Stars | Skills |
|---|---|---|---|
| anthropic-skills | Official Agent Skills from Anthropic | 95,957 | 18 |
| superpowers | Agentic skills framework & development methodology | 89,816 | 14 |
| everything-claude-code | Performance optimization system for Claude Code, Codex, and beyond | 81,392 | 183 |
| agency-agents | Specialized expert agents with personality and proven deliverables | 50,749 | ā |
| ui-ux-pro-max-skill | Design intelligence for building professional UI/UX | 43,112 | 7 |
| antigravity-awesome-skills | 1,000+ battle-tested skills for Claude Code, Cursor, and more | 25,047 | 1,322 |
| marketingskills | Marketing skills ā CRO, copywriting, SEO, analytics, growth | 14,099 | 33 |
| agentskills | Specification and documentation for Agent Skills | 13,342 | ā |
| claude-skills | 192 skills for engineering, marketing, product, compliance, C-level | 7,434 | 451 |
| taste-skill | Gives your AI good taste ā stops generic, boring output | 3,389 | 7 |
| affiliate-skills | Full affiliate marketing funnel: research to deploy | 99 | 48 |
| skills | Reusable skills to supercharge your AI agents | 1 | 35 |
Install any collection with an interactive picker:
asm install github:anthropics/skills
Or install everything at once:
asm install github:anthropics/skills --all
asm inspect oss-ready ā version, creator, and every tool installation at once
asm ships with 18 built-in providers, all enabled by default. Disable any you don't need via asm config edit.
| Tool | Global Path | Project Path | Default |
|---|---|---|---|
| Claude Code | ~/.claude/skills/ | .claude/skills/ | enabled |
| Codex | ~/.codex/skills/ | .codex/skills/ | enabled |
| OpenClaw | ~/.openclaw/skills/ | .openclaw/skills/ | enabled |
| Agents (generic) | ~/.agents/skills/ | .agents/skills/ | enabled |
| Cursor | ~/.cursor/rules/ | .cursor/rules/ | enabled |
| Windsurf | ~/.windsurf/rules/ | .windsurf/rules/ | enabled |
| Cline | ~/Documents/Cline/Rules/ | .clinerules/ | enabled |
| Roo Code | ~/.roo/rules/ | .roo/rules/ | enabled |
| Continue | ~/.continue/rules/ | .continue/rules/ | enabled |
| GitHub Copilot | ~/.github/instructions/ | .github/instructions/ | enabled |
| Aider | ~/.aider/skills/ | .aider/skills/ | enabled |
| OpenCode | ~/.config/opencode/skills/ | .opencode/skills/ | enabled |
| Zed | ~/.config/zed/prompt_overrides/ | .zed/rules/ | enabled |
| Augment | ~/.augment/rules/ | .augment/rules/ | enabled |
| Amp | ~/.amp/skills/ | .amp/skills/ | enabled |
| Gemini CLI | ~/.gemini/skills/ | .gemini/skills/ | enabled |
| Google Antigravity | ~/.antigravity/skills/ | .antigravity/skills/ | enabled |
| Hermes | ~/.hermes/skills/ | .hermes/skills/ | enabled |
Disable a provider ā opens config in $EDITOR, set "enabled": false for any provider:
asm config edit
Need a tool not listed? Add a custom provider entry to the config.
Is it free?
Yes. asm is MIT licensed and free forever. No accounts, no telemetry, no paywalls.
Is it actively maintained? v2.6.2 shipped on May 7, 2026. The project has had 41 releases. Check the changelog for the full history.
Which AI agents does it support?
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.
How does it compare to managing skills manually?
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.
asm audit ā finds duplicate groups and tells you exactly which to keep
Can I use it with private repos?
Yes. Use --transport ssh or --transport auto to clone private repos via SSH.
Is it safe to install skills from GitHub?
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.
asm audit security oss-ready ā flags external URLs, shell execution, and credential access
What's the SKILL.md format?
Every skill is a directory containing a SKILL.md file with YAML frontmatter (name, description, version) followed by markdown instructions the AI agent loads at runtime. Run asm init my-skill to scaffold one.
You're already using AI agents. You're already installing skills. The only question is whether you keep doing it manually ā or let asm handle it.
MIT licensed. Free forever. One install command.
Install agent-skill-manager ā
asm
| 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 a skill from GitHub or the registry |
asm publish [path] | Publish a skill to the ASM Registry |
asm uninstall <skill-name> | Remove a skill (with confirmation) |
asm init <name> | Scaffold a new skill with SKILL.md template |
asm link <path> [<path2> ...] | Symlink one or more local skills for live development |
asm audit | Detect duplicate skills |
asm audit security <name> | Run security audit on a skill |
asm eval <skill> | Score a skill and print improvement suggestions |
asm eval-providers list | List registered eval providers and versions |
asm stats | Show aggregate skill metrics dashboard |
asm export | Export skill inventory as JSON manifest |
asm index ingest <repo> | Index a skill repo for searching |
asm index search <query> | Search indexed skills |
asm index list | List indexed repositories |
asm index remove <owner/repo> | Remove a repo from the index |
asm config show | Print current config |
asm config path | Print config file path |
asm config reset | Reset config to defaults |
asm config edit | Open config in $EDITOR |
-h, --help Show help for any command
-v, --version Print version and exit
--json Output as JSON (list, search, inspect, audit)
-s, --scope <scope> Filter: global, project, or both (default: both)
--sort <field> Sort by: name, version, or location (default: name)
-y, --yes Skip confirmation prompts
--no-color Disable ANSI colors
List all global skills sorted by provider location:
asm list --scope global --sort location
When you have many skills installed, asm list offers condensed views:
asm list --summary # counts by tool/scope/effort only
asm list --compact # one line per skill
asm list --group-by tool # group rows under tool headers
asm list --limit 20 # show only the first 20 rows
Search for skills and output JSON:
asm search "code review" --json
Inspect a specific skill:
asm inspect my-skill
Remove duplicates automatically:
asm audit --yes
Security audit a skill before installing:
asm audit security github:user/repo
Audit all installed skills:
asm audit security --all
Score a skill with the static quality provider:
asm eval ./my-skill
List registered eval providers:
asm eval-providers list
Scaffold a skill, link it for live testing, audit, and inspect:
asm init my-skill -p claude
# Link globally (available in all projects)
asm link ./my-skill -p claude
# Link multiple skills at once
asm link ./skill-a ./skill-b -p claude
asm audit security my-skill
asm inspect my-skill --json
Uninstall without confirmation:
asm uninstall old-skill --yes
Index a skill repo and search it:
asm index ingest github:anthropics/skills
asm index search "frontend design" --json
Install skills directly from GitHub repositories ā supports both single-skill repos and multi-skill collections.
Single-skill repo (SKILL.md at root):
asm install github:user/my-skill
asm install github:user/my-skill#v1.0.0 -p claude
Multi-skill repo (skills in subdirectories):
asm install github:user/skills --path skills/code-review
asm install github:user/skills --all -p claude -y
Interactive picker:
asm install github:user/skills
Subfolder URL (auto-detects branch and path):
asm install https://github.com/user/skills/tree/main/skills/agent-config
asm install github:user/skills#main:skills/agent-config
Private repos (SSH transport):
asm install github:user/private-skill --transport ssh
Try HTTPS, fallback to SSH:
asm install github:user/private-skill -t auto
Vercel skills CLI (delegates to npx skills add, then registers in asm):
asm install github:user/skills --method vercel --skill my-skill
asm install https://github.com/user/skills -m vercel --skill my-skill -y
Other options:
asm install github:user/my-skill --name custom-name
asm install github:user/my-skill --force
asm install github:user/my-skill -p claude --yes --json
Source format: github:owner/repo[#branch-or-tag] or github:owner/repo#ref:path for subfolder installs. HTTPS GitHub URLs with /tree/ paths are also supported ā the branch and subfolder are auto-detected.
Install flags:
| Flag | Description |
|---|---|
-p, --tool <name> | Target tool (claude, codex, cursor, windsurf, etc.) |
--name <name> | Override skill directory name |
--path <subdir> | Install a specific skill from a subdirectory |
--all | Install all skills found in the repo |
-m, --method <method> | Install method: default or vercel (default: default) |
--skill <name> | Alias for --path (Vercel skills CLI compatibility) |
-t, --transport <mode> | Transport: https, ssh, or auto (default: auto) |
-f, --force | Overwrite if skill already exists |
-y, --yes | Skip confirmation prompt |
--json | Output result as JSON |
Multi-skill repo support: When a repo doesn't have SKILL.md at the root, asm automatically scans for skills in subdirectories (up to 5 levels deep). In interactive mode, it presents a numbered picker. Use --path to target a specific skill or --all to batch-install everything.
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.
| Key | Action |
|---|---|
ā/ā or j/k | Navigate skill list |
Enter | View skill details |
d | Uninstall selected skill |
/ | Search / filter skills |
Esc | Back / clear filter / close dialog |
Tab | Cycle scope: Global ā Project ā Both |
s | Cycle sort: Name ā Version ā Location |
r | Refresh / rescan skills |
c | Open configuration |
a | Audit duplicates |
q | Quit |
? | Toggle help overlay |
On first run, a config file is created at ~/.config/agent-skill-manager/config.json with 18 default providers, all enabled:
{
"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"
}
}
"enabled": true to start scanning a providercustomPaths"enabled": false to skip scanning a providerManage config from the CLI (asm config show|path|reset|edit) or toggle providers in the TUI by pressing c.
Every skill is a directory containing a SKILL.md file. The file starts with a YAML frontmatter block followed by markdown instructions that the AI agent loads at runtime.
---
name: my-skill
description: "A short description of 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 skill identifier (used in list/search) |
description | yes | One-line summary shown in listings |
license | no | SPDX license identifier (e.g., MIT, Apache-2.0) |
compatibility | no | Comma-separated list of compatible AI agents |
allowed-tools | no | Space or comma-delimited tool names the skill uses |
effort | no | Effort level: low, medium, high, or max |
metadata.version | no | Semver version string (defaults to 0.0.0) |
metadata.creator | no | Author name and optional email |
Version resolution:
asmprefersmetadata.versionover a top-levelversionfield. If neither is present, the version defaults to0.0.0. Both formats are supported for backward compatibility.
The markdown body after the frontmatter is loaded by the AI agent as the skill's instructions. A typical structure:
# my-skill
Describe what this skill does here.
## When to Use
- Trigger conditions for this skill
## Instructions
- Step-by-step instructions for the agent
Creates my-skill/SKILL.md in the default provider:
asm init my-skill
Creates in Claude Code's skill directory:
asm init my-skill -p claude
git clone https://github.com/luongnv89/agent-skill-manager.git
cd agent-skill-manager
npm install
Bundle to dist/:
npm run build
Run from source (development):
npm start
Download and inspect the 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.sh
agent-skill-manager/
āāā bin/ # CLI entry point (source)
ā āāā agent-skill-manager.ts
āāā dist/ # Built bundle (npm package ships this)
ā āāā agent-skill-manager.js
āāā scripts/
ā āāā build.ts # Build script with version injection
āāā src/
ā āāā index.tsx # TUI app bootstrap & keyboard handling (ink)
ā āāā cli.ts # CLI command parser & dispatcher
ā āāā config.ts # Config loading & saving
ā āāā scanner.ts # Skill directory scanning & filtering
ā āāā auditor.ts # Duplicate detection & reporting
ā āāā installer.ts # GitHub skill installation pipeline
ā āāā uninstaller.ts # Safe skill removal logic
ā āāā formatter.ts # Output formatting (tables, detail, JSON)
ā āāā utils/
ā ā āāā types.ts # Shared TypeScript types
ā ā āāā colors.ts # TUI color palette
ā ā āāā version.ts # Version constant
ā ā āāā frontmatter.ts # SKILL.md frontmatter parser
ā ā āāā editor.ts # $EDITOR command parser
ā āāā views/
ā āāā dashboard.tsx # Main dashboard layout
ā āāā skill-list.tsx # Scrollable skill list
ā āāā skill-detail.tsx # Skill detail view
ā āāā confirm.tsx # Uninstall confirmation dialog
ā āāā duplicates.tsx # Duplicate audit view
ā āāā config.tsx # In-TUI config editor
ā āāā help.tsx # Help view
āāā docs/ # Extended documentation
ā āāā ARCHITECTURE.md # System design & data flow
ā āāā DEVELOPMENT.md # Local setup & debugging
ā āāā DEPLOYMENT.md # Publishing & CI pipeline
ā āāā CHANGELOG.md # Version history
ā āāā brand_kit.md # Logo, colors, typography
āāā assets/
ā āāā logo/ # SVG logos (full, mark, wordmark, icon, favicon)
ā āāā screenshots/ # TUI screenshots
āāā install.sh # One-command installer (curl | bash)
āāā package.json
āāā tsconfig.json
āāā README.md
| Document | Description |
|---|---|
| Architecture | System design, components, and data flow |
| Eval Providers | Pluggable eval framework and how to add a provider |
| Development | Local setup, testing, and debugging |
| Deployment | Publishing and CI pipeline |
| Changelog | Version history |
| Brand Kit | Logo, colors, and typography |
| Contributing | How to contribute |
| Security | Vulnerability reporting |
| Code of Conduct | Community guidelines |
| Contributor | PRs |
|---|---|
| @luongnv89 | 38 merged PRs |
| @Mordris | #111 |
| Library | Description |
|---|---|
| @opentui/core | TypeScript library on a native Zig core for building terminal user interfaces ā powers the asm TUI |
| yaml | JavaScript parser and stringifier for YAML ā used to parse SKILL.md frontmatter |
Track our progress and upcoming features on the project kanban board. See prd.md for the full product requirements and tasks.md for the sprint-based development plan.
Contributions are welcome! See CONTRIBUTING.md for guidelines.
MIT ā free to use, modify, and distribute. See the LICENSE file for details.
FAQs
Interactive TUI for managing installed skills for AI coding agents (Claude Code, Codex, OpenClaw, and more)
We found that agent-skill-manager demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Ā It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Research
Socket detected malicious node-ipc versions with obfuscated stealer/backdoor behavior in a developing npm supply chain attack.

Security News
TeamPCP and BreachForums are promoting a Shai-Hulud supply chain attack contest with a $1,000 prize for the biggest package compromise.

Security News
Packagist urges PHP projects to update Composer after a GitHub token format change exposed some GitHub Actions tokens in CI logs.