Skip to content

chaitin/bzskills

 
 

Repository files navigation

bzskills

The Skills Hub CLI for installing and updating agent skills.

This project is based on the source repository vercel-labs/skills.

Supports OpenCode, Claude Code, Codex, Cursor, and 41 more.

Install a Skill

npx bzskills add baizhicloud/foo --skill my-skill

Source Formats

# Skills Hub shorthand (owner/repo)
npx bzskills add baizhicloud/foo

# Install a single Hub skill with shorthand filtering
npx bzskills add baizhicloud/foo@my-skill

# Use a custom Skills Hub
SKILLS_HUB_URL=https://hub.example.com npx bzskills add alice/repo --skill react-skill

# Force-refresh a Hub package before installing
npx bzskills add alice/repo --force

# Explicit GitHub shorthand (owner/repo)
npx bzskills add github:vercel-labs/agent-skills

# Full GitHub URL
npx bzskills add https://github.com/vercel-labs/agent-skills

# Direct path to a skill in a repo
npx bzskills add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines

# GitLab URL
npx bzskills add https://gitlab.com/org/repo

# Any git URL
npx bzskills add git@github.com:vercel-labs/agent-skills.git

# Local path
npx bzskills add ./my-local-skills

Options

Option Description
-g, --global Install to user directory instead of project
-a, --agent <agents...> Target specific agents (e.g., claude-code, codex). See Available Agents
-s, --skill <skills...> Install specific skills by name (use '*' for all skills)
-l, --list List available skills without installing
-f, --force Force-refresh Hub-backed package metadata before installing
--copy Copy files instead of symlinking to agent directories
-y, --yes Skip all confirmation prompts
--all Install all skills to all agents without prompts

Examples

# List skills in a repository
npx bzskills add baizhicloud/foo --list

# Install specific skills
npx bzskills add baizhicloud/foo --skill frontend-design --skill skill-creator

# Install a skill with spaces in the name (must be quoted)
npx bzskills add owner/repo --skill "Convex Best Practices"

# Install to specific agents
npx bzskills add baizhicloud/foo -a claude-code -a opencode

# Non-interactive installation (CI/CD friendly)
npx bzskills add baizhicloud/foo --skill frontend-design -g -a claude-code -y

# Install all skills from a repo to all agents
npx bzskills add baizhicloud/foo --all

# Install all skills to specific agents
npx bzskills add baizhicloud/foo --skill '*' -a claude-code

# Install specific skills to all agents
npx bzskills add baizhicloud/foo --agent '*' --skill frontend-design

Installation Scope

Scope Flag Location Use Case
Project (default) ./<agent>/skills/ Committed with your project, shared with team
Global -g ~/<agent>/skills/ Available across all projects

Installation Methods

When installing interactively, you can choose:

Method Description
Symlink (Recommended) Creates symlinks from each agent to a canonical copy. Single source of truth, easy updates.
Copy Creates independent copies for each agent. Use when symlinks aren't supported.

Other Commands

Command Description
npx bzskills list List installed skills (alias: ls)
npx bzskills find [query] Search for skills interactively or by keyword
npx bzskills remove [skills] Remove installed skills from agents
npx bzskills update [skills] Update installed skills to latest versions
npx bzskills init [name] Create a new SKILL.md template

bzskills list

List all installed skills. Similar to npm ls.

# List all installed skills (project and global)
npx bzskills list

# List only global skills
npx bzskills ls -g

# Filter by specific agents
npx bzskills ls -a claude-code -a cursor

bzskills find

Search for skills interactively or by keyword.

# Interactive search (fzf-style)
npx bzskills find

# Search by keyword
npx bzskills find typescript

bzskills update

# Update all skills (interactive scope prompt)
npx bzskills update

# Update a single skill by name
npx bzskills update my-skill

# Update multiple specific skills
npx bzskills update frontend-design web-design-guidelines

# Update only global or project skills
npx bzskills update -g
npx bzskills update -p

# Non-interactive (auto-detects scope: project if in a project, else global)
npx bzskills update -y
Option Description
-g, --global Only update global skills
-p, --project Only update project skills
-y, --yes Skip scope prompt (auto-detect: project if in a project dir, else global)
[skills...] Update specific skills by name instead of all

bzskills init

# Create SKILL.md in current directory
npx bzskills init

# Create a new skill in a subdirectory
npx bzskills init my-skill

bzskills remove

Remove installed skills from agents.

# Remove interactively (select from installed skills)
npx bzskills remove

