skilldirs
v0.2.2
Published
The open agent skills ecosystem
Maintainers
Keywords
Readme
skills
The CLI for the open agent skills ecosystem.
Supports OpenCode, Claude Code, Codex, Cursor, and 50 more.
Install a Skill
npx skilldirs add RobinWM/ship-skillsSource Formats
# GitHub shorthand (owner/repo)
npx skilldirs add RobinWM/ship-skills
# Full GitHub URL
npx skilldirs add https://github.com/RobinWM/ship-skills
# Direct path to a skill in a repo
npx skilldirs add https://github.com/RobinWM/ship-skills/tree/main/skills/web-design-guidelines
# GitLab URL
npx skilldirs add https://gitlab.com/org/repo
# Any git URL
npx skilldirs add [email protected]:RobinWM/ship-skills.git
# Local path
npx skilldirs 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 skilldirs add RobinWM/ship-skills --list
# Install specific skills
npx skilldirs add RobinWM/ship-skills --skill frontend-design --skill skill-creator
# Install a skill with spaces in the name (must be quoted)
npx skilldirs add owner/repo --skill "Convex Best Practices"
# Install to specific agents
npx skilldirs add RobinWM/ship-skills -a claude-code -a opencode
# Non-interactive installation (CI/CD friendly)
npx skilldirs add RobinWM/ship-skills --skill frontend-design -g -a claude-code -y
# Install all skills from a repo to all agents
npx skilldirs add RobinWM/ship-skills --all
# Install all skills to specific agents
npx skilldirs add RobinWM/ship-skills --skill '*' -a claude-code
# Install specific skills to all agents
npx skilldirs add RobinWM/ship-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 skilldirs list | List installed skills (alias: ls) |
| npx skilldirs find [query] | Search for skills interactively or by keyword |
| npx skilldirs remove [skills] | Remove installed skills from agents |
| npx skilldirs update [skills] | Update installed skills to latest versions |
| npx skilldirs init [name] | Create a new SKILL.md template |
skilldirs list
List all installed skills. Similar to npm ls.
# List all installed skills (project and global)
npx skilldirs list
# List only global skills
npx skilldirs ls -g
# Filter by specific agents
npx skilldirs ls -a claude-code -a cursorskilldirs find
Search for skills interactively or by keyword.
# Interactive search (fzf-style)
npx skilldirs find
# Search by keyword
npx skilldirs find typescriptskilldirs update
# Update all skills (interactive scope prompt)
npx skilldirs update
# Update a single skill by name
npx skilldirs update my-skill
# Update multiple specific skills
npx skilldirs update frontend-design web-design-guidelines
# Update only global or project skills
npx skilldirs update -g
npx skilldirs update -p
# Non-interactive (auto-detects scope: project if in a project, else global)
npx skilldirs 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 |
skilldirs init
# Create SKILL.md in current directory
npx skilldirs init
# Create a new skill in a subdirectory
npx skilldirs init my-skillskilldirs remove
Remove installed skills from agents.
# Remove interactively (select from installed skills)
npx skilldirs remove
# Remove specific skill by name
npx skilldirs remove web-design-guidelines
# Remove multiple skills
npx skilldirs remove frontend-design web-design-guidelines
# Remove from global scope
npx skilldirs remove --global web-design-guidelines
# Remove from specific agents only
npx skilldirs remove --agent claude-code cursor my-skill
# Remove all installed skills without confirmation
npx skilldirs remove --all
# Remove all skills from a specific agent
npx skilldirs remove --skill '*' -a cursor
# Remove a specific skill from all agents
npx skilldirs remove my-skill --agent '*'
# Use 'rm' alias
npx skilldirs 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 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, Dexto, Warp | cline, dexto, 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 skilldirs add RobinWM/ship-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
