Aug 28, 2026

skills-manager: A Desktop App and CLI to Manage Agent Skills Across 53 Coding Tools

A 4.2k-star Tauri 2 desktop app with an accompanying CLI that unifies skill management across Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Hermes, and 46 more agents — with presets, workspaces, Git-based sync, and per-skill deploy targets.

#tutorial#skill-management#developer-tools#claude-code

Once you are using more than two or three coding agents at the same time, skill management fragments fast. Each agent has its own skills directory, its own install command, its own uninstall command, and its own idea of where to look for skills. xingkongliang/skills-manager is a cross-platform desktop app (Tauri 2 + React 19 + Rust + SQLite) plus an accompanying CLI that pulls 53 supported agents under one roof.

Why This Skill Matters

The app reads from a central library at ~/.skills-manager by default. Skills come in from Git, local directories, .zip/.skill archives, or the skills.sh marketplace. From there you choose which agent installs each skill — symlink or copy — and the app handles the per-agent directory layout (for example, ~/.claude/skills/ for Claude Code, Codex's global directory for Codex).

Beyond raw install/uninstall, the app ships a real workflow:

  • Presets (named groups of skills) that you activate or deactivate per agent scope in one click.
  • Global Workspace per agent plus an All Agents overview, plus Project Workspaces for project-local skills and Linked Workspaces for arbitrary skills roots excluded from preset sync.
  • Update tracking for Git-based skills, with in-app preview of SKILL.md and README.md, plus a diff against upstream.
  • Backup and multi-device sync via GitHub (device-flow auth) or any Git remote, with skill-aware merging and conflicts that never block (keep mine / use remote / keep both). Skills over 100 MB are excluded from backup automatically. Secrets and machine-specific config never leave the local machine.
  • Custom tools with configurable skill paths, so adding a new agent does not require a code change.
  • Activity log plus Export Logs zip for bug reports, plus Settings for theme, language, sync mode, proxy, and tray.

Supported agents (per the README): Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, OpenClaw, Hermes Agent, OpenHands, Cline, Goose, Windsurf, Continue, Grok, Antigravity, Qwen Code, ZCode, Crush, Kilo Code, Roo Code, Amp, Kiro CLI, Droid, TRAE IDE, Warp, Qoder, CodeBuddy, plus the ability to add custom agents. Stars 4.2k, forks 360, 534 commits on main, 168 open issues, 17 open PRs. License is MIT.

Installation

There are three install paths. Pick by environment.

Build from source (gives you both the desktop app and the CLI):

npm install
npm run tauri:dev        # development
npm run tauri:build      # release binary in src-tauri/target/release/bundle/

Install only the CLI on your PATH:

npm run cli:install
# equivalent to:
cargo install --path src-tauri --bin skills-manager-cli --locked --force

Download a standalone CLI binary from the Releases page if you do not want to build from source. Available for macOS arm64/x64, Windows x64, and Linux x64.

Prerequisites: Node.js 18+, Rust toolchain, and Tauri 2 prerequisites.

Real Workflow: Add a Skill to the Central Library and Deploy to Two Agents

You want one skill — say, the Vercel Labs agent-skills@react-best-practices — to be available in both Claude Code and Codex. The skill-manager splits this into two steps: install into the library, then deploy to specific agents.

Step 1. Install the skill into the central library:

npm run cli -- skills install vercel-labs/agent-skills@react-best-practices

The skill lands in ~/.skills-manager. Agent folders are untouched at this point.

Step 2. List available skills to get the reference identifier:

npm run cli -- skills list

Step 3. Deploy the skill to both Claude Code and Codex:

npm run cli -- skills deploy <ref> --agent claude_code --agent codex

The CLI creates the right symlinks (or copies, depending on your sync mode setting) in each agent's global skills directory.

Step 4. Verify by opening Claude Code and Codex and listing their installed skills — the new entry should appear in both.

Step 5. Repeat for any other agents you want to expose the skill to. The CLI keeps the library as the source of truth; each agent gets the deploy command independently.

Real Workflow: Use Presets to Switch a Stack of Skills Across Agents

You work across Claude Code and Cursor, and you keep a fixed stack of skills (style guide, testing conventions, project conventions) that should always be on in both. Presets turn this into a one-click action.

Step 1. In the desktop app, create a preset named "core-stack" and add the skills you want bundled.

Step 2. Apply the preset to your Claude Code workspace and your Cursor workspace. Each application copies the preset's skills into the agent's scope. Applying a preset is a one-time copy, not a live sync — if you change the preset later, you re-apply.

Step 3. For day-to-day use, this means switching between agents (say, from Claude Code to Cursor for a different task) is a one-click toggle of "core-stack" instead of installing skills manually per tool.

Step 4. For project-local overrides, use a Project Workspace: the skills in the project workspace are only active when Claude Code or Cursor opens that project. Combine global presets with project overrides for fine-grained control.

Step 5. To roll out the same preset to a colleague's machine, use the Backup & Sync feature with a GitHub or other Git backend. Skills over 100 MB are excluded; secrets and machine-specific config never sync.

Tips

  • Use the central library as the single source of truth — install once, deploy to as many agents as you want.
  • Pick symlink over copy for skills you will edit locally; the library stays the canonical version and your edits overlay.
  • Use Project Workspaces to scope skills per repository without polluting your global agent installs.
  • Use presets for stack management, not for one-off skill installs — presets are meant to be reusable.
  • Treat the activity log + Export Logs zip as your bug-report bundle if anything misbehaves.
  • Custom agents with configurable skill paths let you onboard a new tool without waiting for an upstream release.
  • macOS Gatekeeper blocks v1.28.5 and earlier; upgrade to v1.29.0 or later for notarized builds.

When Not to Use This

If you use only one coding agent, the per-agent directory layout is already enough — you do not need a unifying app. The skill-manager earns its weight when you have two or more agents and want a single source of truth for skills. If your skills come entirely from one project (AGENTS.md-driven) and you never need cross-agent sharing, skip the app.


See the leaderboard for more skill managers.