# Remove specific skill by name
npx bzskills remove web-design-guidelines

# Remove multiple skills
npx bzskills remove frontend-design web-design-guidelines

# Remove from global scope
npx bzskills remove --global web-design-guidelines

# Remove from specific agents only
npx bzskills remove --agent claude-code cursor my-skill

# Remove all installed skills without confirmation
npx bzskills remove --all

# Remove all skills from a specific agent
npx bzskills remove --skill '*' -a cursor

# Remove a specific skill from all agents
npx bzskills remove my-skill --agent '*'

# Use 'rm' alias
npx bzskills rm my-skill
Option Description
-g, --global Remove from global scope (~/) instead of project
-a, --agent Remove from specific agents (use '*' for all)
-s, --skill Specify skills to remove (use '*' for all)
-y, --yes Skip confirmation prompts
--all Shorthand for --skill '*' --agent '*' -y

What are Agent Skills?

Agent skills are reusable instruction sets that extend your coding agent's capabilities. They're defined in SKILL.md files with YAML frontmatter containing a name and description.

Skills let agents perform specialized tasks like:

  • Generating release notes from git history
  • Creating PRs following your team's conventions
  • Integrating with external tools (Linear, Notion, etc.)

Discover skills through your configured Skills Hub.

Supported Agents

Skills can be installed to any of these agents:

Agent --agent Project Path Global Path
Amp, Kimi Code CLI, Replit, Universal amp, kimi-cli, replit, universal .agents/skills/ ~/.config/agents/skills/
Antigravity antigravity .agents/skills/ ~/.gemini/antigravity/skills/
Augment augment .augment/skills/ ~/.augment/skills/
IBM Bob bob .bob/skills/ ~/.bob/skills/
Claude Code claude-code .claude/skills/ ~/.claude/skills/
OpenClaw openclaw skills/ ~/.openclaw/skills/
Cline, Warp cline, warp .agents/skills/ ~/.agents/skills/
CodeBuddy codebuddy .codebuddy/skills/ ~/.codebuddy/skills/
Codex codex .agents/skills/ ~/.codex/skills/
Command Code command-code .commandcode/skills/ ~/.commandcode/skills/
Continue continue .continue/skills/ ~/.continue/skills/
Cortex Code cortex .cortex/skills/ ~/.snowflake/cortex/skills/
Crush crush .crush/skills/ ~/.config/crush/skills/
Cursor cursor .agents/skills/ ~/.cursor/skills/
Deep Agents deepagents .agents/skills/ ~/.deepagents/agent/skills/
Droid droid .factory/skills/ ~/.factory/skills/
Firebender firebender .agents/skills/ ~/.firebender/skills/
Gemini CLI gemini-cli .agents/skills/ ~/.gemini/skills/
GitHub Copilot github-copilot .agents/skills/ ~/.copilot/skills/
Goose goose .goose/skills/ ~/.config/goose/skills/
Junie junie .junie/skills/ ~/.junie/skills/
iFlow CLI iflow-cli .iflow/skills/ ~/.iflow/skills/
Kilo Code kilo .kilocode/skills/ ~/.kilocode/skills/
Kiro CLI kiro-cli .kiro/skills/ ~/.kiro/skills/
Kode kode .kode/skills/ ~/.kode/skills/
MCPJam mcpjam .mcpjam/skills/ ~/.mcpjam/skills/
Mistral Vibe mistral-vibe .vibe/skills/ ~/.vibe/skills/
Mux mux .mux/skills/ ~/.mux/skills/
OpenCode opencode .agents/skills/ ~/.config/opencode/skills/
OpenHands openhands .openhands/skills/ ~/.openhands/skills/
Pi pi .pi/skills/ ~/.pi/agent/skills/
Qoder qoder .qoder/skills/ ~/.qoder/skills/
Qwen Code qwen-code .qwen/skills/ ~/.qwen/skills/
Roo Code roo .roo/skills/ ~/.roo/skills/
Trae trae .trae/skills/ ~/.trae/skills/
Trae CN trae-cn .trae/skills/ ~/.trae-cn/skills/
Windsurf windsurf .windsurf/skills/ ~/.codeium/windsurf/skills/
Zencoder zencoder .zencoder/skills/ ~/.zencoder/skills/
Neovate neovate .neovate/skills/ ~/.neovate/skills/
Pochi pochi .pochi/skills/ ~/.pochi/skills/
AdaL adal .adal/skills/ ~/.adal/skills/

Note

Kiro CLI users: After installing skills, manually add them to your custom agent's resources in .kiro/agents/<agent>.json:

