xkills
v1.5.2
Published
Personal npm-distributed fork of the skills CLI with link support
Maintainers
Keywords
Readme
xkills
Personal npm-distributed fork of the skills CLI with the experimental link command included.
This package is not the official skills npm package. It tracks the open agent skills CLI and is published as xkills
so it can be installed and tested independently while the upstream link command is under review.
Supports OpenCode, Claude Code, Codex, Cursor, and 49 more.
Install a Skill
npx xkills add vercel-labs/agent-skillsSource Formats
# GitHub shorthand (owner/repo)
npx xkills add vercel-labs/agent-skills
# Full GitHub URL
npx xkills add https://github.com/vercel-labs/agent-skills
# Direct path to a skill in a repo
npx xkills add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
# GitLab URL
npx xkills add https://gitlab.com/org/repo
# Any git URL
npx xkills add [email protected]:vercel-labs/agent-skills.git
# Local path
npx xkills add ./my-local-skillsOptions
| Option | Description |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| -g, --global | Install to user directory instead of project |
| -a, --agent <agents...> | Target specific agents (e.g., claude-code, codex). See Supported Agents |
| -s, --skill <skills...> | Install specific skills by name (use '*' for all skills) |
| -l, --list | List available skills without 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 xkills add vercel-labs/agent-skills --list
# Install specific skills
npx xkills add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
# Install a skill with spaces in the name (must be quoted)
npx xkills add owner/repo --skill "Convex Best Practices"
# Install to specific agents
npx xkills add vercel-labs/agent-skills -a claude-code -a opencode
# Non-interactive installation (CI/CD friendly)
npx xkills add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y
# Install all skills from a repo to all agents
npx xkills add vercel-labs/agent-skills --all
# Install all skills to specific agents
npx xkills add vercel-labs/agent-skills --skill '*' -a claude-code
# Install specific skills to all agents
npx xkills add vercel-labs/agent-skills --agent '*' --skill frontend-designInstallation 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 xkills link [skills] | Link installed global skills to agents |
| npx xkills list | List installed skills (alias: ls) |
| npx xkills find [query] | Search for skills interactively or by keyword |
| npx xkills remove [skills] | Remove installed skills from agents |
| npx xkills update [skills] | Update installed skills to latest versions |
| npx xkills init [name] | Create a new SKILL.md template |
xkills list
List all installed skills. Similar to npm ls.
# List all installed skills (project and global)
npx xkills list
# List only global skills
npx xkills ls -g
# Filter by specific agents
npx xkills ls -a claude-code -a cursorxkills find
Search for skills interactively or by keyword.
# Interactive search (fzf-style)
npx xkills find
# Search by keyword
npx xkills find typescriptxkills update
# Update all skills (interactive scope prompt)
npx xkills update
# Update a single skill by name
npx xkills update my-skill
# Update multiple specific skills
npx xkills update frontend-design web-design-guidelines
# Update only global or project skills
npx xkills update -g
npx xkills update -p
# Non-interactive (auto-detects scope: project if in a project, else global)
npx xkills 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 |
xkills init
# Create SKILL.md in current directory
npx xkills init
# Create a new skill in a subdirectory
npx xkills init my-skillxkills remove
Remove installed skills from agents.
# Remove interactively (select from installed skills)
npx xkills remove
# Remove specific skill by name
npx xkills remove web-design-guidelines
# Remove multiple skills
npx xkills remove frontend-design web-design-guidelines
# Remove from global scope
npx xkills remove --global web-design-guidelines
# Remove from specific agents only
npx xkills remove --agent claude-code cursor my-skill
# Remove all installed skills without confirmation
npx xkills remove --all
# Remove all skills from a specific agent
npx xkills remove --skill '*' -a cursor
# Remove a specific skill from all agents
npx xkills remove my-skill --agent '*'
# Use 'rm' alias
npx xkills 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 |
xkills link
Link already-installed global skills to one or more agents.
# Interactively search and select from installed global skills
npx xkills link
# Link one global skill to a specific agent
npx xkills link pr-review -a claude-code
# Link multiple global skills
npx xkills link pr-review sql-safety -a claude-code -a cursor
# Link all installed global skills without confirmation
npx xkills link --all -a claude-code -y| Option | Description |
| ------------- | --------------------------------------- |
| -a, --agent | Link to specific agents |
| -s, --skill | Specify installed global skills to link |
| -y, --yes | Skip confirmation prompts |
| --all | Link all installed global skills |
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 at skills.sh
Supported Agents
Skills can be installed to any of these agents:
| Agent | --agent | Project Path | Global Path |
| ------------------------------------- | ---------------------------------------- | ------------------------ | ------------------------------- |
| AiderDesk | aider-desk | .aider-desk/skills/ | ~/.aider-desk/skills/ |
| 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/ |
| CodeArts Agent | codearts-agent | .codeartsdoer/skills/ | ~/.codeartsdoer/skills/ |
| CodeBuddy | codebuddy | .codebuddy/skills/ | ~/.codebuddy/skills/ |
| Codemaker | codemaker | .codemaker/skills/ | ~/.codemaker/skills/ |
| Code Studio | codestudio | .codestudio/skills/ | ~/.codestudio/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/ |
| Devin for Terminal | devin | .devin/skills/ | ~/.config/devin/skills/ |
| Droid | droid | .factory/skills/ | ~/.factory/skills/ |
| Firebender | firebender | .agents/skills/ | ~/.firebender/skills/ |
| ForgeCode | forgecode | .forge/skills/ | ~/.forge/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/ |
| Rovo Dev | rovodev | .rovodev/skills/ | ~/.rovodev/skills/ |
| Roo Code | roo | .roo/skills/ | ~/.roo/skills/ |
| Tabnine CLI | tabnine-cli | .tabnine/agent/skills/ | ~/.tabnine/agent/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: The default agent automatically loads skills from
.kiro/skills/and~/.kiro/skills/— no configuration needed. If you use a custom agent, add skills to itsresourcesin.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 thatRequired Fields
name: Unique identifier (lowercase, hyphens allowed)description: Brief explanation of what the skill does
Optional Fields
metadata.internal: Set totrueto hide the skill from normal discovery. Internal skills are only visible and installable whenINSTALL_INTERNAL_SKILLS=1is 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/.aider-desk/skills/.agents/skills/.augment/skills/.bob/skills/.claude/skills/.codeartsdoer/skills/.codebuddy/skills/.codemaker/skills/.codestudio/skills/.commandcode/skills/.continue/skills/.cortex/skills/.crush/skills/.devin/skills/.factory/skills/.forge/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/.rovodev/skills/.roo/skills/.tabnine/agent/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 | Yes | 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.mdfrontmatter is valid YAML
Permission errors
Ensure you have write access to the target directory.
Environment Variables
| Variable | Description |
| ------------------------- | -------------------------------------------------------------------------- |
| 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 xkills add vercel-labs/agent-skills --listTelemetry
This CLI collects anonymous usage data to help improve the tool. No personal information is collected.
Telemetry is automatically disabled in CI environments.
Related Links
- Agent Skills Specification
- Skills Directory
- Amp Skills Documentation
- Antigravity Skills Documentation
- Factory AI / Droid Skills Documentation
- Claude Code Skills Documentation
- OpenClaw Skills Documentation
- Cline Skills Documentation
- CodeBuddy Skills Documentation
- Codex Skills Documentation
- Command Code Skills Documentation
- Crush Skills Documentation
- Cursor Skills Documentation
- Firebender Skills Documentation
- Gemini CLI Skills Documentation
- GitHub Copilot Agent Skills
- iFlow CLI Skills Documentation
- Kimi Code CLI Skills Documentation
- Kiro CLI Skills Documentation
- Kode Skills Documentation
- OpenCode Skills Documentation
- Qwen Code Skills Documentation
- OpenHands Skills Documentation
- Pi Skills Documentation
- Qoder Skills Documentation
- Replit Skills Documentation
- Roo Code Skills Documentation
- Trae Skills Documentation
- Vercel Agent Skills Repository
License
MIT
