skillsync-cli
v0.1.0
Published
Install AI agent skills once, use them in any project, across any provider.
Downloads
3
Readme
skill-sync
Install AI agent skills once, use them in any project, across any provider.
The Problem
When using AI coding assistants like Cursor, Claude, or OpenCode, each expects skills in different directories. Without skill-sync:
- You copy the same skills into every project
- Skills get out of sync across projects
- Updating means manually updating each copy
- Disk space wasted on duplicate files
The Solution
skill-sync downloads skills once to a global store and creates symlinks to your projects. One copy, used everywhere, updated in one place.
Install
npm install -g skillsync-cliQuick Start
cd my-project
sks init # Create .skillsync.yaml
sks install vercel-labs/agent-skills # Download skill + link to providersIn another project that needs the same skill:
cd another-project
sks init
sks install # Select from global store (no download)Commands
| Command | Description |
| ---------------------- | ----------------------------------------------------------------- |
| sks init | Create .skillsync.yaml config file in the current project |
| sks install <source> | Download skill via npx add-skill and link to selected providers |
| sks install | Browse skills already in global store and link to providers |
| sks update | Re-fetch all configured skills from their sources |
| sks update <skill> | Re-fetch a specific skill |
| sks sync | Recreate all symlinks (useful after cloning a repo) |
| sks list | Show configured skills and their symlink status |
How It Works
~/.skillsync/skills/ ← Global store (skills downloaded here)
├── react-best-practices/
└── typescript-patterns/
project-a/
├── .skillsync.yaml ← Tracks skills + providers for this project
├── .cursor/skills/react-best-practices → symlink to global store
└── .opencode/skill/react-best-practices → symlink to global store
project-b/
├── .skillsync.yaml
└── .claude/skills/react-best-practices → symlink to global storeBoth projects share the same skill files. Run sks update once, and all projects get the latest version automatically.
Supported Providers
| Provider | Skills Directory |
| ----------- | ----------------- |
| Cursor | .cursor/skills |
| OpenCode | .opencode/skill |
| Claude | .claude/skills |
| Codex | .codex/skills |
| Amp | .agents/skills |
| Antigravity | .agent/skills |
Config File
Each project has a .skillsync.yaml that tracks its skills:
skills:
- name: react-best-practices
source: vercel-labs/agent-skills
providers:
- cursor
- opencode
- name: auth-patterns
source: better-auth/skills
providers:
- cursor
- claudeCommit this file so teammates can run sks sync to set up their environment.
Workflow
First time setup:
sks init
sks install vercel-labs/agent-skills
# → Downloads to ~/.skillsync/skills/
# → Prompts: select providers
# → Creates symlinksNew project, same skills:
sks init
sks install
# → Shows skills in global store
# → Select what you need
# → No download, just symlinksKeep skills updated:
sks update
# → Re-runs add-skill for each source
# → All projects automatically updated via symlinksClone a repo with .skillsync.yaml:
git clone repo && cd repo
sks sync
# → Creates symlinks based on config