{
  "resources": ["skill://.kiro/skills/**/SKILL.md"]
}

The CLI automatically detects which coding agents you have installed. If none are detected, you'll be prompted to select which agents to install to.

Creating Skills

Skills are directories containing a SKILL.md file with YAML frontmatter:

---
name: my-skill
description: What this skill does and when to use it
---

# My Skill

Instructions for the agent to follow when this skill is activated.

## When to Use

Describe the scenarios where this skill should be used.

## Steps

1. First, do this
2. Then, do that

Required Fields

  • name: Unique identifier (lowercase, hyphens allowed)
  • description: Brief explanation of what the skill does

Optional Fields

  • metadata.internal: Set to true to hide the skill from normal discovery. Internal skills are only visible and installable when INSTALL_INTERNAL_SKILLS=1 is set. Useful for work-in-progress skills or skills meant only for internal tooling.
---
name: my-internal-skill
description: An internal skill not shown by default
metadata:
  internal: true
---

Skill Discovery

The CLI searches for skills in these locations within a repository:

  • Root directory (if it contains SKILL.md)
  • skills/
  • skills/.curated/
  • skills/.experimental/
  • skills/.system/
  • .agents/skills/
  • .augment/skills/
  • .bob/skills/
  • .claude/skills/
  • ./skills/
  • .codebuddy/skills/
  • .commandcode/skills/
  • .continue/skills/
  • .cortex/skills/
  • .crush/skills/
  • .factory/skills/
  • .goose/skills/
  • .junie/skills/
  • .iflow/skills/
  • .kilocode/skills/
  • .kiro/skills/
  • .kode/skills/
  • .mcpjam/skills/
  • .vibe/skills/
  • .mux/skills/
  • .openhands/skills/
  • .pi/skills/
  • .qoder/skills/
  • .qwen/skills/
  • .roo/skills/
  • .trae/skills/
  • .windsurf/skills/
  • .zencoder/skills/
  • .neovate/skills/
  • .pochi/skills/
  • .adal/skills/

Plugin Manifest Discovery

If .claude-plugin/marketplace.json or .claude-plugin/plugin.json exists, skills declared in those files are also discovered:

// .claude-plugin/marketplace.json
{
  "metadata": { "pluginRoot": "./plugins" },
  "plugins": [
    {
      "name": "my-plugin",
      "source": "my-plugin",
      "skills": ["./skills/review", "./skills/test"]
    }
  ]
}

This enables compatibility with the Claude Code plugin marketplace ecosystem.

If no skills are found in standard locations, a recursive search is performed.

Compatibility

Skills are generally compatible across agents since they follow a shared Agent Skills specification. However, some features may be agent-specific:

Feature OpenCode OpenHands Claude Code Cline CodeBuddy Codex Command Code Kiro CLI Cursor Antigravity Roo Code Github Copilot Amp OpenClaw Neovate Pi Qoder Zencoder
Basic skills Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
allowed-tools Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes No
context: fork No No Yes No No No No No No No No No No No No No No No
Hooks No No Yes Yes No No No No No No No No No No No No No No

Troubleshooting

"No skills found"

Ensure the repository contains valid SKILL.md files with both name and description in the frontmatter.

Skill not loading in agent

  • Verify the skill was installed to the correct path
  • Check the agent's documentation for skill loading requirements
  • Ensure the SKILL.md frontmatter is valid YAML

Permission errors

Ensure you have write access to the target directory.

Environment Variables

Variable Description
SKILLS_HUB_URL Override the default Skills Hub used for bare owner/repo sources
SKILLS_API_URL Override the Hub search API used by bzskills find
INSTALL_INTERNAL_SKILLS Set to 1 or true to show and install skills marked as internal: true
DISABLE_TELEMETRY Set to disable anonymous usage telemetry
DO_NOT_TRACK Alternative way to disable telemetry
# Install internal skills
INSTALL_INTERNAL_SKILLS=1 npx bzskills add baizhicloud/foo --list

# Use a non-default Hub
SKILLS_HUB_URL=https://hub.example.com npx bzskills add alice/repo@react-skill

Install Reports

Legacy anonymous telemetry and audit lookups are disabled. When SKILLS_HUB_URL points to a non-default Hub, successful Hub installs report anonymized install metadata back to that Hub's /openapi/install-reports endpoint so the Hub can cache and rank installed skills.

Related Links

License

MIT

About

The open agent skills tool - npx bzskills

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 90.8%
  • JavaScript 9.2%