swarmskills
v0.2.0
Published
CLI and MCP server for managing skills across ~45 code CLI agents — Claude Code, Cursor, Codex, Goose, Gemini CLI, OpenCode, GitHub Copilot, Windsurf, OpenHands, Qwen Code, and more. List, search, install, enable, disable, and sync skills across tools.
Maintainers
Readme
swarmskills
A CLI and MCP server for managing skills across ~45 code CLI agents.
- Multi-agent: Claude Code, Cursor, Codex, Goose, Gemini CLI, OpenCode, GitHub Copilot, Windsurf, OpenHands, Qwen Code, Cline, Continue, Crush, iFlow, Junie, Kiro, Kode, Roo Code, Kilo Code, Antigravity, Amp, Droid, Firebender, Replit, Warp, Augment, Bob, CodeBuddy, Command Code, Cortex Code, Deep Agents, Kimi, MCPJam, Mistral Vibe, OpenClaw, TRAE, TRAE CN, Mux, Neovate, Pi, Pochi, Qoder, Zencoder, AdaL, Hermes — plus user-defined custom tools.
- CLI: list, show, search, sync skills across tools; manage Claude Code plugins and marketplaces.
- MCP server: 18 tools that let Claude (or any MCP client) discover, install, enable, and sync skills mid-session.
All agents use the same SKILL.md + YAML-frontmatter format; swarmskills knows where each one looks for them.
Install
npm install -g swarmskillsRequires Node.js 20+.
CLI usage
Multi-agent
# See every supported tool and which ones are detected on this machine
swarmskills tools list
swarmskills tools list --detected
swarmskills tools detect cursor
# List skills for a specific tool
swarmskills list --tool=cursor
swarmskills list --tool=goose
# List skills across every detected tool
swarmskills list --skills --all-tools
# Search across every detected tool
swarmskills search "test driven" --tool=all
# Show a skill's content from a non-Claude tool
swarmskills show my-skill --tool=cursor
# Register a custom tool
swarmskills tools add-custom myagent /abs/path/to/skills --name "My Agent"
swarmskills tools remove-custom myagentSync skills across tools
# Mirror a skill from Claude Code into Cursor + Goose (symlink by default)
swarmskills sync my-skill --from claude-code --to cursor,goose
# Mirror every skill from one tool to another
swarmskills sync --all --from claude-code --to cursor
# Force overwrite, copy instead of symlinking
swarmskills sync my-skill --from claude-code --to cursor --copy --forceClaude Code plugins (Claude-only)
swarmskills list # plugins + skills for Claude Code
swarmskills enable superpowers@claude-plugins-official
swarmskills disable superpowers@claude-plugins-official
swarmskills install superpowers@claude-plugins-official
swarmskills marketplace list
swarmskills marketplace add my-marketplace owner/repo
swarmskills marketplace refresh claude-plugins-officialMCP server usage
Add to your MCP config (~/.claude.json or project .mcp.json or any other MCP-aware client):
{
"mcpServers": {
"swarmskills": {
"command": "npx",
"args": ["-y", "swarmskills-mcp"]
}
}
}The server exposes 18 tools:
| Tool | Purpose |
|------|---------|
| list_skills | Enumerate skills for a tool, or across all detected tools |
| show_skill | Read a skill's full SKILL.md |
| search_skills | Fuzzy-search skills, plugins, and marketplace catalogs |
| list_tools | Registry of supported CLI agents with detected/installed flags |
| detect_tool | Probe a single tool key |
| add_custom_tool / remove_custom_tool | Register/unregister user-defined CLI agents |
| sync_skill | Symlink/copy a skill from one tool to others |
| list_plugins | List installed Claude Code plugins |
| enable_plugin / disable_plugin | Toggle a Claude Code plugin |
| install_plugin / uninstall_plugin | Manage Claude Code plugins |
| list_marketplaces | List Claude Code marketplaces |
| list_marketplace_catalog | Show plugins offered by a marketplace |
| add_marketplace / remove_marketplace | Manage Claude Code marketplaces |
| refresh_marketplace | git pull a marketplace clone |
Restart caveat: Most CLI agents read their skill state at session start. Mutating tools (
enable,install,sync) returnrequiresRestart: true— restart the affected agent for changes to take effect.
For HTTP transport instead of stdio:
swarmskills-mcp-http --port 4100Supported tools (built-in)
| Key | Display name | Default skills dir |
|-----|--------------|--------------------|
| claude-code | Claude Code | ~/.claude/skills (+ plugin cache) |
| cursor | Cursor | ~/.cursor/skills |
| codex | Codex | ~/.codex/skills |
| goose | Goose | ~/.config/goose/skills |
| gemini-cli | Gemini CLI | ~/.gemini/skills |
| github-copilot | GitHub Copilot | ~/.copilot/skills |
| windsurf | Windsurf | ~/.codeium/windsurf/skills |
| opencode | OpenCode | ~/.config/opencode/skills |
| openhands | OpenHands | ~/.openhands/skills |
| qwen-code | Qwen Code | ~/.qwen/skills |
| cline | Cline | ~/.agents/skills |
| continue | Continue | ~/.continue/skills |
| crush | Crush | ~/.config/crush/skills |
| iflow | iFlow CLI | ~/.iflow/skills |
| junie | Junie | ~/.junie/skills |
| kiro | Kiro CLI | ~/.kiro/skills |
| kode | Kode | ~/.kode/skills |
| roo-code | Roo Code | ~/.roo/skills |
| kilo-code | Kilo Code | ~/.kilocode/skills |
| antigravity | Antigravity | ~/.gemini/antigravity/skills |
| amp | Amp | ~/.config/agents/skills |
| droid | Droid | ~/.factory/skills |
| firebender | Firebender | ~/.firebender/skills |
| replit | Replit | ~/.config/agents/skills |
| warp | Warp | ~/.agents/skills |
| augment | Augment | ~/.augment/skills |
| bob | IBM Bob | ~/.bob/skills |
| codebuddy | CodeBuddy | ~/.codebuddy/skills |
| command-code | Command Code | ~/.commandcode/skills |
| cortex | Cortex Code | ~/.snowflake/cortex/skills |
| deepagents | Deep Agents | ~/.deepagents/agent/skills |
| kimi | Kimi Code CLI | ~/.config/agents/skills |
| mcpjam | MCPJam | ~/.mcpjam/skills |
| mistral-vibe | Mistral Vibe | ~/.vibe/skills |
| mux | Mux | ~/.mux/skills |
| neovate | Neovate | ~/.neovate/skills |
| openclaw | OpenClaw | ~/.openclaw/skills |
| pi | Pi | ~/.pi/agent/skills |
| pochi | Pochi | ~/.pochi/skills |
| qoder | Qoder | ~/.qoder/skills |
| trae | TRAE IDE | ~/.trae/skills |
| trae-cn | TRAE CN | ~/.trae-cn/skills |
| zencoder | Zencoder | ~/.zencoder/skills |
| adal | AdaL | ~/.adal/skills |
| hermes | Hermes Agent | ~/.hermes/skills (recursive) |
Path list cribbed from xingkongliang/skills-manager — credit where due.
.config/... paths also honour XDG_CONFIG_HOME when set. Need a tool that's not on this list? swarmskills tools add-custom <key> <skillsDir>.
How it works
For each tool, swarmskills resolves the on-disk skills directory and parses the YAML frontmatter from each SKILL.md. Claude Code additionally has plugin-bundled skills under ~/.claude/plugins/cache/<marketplace>/<plugin>/skills/, surfaced via the same list_skills API.
State managed:
~/.claude/skills/— Claude Code standalone skills~/.claude/plugins/installed_plugins.json— Claude plugin registry~/.claude/plugins/known_marketplaces.json— Claude marketplace registry~/.claude/settings.jsonenabledPlugins— Claude per-plugin enabled flags~/.config/swarmskills/config.json— swarmskills's own config (custom tools, defaults)
All writes are atomic (write to .tmp then rename).
To run against a non-default home for testing:
SWARMSKILLS_HOME=/path/to/fake-home swarmskills tools listDevelopment
pnpm install
pnpm test
pnpm buildLicense
MIT © SwarmClaw AI
