A cross-platform desktop app (Tauri + React) to manage Agent Skills in one place and sync them to multiple AI coding tools’ global or project-level skills directories (prefer symlink/junction, fallback to copy) — “Install once, sync everywhere”.
Update: Refresh from source; propagate updates to copy-mode targets
New tool detection: Detect newly installed tools and prompt to sync managed skills
My Skills
Explore & Search
Manual Add
Skill Detail
Supported AI Coding Tools
Project skills dirs are relative to the selected project root. Tools marked N/A do not have a confirmed project-level skills directory and are supported for global sync only.
tool key
Display name
global skills dir (relative to ~)
project skills dir (relative to project)
detected if exists (relative to ~)
cursor
Cursor
.cursor/skills
.agents/skills
.cursor
claude_code
Claude Code
.claude/skills
.claude/skills
.claude
codex
Codex
.codex/skills
.agents/skills
.codex
opencode
OpenCode
.config/opencode/skills
.agents/skills
.config/opencode
antigravity
Antigravity
.gemini/antigravity/skills
.agents/skills
.gemini/antigravity
amp
Amp
.config/agents/skills
.agents/skills
.config/agents
kimi_cli
Kimi Code CLI
.config/agents/skills
.agents/skills
.config/agents
augment
Augment
.augment/skills
.augment/skills
.augment
openclaw
OpenClaw
.openclaw/skills
skills
.openclaw
copaw
Copaw
.copaw/skill_pool
.copaw/skill_pool
.copaw
cline
Cline
.agents/skills
.agents/skills
.agents
codebuddy
CodeBuddy
.codebuddy/skills
.codebuddy/skills
.codebuddy
command_code
Command Code
.commandcode/skills
.commandcode/skills
.commandcode
continue
Continue
.continue/skills
.continue/skills
.continue
crush
Crush
.config/crush/skills
.crush/skills
.config/crush
junie
Junie
.junie/skills
.junie/skills
.junie
iflow_cli
iFlow CLI
.iflow/skills
.iflow/skills
.iflow
kiro_cli
Kiro CLI
.kiro/skills
.kiro/skills
.kiro
kode
Kode
.kode/skills
.kode/skills
.kode
mcpjam
MCPJam
.mcpjam/skills
.mcpjam/skills
.mcpjam
mistral_vibe
Mistral Vibe
.vibe/skills
.vibe/skills
.vibe
mux
Mux
.mux/skills
.mux/skills
.mux
openclaude
OpenClaude IDE
.openclaude/skills
.openclaude/skills
.openclaude
openhands
OpenHands
.openhands/skills
.openhands/skills
.openhands
pi
Pi
.pi/agent/skills
.pi/skills
.pi
qoder
Qoder
.qoder/skills
.qoder/skills
.qoder
qoderwork
QoderWork
.qoderwork/skills
.qoderwork/skills
.qoderwork
qwen_code
Qwen Code
.qwen/skills
.qwen/skills
.qwen
trae
Trae
.trae/skills
.trae/skills
.trae
trae_cn
Trae CN
.trae-cn/skills
.trae/skills
.trae-cn
zencoder
Zencoder
.zencoder/skills
.zencoder/skills
.zencoder
neovate
Neovate
.neovate/skills
.neovate/skills
.neovate
pochi
Pochi
.pochi/skills
.pochi/skills
.pochi
adal
AdaL
.adal/skills
.adal/skills
.adal
kilo_code
Kilo Code
.kilocode/skills
.kilocode/skills
.kilocode
roo_code
Roo Code
.roo/skills
.roo/skills
.roo
goose
Goose
.config/goose/skills
.goose/skills
.config/goose
gemini_cli
Gemini CLI
.gemini/skills
.agents/skills
.gemini
github_copilot
GitHub Copilot
.copilot/skills
.agents/skills
.copilot
clawdbot
Clawdbot
.clawdbot/skills
.clawdbot/skills
.clawdbot
droid
Droid
.factory/skills
.factory/skills
.factory
windsurf
Windsurf
.codeium/windsurf/skills
.windsurf/skills
.codeium/windsurf
moltbot
MoltBot
.moltbot/skills
.moltbot/skills
.moltbot
hermes_agent
Hermes Agent
.hermes/skills
N/A
.hermes
Development
Prerequisites
Node.js 18+ (recommended: 20+)
Rust (stable)
Tauri system dependencies (follow Tauri official docs for your OS)
npm install
npm run tauri:dev
Build
npm run lint
npm run build
npm run tauri:build
Platform build commands (from package.json)
macOS (dmg): npm run tauri:build:mac:dmg
macOS (universal dmg): npm run tauri:build:mac:universal:dmg
Windows (MSI): npm run tauri:build:win:msi
Windows (NSIS exe): npm run tauri:build:win:exe
Windows (MSI+NSIS): npm run tauri:build:win:all
Linux (deb): npm run tauri:build:linux:deb
Linux (AppImage): npm run tauri:build:linux:appimage
Linux (deb+AppImage): npm run tauri:build:linux:all
Where are skills stored? The Central Repo defaults to ~/.skillshub (configurable in Settings).
What is project-level sync? The skill is still stored once in the Central Repo, but its sync target is a selected project directory such as <project>/.agents/skills, <project>/.claude/skills, or another tool-specific project skills path.
Why is Cursor sync always copy? Cursor currently does not support symlink/junction-based skill directories, so Skills Hub forces directory copy when syncing to Cursor.
Why does sync sometimes fall back to copy? Skills Hub prefers symlink/junction, but on some systems (especially Windows) symlinks may be restricted; in that case it falls back to directory copy.
What does TARGET_EXISTS|... mean? The target folder already exists and the operation did not overwrite it (default is non-destructive). Remove the existing folder or retry with the appropriate overwrite flow.
macOS Gatekeeper note (unsigned/notarized builds, may vary by macOS version): if you see “damaged” or “unverified developer”, run xattr -cr "/Applications/Skills Hub.app" (https://v2.tauri.app/distribute/#macos).
Supported Platforms
macOS (verified)
Windows (expected by design; not validated locally)
<<<<<<< HEAD
Skills Hub (Tauri Desktop)
A cross-platform desktop app (Tauri + React) to manage Agent Skills in one place and sync them to multiple AI coding tools’ global or project-level skills directories (prefer symlink/junction, fallback to copy) — “Install once, sync everywhere”.
Documentation
README.md(this file)docs/README.zh.mdKey Features
.claude/skills/directory support)My Skills
Explore & Search
Manual Add
Skill Detail
Supported AI Coding Tools
Project skills dirs are relative to the selected project root. Tools marked
N/Ado not have a confirmed project-level skills directory and are supported for global sync only.~)~)cursor.cursor/skills.agents/skills.cursorclaude_code.claude/skills.claude/skills.claudecodex.codex/skills.agents/skills.codexopencode.config/opencode/skills.agents/skills.config/opencodeantigravity.gemini/antigravity/skills.agents/skills.gemini/antigravityamp.config/agents/skills.agents/skills.config/agentskimi_cli.config/agents/skills.agents/skills.config/agentsaugment.augment/skills.augment/skills.augmentopenclaw.openclaw/skillsskills.openclawcopaw.copaw/skill_pool.copaw/skill_pool.copawcline.agents/skills.agents/skills.agentscodebuddy.codebuddy/skills.codebuddy/skills.codebuddycommand_code.commandcode/skills.commandcode/skills.commandcodecontinue.continue/skills.continue/skills.continuecrush.config/crush/skills.crush/skills.config/crushjunie.junie/skills.junie/skills.junieiflow_cli.iflow/skills.iflow/skills.iflowkiro_cli.kiro/skills.kiro/skills.kirokode.kode/skills.kode/skills.kodemcpjam.mcpjam/skills.mcpjam/skills.mcpjammistral_vibe.vibe/skills.vibe/skills.vibemux.mux/skills.mux/skills.muxopenclaude.openclaude/skills.openclaude/skills.openclaudeopenhands.openhands/skills.openhands/skills.openhandspi.pi/agent/skills.pi/skills.piqoder.qoder/skills.qoder/skills.qoderqoderwork.qoderwork/skills.qoderwork/skills.qoderworkqwen_code.qwen/skills.qwen/skills.qwentrae.trae/skills.trae/skills.traetrae_cn.trae-cn/skills.trae/skills.trae-cnzencoder.zencoder/skills.zencoder/skills.zencoderneovate.neovate/skills.neovate/skills.neovatepochi.pochi/skills.pochi/skills.pochiadal.adal/skills.adal/skills.adalkilo_code.kilocode/skills.kilocode/skills.kilocoderoo_code.roo/skills.roo/skills.roogoose.config/goose/skills.goose/skills.config/goosegemini_cli.gemini/skills.agents/skills.geminigithub_copilot.copilot/skills.agents/skills.copilotclawdbot.clawdbot/skills.clawdbot/skills.clawdbotdroid.factory/skills.factory/skills.factorywindsurf.codeium/windsurf/skills.windsurf/skills.codeium/windsurfmoltbot.moltbot/skills.moltbot/skills.moltbothermes_agent.hermes/skills.hermesDevelopment
Prerequisites
Build
Platform build commands (from
package.json)npm run tauri:build:mac:dmgnpm run tauri:build:mac:universal:dmgnpm run tauri:build:win:msinpm run tauri:build:win:exenpm run tauri:build:win:allnpm run tauri:build:linux:debnpm run tauri:build:linux:appimagenpm run tauri:build:linux:allTests (Rust)
Contributing & Security
CONTRIBUTING.mdCODE_OF_CONDUCT.mdSECURITY.mdFAQ / Notes
~/.skillshub(configurable in Settings).<project>/.agents/skills,<project>/.claude/skills, or another tool-specific project skills path.TARGET_EXISTS|...mean? The target folder already exists and the operation did not overwrite it (default is non-destructive). Remove the existing folder or retry with the appropriate overwrite flow.xattr -cr "/Applications/Skills Hub.app"(https://v2.tauri.app/distribute/#macos).Supported Platforms
License
MIT License — see
LICENSE.skill-hub